学生成绩的录入和删除c加加
时间: 2023-09-23 22:04:30 浏览: 39
录入学生成绩的C++代码如下:
```c++
#include <iostream>
using namespace std;
struct Student {
string name;
int score;
};
int main() {
const int MAX_STUDENTS = 100; // 最多可以录入100个学生的成绩
Student students[MAX_STUDENTS];
int num_students = 0; // 当前已经录入了多少个学生的成绩
// 录入学生成绩
while (num_students < MAX_STUDENTS) {
cout << "请输入学生姓名(输入 q 结束):";
string name;
cin >> name;
if (name == "q") {
break;
}
cout << "请输入学生分数:";
int score;
cin >> score;
students[num_students].name = name;
students[num_students].score = score;
num_students++;
}
// 输出所有学生的成绩
cout << "所有学生的成绩如下:" << endl;
for (int i = 0; i < num_students; i++) {
cout << students[i].name << " 的分数是 " << students[i].score << endl;
}
return 0;
}
```
删除学生成绩的C++代码如下:
```c++
#include <iostream>
using namespace std;
struct Student {
string name;
int score;
};
int main() {
const int MAX_STUDENTS = 100; // 最多可以录入100个学生的成绩
Student students[MAX_STUDENTS];
int num_students = 0; // 当前已经录入了多少个学生的成绩
// 录入学生成绩
while (num_students < MAX_STUDENTS) {
cout << "请输入学生姓名(输入 q 结束):";
string name;
cin >> name;
if (name == "q") {
break;
}
cout << "请输入学生分数:";
int score;
cin >> score;
students[num_students].name = name;
students[num_students].score = score;
num_students++;
}
// 输出所有学生的成绩
cout << "所有学生的成绩如下:" << endl;
for (int i = 0; i < num_students; i++) {
cout << students[i].name << " 的分数是 " << students[i].score << endl;
}
// 删除学生成绩
cout << "请输入要删除的学生姓名:";
string name;
cin >> name;
bool found = false; // 是否找到了要删除的学生
for (int i = 0; i < num_students; i++) {
if (students[i].name == name) {
found = true;
for (int j = i; j < num_students - 1; j++) {
students[j] = students[j + 1];
}
num_students--;
break;
}
}
if (!found) {
cout << "没有找到名为 " << name << " 的学生" << endl;
}
// 输出剩余学生的成绩
cout << "剩余学生的成绩如下:" << endl;
for (int i = 0; i < num_students; i++) {
cout << students[i].name << " 的分数是 " << students[i].score << endl;
}
return 0;
}
```
需要注意的是,这两份代码都非常简单,只是演示了如何录入和删除学生成绩,并未进行输入验证和错误处理。在实际应用中,还需要对输入进行验证和处理错误情况。