1)录入学生信息首先输入学生人数,然后根据学生人数开辟动态数组; 2)学生信息包括学号、姓名、性别、三门课成绩、总分;其中学号、姓名、 性别、三门课成绩是需要从键盘录入的,而总分是由程序计算的,而不 是用户自己算了再输入。 3)显示结果(学生信息)要以列表的形式显示,注意美观性; 4)要有必要的容错措施,比如输入各科分数要在0-100之间,输入错误给 用户提示,让其重新输入; c++
时间: 2024-02-13 12:02:15 浏览: 51
c++ 这个程序实现了学生的信息录入和输出,
好的,这是一个学生信息管理程序,以下是代码实现:
```c++
#include <iostream>
#include <string>
using namespace std;
struct Student {
int id;
string name;
char gender;
int score1;
int score2;
int score3;
int total;
};
int main() {
int n;
cout << "请输入学生人数:";
cin >> n;
Student* students = new Student[n];
for (int i = 0; i < n; i++) {
cout << "请输入第" << i+1 << "个学生的信息:" << endl;
cout << "学号:";
cin >> students[i].id;
cout << "姓名:";
cin >> students[i].name;
cout << "性别:";
cin >> students[i].gender;
cout << "三门课成绩(用空格隔开):";
cin >> students[i].score1 >> students[i].score2 >> students[i].score3;
if (students[i].score1 < 0 || students[i].score1 > 100 ||
students[i].score2 < 0 || students[i].score2 > 100 ||
students[i].score3 < 0 || students[i].score3 > 100) {
cout << "输入错误,请重新输入!" << endl;
i--;
continue;
}
students[i].total = students[i].score1 + students[i].score2 + students[i].score3;
}
cout << "学生信息如下:" << endl;
cout << "学号\t姓名\t性别\t成绩1\t成绩2\t成绩3\t总分" << endl;
for (int i = 0; i < n; i++) {
cout << students[i].id << "\t" << students[i].name << "\t"
<< students[i].gender << "\t" << students[i].score1 << "\t"
<< students[i].score2 << "\t" << students[i].score3 << "\t"
<< students[i].total << endl;
}
delete[] students;
return 0;
}
```
当用户输入错误的分数时,程序会提示用户重新输入,直到输入正确为止。最后,程序会输出学生信息的列表,以表格的形式呈现。
阅读全文