私は与えられた文字列中の母音を見つけて消去するC++プログラムを持っています。唯一の問題は、それはうまく動作せず、理由を見つけることができません。私は2つの関数を使う必要があります。すべての母音を削除し、もう1つは、母音か母音かを判断して、すべてがループで動作するようにします。私はそれが前に働いて、今それが適切に実行し、すべての母音を消去されませんでした母音を読み込んでそれらを消去するプログラムは正しく実行されません。
#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);
}
:
は、これは私のコードです。 提案やヒントは素晴らしいです! ありがとうございます!
デバッガでコードをステップ実行します。 –
これは、デバッガに慣れ親しむ良い機会になります。問題は、コードをステップ実行するときにははっきりしているはずです。 –
上記の2つに加えて、これをif文ではなく、if文にする必要があります。もう一度試してみたら、これを行うためのより簡単な方法をあなたに教えてあげます...しかし、あなたが正直ではあなたが遠く離れていないので、あなたがもう少し試してみてください:) – Afflicted