完善int a; cout<<"学号查找按1,姓名查找请按2."; cin>>a; if(a==1){ cout<<"请输入学生的学号:"; cin>>num; bool found = false; for (auto p = i.v.begin(); p != i.v.end(); ++p) { if (p->num == num) {found = true; cout<<setiosflags(ios::left)<<setw(12)<<"学号"<<setw(20)<<"姓名"<<setw(6)<<"性别"<<setw(6)<<"英语"<<setw(6)<<"高数"<<setw(6)<<"汇编"<<endl; cout<< setiosflags(ios::left)<<setw(12)<<p->num<<setw(21)<<p->name<<setw(6)<<p->sex<<setw(6)<<p->score1<<setw(6)<<p->score2<<setw(6)<<p->score3<<endl;break;}} if (!found) {cout << "未找到该学生的信息" << endl;}} else if(a==2){cout<<"请输入学生的姓名:"; cin>>name; bool found = false; for (auto p = i.v.begin(); p != i.v.end(); ++p) { if (p->name== name) {found = true; cout<< setiosflags(ios::left)<<setw(12)<<"学号"<<setw(20)<<"姓名"<<setw(6)<<"性别"<<setw(6)<<"英语"<<setw(6)<<"高数"<<setw(6)<<"汇编"<<endl; cout<< setiosflags(ios::left)<<setw(12)<<p->num<<setw(21)<<p->name<<setw(6)<<p->sex<<setw(6)<<p->score1<<setw(6)<<p->score2<<setw(6)<<p->score3<<endl;break;} }if (!found) { cout << "未找到该学生的信息" << endl;}} else {cout << "输入无效选项" << endl; } system("pause"); return;
时间: 2023-07-08 11:39:45 浏览: 77
这段代码是一个简单的学生信息查询程序。程序首先输出一个选项,要求用户输入数字1或2来选择学号查询或姓名查询。然后根据用户的选择分别进行查询。如果用户选择学号查询,则要求用户输入学生的学号,程序在学生信息列表中查找该学号对应的学生信息,并输出该学生的学号、姓名、性别以及英语、高数、汇编三门科目的成绩。如果用户选择姓名查询,则要求用户输入学生的姓名,程序在学生信息列表中查找该姓名对应的学生信息,并输出该学生的学号、姓名、性别以及英语、高数、汇编三门科目的成绩。如果用户输入的数字既不是1也不是2,则输出“输入无效选项”。最后程序使用system("pause")语句等待用户按下任意键后结束程序运行。
相关问题
完善 int a,b; vector<_0843杨晓慧>::iterator p=i.v.begin(); cout<<"学号按1,姓名请按2."; cin>>a; if(a==1){cout<<"输入学号:"; } if(a==2){cout<<"输入要姓名:";} cin >> b; if(b==p->num[N]||b==p->name){cout<< setiosflags(ios::left)<<setw(12)<<p->num[N]<<setw(
12)<<p->name<<setw(8)<<p->score[0]<<setw(8)<<p->score[1]<<setw(8)<<p->score[2]<<setw(8)<<p->score[3]<<endl; }
这段代码中存在一些问题,比如变量a,b未进行初始化,未定义N的值等等。建议修改后的完整代码如下:
```c++
#include <iostream>
#include <vector>
#include <iomanip>
using namespace std;
struct _0843杨晓慧 {
string num[20];
string name;
int score[4];
};
int main() {
int a = 0, b = 0;
vector<_0843杨晓慧> i(1);
vector<_0843杨晓慧>::iterator p = i.begin();
cout << "学号按1,姓名请按2: ";
cin >> a;
if (a == 1) {
cout << "输入学号: ";
cin >> p->num[0];
}
else if (a == 2) {
cout << "输入要姓名: ";
cin >> p->name;
}
cout << "输入要查询的成绩: ";
cin >> b;
if (b == stoi(p->num[0]) || b == p->name) {
cout << setiosflags(ios::left) << setw(12) << p->num[0] << setw(12) << p->name << setw(8) << p->score[0] << setw(8) << p->score[1] << setw(8) << p->score[2] << setw(8) << p->score[3] << endl;
}
return 0;
}
```
完善一下 void _0843杨晓慧_1::_0843杨晓慧3(){//查找记录, 按提示输入要查找的学生学号(可用姓名,学号等查找)存在则输出相应记录,不存在,则按任意键返回主菜单。 int a; string b; cout<<"学号查找请按1,姓名查找请按2."; cin>>a; if(a==1){cout<<"请输入要查找的学生学号:"; cin >> b; cout<< setiosflags(ios::left)<<setw(12)<<"学号"<<setw(20)<<"姓名"<<setw(6)<<"性别"<<setw(6)<<"英语"<<setw(6)<<"高数"<<setw(6)<<"汇编"<<endl; _0843杨晓慧1()[i]._0843杨晓慧2(); } else{cout << "未找到该学生记录!" << endl;} system("pause"); }
void _0843杨晓慧_1::_0843杨晓慧3() {
int choice;
string keyword;
cout << "请输入要查找的方式:\n1. 学号查找\n2. 姓名查找\n";
cin >> choice;
bool found = false;
if (choice == 1) {
cout << "请输入要查找的学生学号:";
cin >> keyword;
for (int i = 0; i < _0843杨晓慧1().size(); i++) {
if (_0843杨晓慧1()[i].get学号() == keyword) {
found = true;
cout << setw(12) << "学号" << setw(20) << "姓名" << setw(6) << "性别" << setw(6) << "英语" << setw(6) << "高数" << setw(6) << "汇编" << endl;
_0843杨晓慧1()[i]._0843杨晓慧2();
break;
}
}
} else if (choice == 2) {
cout << "请输入要查找的学生姓名:";
cin >> keyword;
for (int i = 0; i < _0843杨晓慧1().size(); i++) {
if (_0843杨晓慧1()[i].get姓名() == keyword) {
found = true;
cout << setw(12) << "学号" << setw(20) << "姓名" << setw(6) << "性别" << setw(6) << "英语" << setw(6) << "高数" << setw(6) << "汇编" << endl;
_0843杨晓慧1()[i]._0843杨晓慧2();
break;
}
}
}
if (!found) {
cout << "未找到该学生记录!" << endl;
}
system("pause");
}
阅读全文
相关推荐













