gpt4 book ai didi

c++ - 自动重复代码

转载 作者:行者123 更新时间:2023-11-28 07:41:04 25 4
gpt4 key购买 nike

我写了一些代码来将任何字符串转换为摩尔斯电码。在我尝试自动重复代码之前,该代码工作完美。

无论我使用“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');
}

最佳答案

用户输入后,他们按下回车键。换行符 '\n' 仍在 cin 流中。您需要忽略它:

cin >> ch;
cin.ignore(numeric_limits<streamsize>::max(), '\n'); //this ignores all subsequent characters until the newline character

关于c++ - 自动重复代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15859381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com