c++ - 这个错误的原因是什么?循环不会连续运行,它是一个菜单驱动的程序
问题描述
循环应该在一个连续循环中运行,但我找不到错误,因为它在输入数据后以案例 1 结束!
#include <bits/stdc++.h>
using namespace std;
class student
{
public:
int age = 0;
string name = "";
};
int main()
{
bool bistrue = true;
vector<student> arr;
while (bistrue)
{
cout << "user signup application" << endl
<< "please select an option \n 1.add record \n 2. fetch record \n 3.quit\n";
int n;
cin >> n;
switch (n)
{
case 1:
{
cout << "please enter user name and age\n";
student temp;
// cout<<"name\n age";
cin >> temp.name;
cin >> temp.age;
arr.push_back(temp);
}
break;
case 2:
{
cout << "enter user id\n";
int number;
cin >> number;
int i;
for (i = 0; i < arr.size(); i++)
{
if (i == number)
{
cout << "user name" << arr[i].name << "\n user age" << arr[i].age;
break;
}
}
}
break;
case 3:
{
bistrue = false;
break;
}
}
return 0;
}
}
解决方案
那是因为您return 0
在块内有您的声明while
!
解决它!
#include <bits/stdc++.h>
using namespace std;
class student {
public:
int age = 0;
string name = "";
};
int main()
{
bool bistrue = true;
vector<student> arr;
while (bistrue) {
cout << "user signup application" << endl
<< "please select an option \n 1.add record \n 2. fetch record \n 3.quit\n";
int n;
cin >> n;
switch (n) {
case 1: {
cout << "please enter user name and age\n";
student temp;
// cout<<"name\n age";
cin >> temp.name;
cin >> temp.age;
arr.push_back(temp);
} break;
case 2: {
cout << "enter user id\n";
int number;
cin >> number;
int i;
for (i = 0; i < arr.size(); i++) {
if (i == number) {
cout << "user name" << arr[i].name << "\n user age" << arr[i].age;
break;
}
}
} break;
case 3: {
bistrue = false;
} break;
}
}
return 0; // move it outside the while loop
}
推荐阅读
- node.js - Node.JS MongoDB 发现:顺序比并行快,为什么?
- python - 在 FiPy 中使用扫描函数时的求解器容差和残差
- r - 如何使用 summaryCodings() 仅显示某个代码类别或多个代码的编码数量?
- notepad++ - 只有在 Notepad++ 中为 1 时才删除第一个数字
- java - 当我打开来自 Spring 控制器的文件时出现“缺少文件名标题”错误
- arrays - 如何正确更新 ReactJS reducer 中的 redux 状态?
- java - Why java.time.Instant is supported in Hibernate 5.2 but not in JPA 2?
- vba - vba saves outlook attachments on pc without script rule
- linux - 我想知道是否可以将图像上传存储到jar外的服务器存储,以及如何找到方向
- node.js - 无法使用 Docusign API 在我的模板中填充文本字段(带有数字验证)