gpt4 book ai didi

c++ - 为什么while循环不退出?

转载 作者:行者123 更新时间:2023-11-30 04:43:35 25 4
gpt4 key购买 nike

我正在制作一个程序,将用户的学生姓名和成绩收集到 vector 中,并使用这些 vector 计算平均值。当用户键入“完成”时,while 循环应该中断并继续执行下一段代码。但是,我制作的 while 循环不会中断。有没有更有效的方法来做到这一点?

我已经尝试创建一个 bool,它在 bool 为真时中断,但仍然无效。

while (name != "done") {
cout << "Enter name and grade: ";
cin >> name;

if (!(cin >> score)) {
cin.clear;
cin.ignore(256, '\n');
cout << "Re-enter grade: ";
cin >> score;
}

else {
studentName.push_back(name);
studentScore.push_back(score);
}
}

while 循环应该在输入“完成”时退出,但它会创建一个换行符并且不输出任何内容。

最佳答案

当您键入“done”时,循环的其余部分仍会执行,因为您只是在开始时检查。因此,它希望您接下来输入乐谱,然后退出。

一个可能的解决方案是在读取 name 之后立即插入一个 break 语句

if(name == "done") {
break;
}

关于c++ - 为什么while循环不退出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58196053/

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