J'ai un programme C++ qui trouve et efface toutes les voyelles dans une chaîne de caractères. Le seul problème est, ça ne marche pas et je ne peux pas trouver la raison. Je dois utiliser 2 fonctions qui supprime toutes les voyelles et une autre qui détermine si un caractère est une voyelle et tout cela devrait fonctionner dans une boucle.Le programme qui lit les voyelles et les efface ne fonctionnera pas correctement
Ceci est mon code:
#include <iostream>
#include <string>
using namespace std;
bool isA_Vowel(string s);
string remov(string s);
int main()
{
string s;
string ans = "y";
while((ans == "Y") || (ans == "y"))
{
cout << "Please enter a word or a series of letters: ";
cin >> s;
cout << "Old: " << s << endl;
cout << "New: " << remov(s) << endl;
cout << "Would you like to go again? <y/n> ";
cin >> ans;
}
}
bool isA_Vowel (string s)
{
if (s == "a" || s == "e"|| s == "i" || s == "o" || s == "u" || s == "A"
|| s == "E" || s == "I" || s == "O" || s == "U")
{
return (true);
}
else
{
return (false);
}
}
string remov(string s)
{
for (unsigned int i = 0; i < s.length(); ++i)
{
if (isA_Vowel(s))
{
s.erase(i,1);
}
}
return(s);
}
je l'avais avant de travailler, mais maintenant il ne fonctionnera pas correctement et effacer toutes les voyelles. Toutes les suggestions ou conseils seraient géniaux! Merci d'avance!
Parcourez votre code avec le débogueur. –
Maintenant, ce serait une excellente occasion de vous familiariser avec un débogueur. Le problème devrait être assez évident lorsque vous parcourez le code. –
Ajoutant à ce que les deux ci-dessus m'a dit que vous devriez en faire un cas et non une déclaration if. Si vous faites une autre tentative, je vais vous montrer une meilleure façon de le faire ...Mais seulement si vous essayez un peu plus car en toute honnêteté vous n'êtes pas loin :) – Afflicted