完善void __1::_1(){ int a; cin>>s.num[N]; cin>>s.name; cin>>s.sex; i.v.push_back(s); cin>>a; if(a==1){return _1();} } void __1::2(){ vector<>::iterator p=i.v.begin(); while(p!=i.v.end()){ cout<<p->num<<p->name<<p->sex; p++; } } void __1::_3(){ int a; string b; cin>>a; if(a==1){ cin >> b; _1()[i]._2(); } else{cout << "未" << endl;} system("pause"); }
时间: 2024-04-26 10:23:53 浏览: 48
这段代码是什么意思?
这段代码看起来像是一个对学生信息进行管理的程序。其中包含了三个函数:
1. void __1::_1() - 这个函数用于添加新的学生信息,首先会通过 cin 输入学生的学号、姓名、性别等信息,然后将这些信息存储到一个 vector 容器中。如果用户输入了“1”,则会再次调用这个函数以添加下一个学生信息。
2. void __1::_2() - 这个函数用于显示所有学生的信息。它通过迭代器遍历 vector 容器中的所有元素,并将每个学生的信息输出到屏幕上。
3. void __1::_3() - 这个函数用于查询学生信息。它首先通过 cin 输入一个学生的学号,然后查找 vector 容器中是否存在这个学号对应的学生信息。如果存在,则调用 _2() 函数显示该学生的详细信息;否则输出“未找到该学生”的提示信息。
不过这段代码存在一些语法错误,比如函数名不能以数字开头,以及一些变量和函数未定义,需要进行修正。
相关问题
完善void _0_1::_1(){ int a; cin>>s.num[N]; cin>>s.name; cin>>s.sex; cin>>s.score1; cin>>s.score2; cin>>s.score3; i.v.push_back(s); cin>>a; if(a==1){return _1();} return ; } void __1::_2(){ int a=3; vector<_>::iterator p=i.v.begin(
void _0_1::_1() {
int a;
student s;
cin >> s.num[N];
cin >> s.name;
cin >> s.sex;
cin >> s.score1;
cin >> s.score2;
cin >> s.score3;
i.v.push_back(s);
cout << "是否继续添加学生信息?\n1. 继续\n2. 返回上一级菜单\n";
cin >> a;
if (a == 1) {
return _1();
}
return;
}
void __1::_2() {
int a = 3;
vector<_>::iterator p = i.v.begin();
cout << "请输入要删除的学生学号:";
string num;
cin >> num;
for (; p != i.v.end(); p++) {
if (p->num == num) {
i.v.erase(p);
a = 1;
break;
}
}
if (a == 1) {
cout << "删除成功!" << endl;
} else {
cout << "未找到该学生记录!" << endl;
}
system("pause");
}
这里给出了两个修改后的函数 `_1` 和 `_2`,可能还需要对程序中的一些变量或类进行调整。
在 `_1` 中,我们添加了一个 `student` 类型的变量 `s`,用于存储新添加的学生信息。我们在输入学生信息后,将 `s` 插入到 `vector` 容器 `i.v` 的末尾,并询问用户是否继续添加学生信息。如果用户输入了 1,那么继续调用 `_1` 函数进行添加;否则返回上一级菜单。
在 `_2` 中,我们添加了一个 `vector<_>::iterator` 类型的迭代器 `p`,用于遍历 `i.v` 容器中的学生信息。我们先让用户输入要删除的学生的学号,然后在容器中查找是否有符合条件的学生记录。如果找到了,就通过 `vector` 容器的 `erase()` 方法将该学生记录从容器中删除,并输出删除成功信息;否则输出未找到该学生记录的提示信息。
void Movie_Management::Movie_Add(Movie_Management* M_S, string f_m_name) { string name; int n = 1; string num; ofstream fout; fout.open(f_m_name, ios::app); while (n) { again: cout << "请输入电影编号\n"; cin >> num; for (int i = 0; i < NUM_m; i++) { if (M_S[i].num == num) { cout << "已存在该电影\n"; goto again; } } n = 0; } //当前电影总数&&电影编号 NUM_m++; M_S[NUM_m - 1].num = to_string(NUM_m); M_S[NUM_m - 1].name = name; cout << "请输入国别\n"; cin >> M_S[NUM_m - 1].nation; cout << "请输入主演\n"; cin >> M_S[NUM_m - 1].actor; cout << "请输入电影类型\n"; cin >> M_S[NUM_m - 1].type[0]; cin >> M_S[NUM_m - 1].type[1]; cout << "请输入电影时长\n"; cin >> M_S[NUM_m - 1].time; fout.close();将这段代码生成流程图 }
抱歉,我无法直接生成流程图。但是,我可以解释一下该代码的流程:
1. 打开一个名为 `f_m_name` 的文件,以追加的方式(`ios::app`)写入数据。
2. 进入一个循环,条件是 `n` 不为零。
3. 提示用户输入电影编号并读取输入的值到变量 `num`。
4. 遍历 `M_S` 数组,检查是否存在相同的电影编号。如果存在重复,输出提示信息并跳转到标签 `again`。
5. 如果没有重复的电影编号,则将 `n` 设置为零,退出循环。
6. 增加当前电影总数 `NUM_m` 的值。
7. 将 `NUM_m` 转换为字符串并赋值给 `M_S[NUM_m - 1].num`。
8. 输入国别、主演、电影类型和时长,并将它们分别赋值给相应的成员变量。
9. 关闭文件。
这段代码的目的是向电影管理系统中添加电影,并将电影信息保存到文件中。
阅读全文