C++ 卡在无限循环上
这里没有程序员。参加我在大学里的第一堂CS课程,并在这里发表第一篇博文,所以如果我提供的信息不够先进,请原谅 仍在试图找出循环。似乎明白了,但一旦循环中有循环,或者循环中有if语句,我就会被抛出,不知道如何继续。对于我的任务,我需要发生以下情况 是否要处理文件中的所有记录?(是/否)西 请输入y或n。 是否要处理文件中的所有记录?(是/否)否 输入要处理的记录数:2 XXXXXXXXX错误非数字或负值,请重试 输入要处理的记录数:10 这是我的密码:C++ 卡在无限循环上,c++,loops,C++,Loops,这里没有程序员。参加我在大学里的第一堂CS课程,并在这里发表第一篇博文,所以如果我提供的信息不够先进,请原谅 仍在试图找出循环。似乎明白了,但一旦循环中有循环,或者循环中有if语句,我就会被抛出,不知道如何继续。对于我的任务,我需要发生以下情况 是否要处理文件中的所有记录?(是/否)西 请输入y或n。 是否要处理文件中的所有记录?(是/否)否 输入要处理的记录数:2 XXXXXXXXX错误非数字或负值,请重试 输入要处理的记录数:10 这是我的密码: char a = 0;
char a = 0; //User chooses Y or N
int ProcessAmount = 0; //Amount of times to process if not all
cout << "Would you like to process all the records in the file? (y/n) ";
cin >> a;
do{
bool notDone = true;
if(a == 'n'){
while(notDone){
cout << "Enter records to process: ";
cin >> ProcessAmount;
if (cin.fail()){
cin.clear();
cin.ignore(40,'\n');
cout << "" << endl;
}
else{
notDone = false;
}
}
}else if(a != 'y' or a != 'n');
cout <<"Please enter either y or n." << endl;
}while( a != 'y');
chara=0//用户选择Y或N
int ProcessAmount=0//要处理的时间量(如果不是全部)
cout>a;
做{
bool notDone=true;
如果(a='n'){
虽然(未完成){
处理量;
if(cin.fail()){
cin.clear();
cin.忽略(40,“\n”);
cout大多数问题都在评论中解释,下面是我将如何解决它:
char a=0;//用户选择Y或N
int ProcessAmount=0;//如果不是全部,则处理的次数
cout>a;
而(a!=“y”){
bool notDone=true;
如果(a='n'){
虽然(未完成){
处理量;
if(cin.fail()){
cin.clear();
cin.忽略(40,“\n”);
cout您只需将y/n请求从循环中删除,那么“a”永远不会更改其值。查看您可能需要的更改:
do {
cout << "Would you like to process all the records in the file? (y/n/f) "; //f to break the loop
cin >> a;
bool notDone = true;
if (a == 'n') {
//. . .
} else if (a == 'y') {
//You may want to do something when yes
} else if (a != 'f')
cout <<"Please enter either y/n or f." << endl;
} while( a != 'f')
do{
cout>a;
bool notDone=true;
如果(a='n'){
//. . .
}如果(a='y'){
//如果是,你可能想做点什么
}否则,如果(a!=“f”)
难道我忘了添加!循环出现在这里:“请输入y或n。”你认为a
将如何在该循环中进行更改?我不确定你的意思。我只是使用a来声明用户的选择,即y或n,但如果输入既不是“y”也不是“n”,则必须获得新的输入。因此,我需要它来提示用户输入y或n。也就是说,如果用户没有输入y或n。因此,我有else if st(a!='y'或a!='n'的注释)这是错误的吗?仍在试图找出正确的缩进,由于编辑器的简单性,刚切换到VSCode。目前使用集成到我的学校linux服务器的vim,这使得使用起来非常混乱。谢谢!您的示例确实有效,只是为了澄清,不需要bool语句?我能删除它吗?我添加ed one假设我需要一个else语句来完成if cin.fail语句最有可能的是有设置代码格式的快捷方式(tryCtrl+Shift+I
)