Программа C ++ Pangram

Я сделал программу на С ++, чтобы проверить, содержит ли предложение все буквы алфавита. Но каждый раз, когда я запускаю его, это показывает, что это панграмма. Можете ли вы помочь мне найти, где проблема?

#include <iostream>
using namespace std;

void pangram() // The function to find if pangram or not.
{
int c;
char alphabet[26]; // 26 is all the letters in the alphabet
for (c = 0; c < 26; c++) { // Checks all the letters
cin >> alphabet[c];
if ((alphabet[c] >= 97 && alphabet[c] <= 122) || ((alphabet[c] >= 65 && alphabet[c] <= 91))) { // alphabet[i] compares to range of characters a - z in ASCII TABLE
cout << "pangram" << endl;
break; // If its pangram, the program stops here.
}
else { // It continues if it's not pangram.
cout << "Not pangram" << endl;
break;
}
}
}int main() // Main body just to call the pangram function.
{
pangram();
return 0;
}

-1

Решение

Возможно, вы захотите реструктурировать свой код в нечто похожее, как показано ниже

#include <iostream>
#include <cstring>
using namespace std;

void pangram() // The function to find if pangram or not.
{
int c;
char alphabet[26]; // 26 is all the letters in the alphabet
char sentence[1000];

memset(alphabet, 0, 26);

std::cout << "Enter sentence : ";
std::cin.getline (sentence,1000);

int len = strlen(sentence);

for(int i=0; i<len; i++)
{
/* get the character from sentence[i] */
/* update alphabet[character] = 1; */
}

bool flag = false;
for(int i=0; i<26; i++)
if(alphabet[i] == 0)
{
flag = true;
break;
}

if(flag == false)
cout << "Given sentence has all the characters.";
}int main() // Main body just to call the pangram function.
{
pangram();
return 0;
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]