0
我寫了一些代碼將任何字符串轉換爲莫爾斯電碼。代碼工作完美,直到我嘗試自動重複它。自動重複代碼
無論我使用「while」還是「do while」,代碼只運行一次,然後終止。 你能幫忙找出問題所在嗎?
int main()
{
cout<<"Enter the string: ";
char myStr[81];
char ch='y';
while (ch=='Y'||ch=='y')
{
getString(myStr);
toUpper(myStr,strlen(myStr));
removeSpace(myStr);
getMorse(myStr,strlen(myStr));
cout<<"to repeat press Y/y";
cin>>ch;
}
return 0;
}
用戶進入輸入後,我加入的getString()函數
void getString(char myStr[])
{
cin.getline(myStr,81,'\n');
}
你有沒有真正嘗試調試和單步執行代碼和/或打印出中間值? – 2013-04-07 05:57:58
可能存在剩餘輸入,但您可能會注意到它在循環結束時跳過輸入語句。 – chris 2013-04-07 05:58:07
需要查看'getString'的代碼,正如chris所說,可能會遺留輸入。 – john 2013-04-07 05:59:43