请帮我用c++里的类功能写一个输入学生学号,姓名,年龄和五门课程成绩的结构体
时间: 2024-09-23 20:04:07 浏览: 40
c++定义一个学生类(属性有学号,姓名,成绩),要求输入学生的学号,姓名及三科的成绩,以输入内容来设置学生对象的属性。最后输出学生的学号,姓名及三科的平均成绩。
在C++中,我们可以创建一个名为`Student`的结构体,包含学号、姓名、年龄等基本信息,以及一个关联数组来存储五门课程的成绩。这里是一个简单的例子:
```cpp
#include <iostream>
#include <string>
using namespace std;
// 定义一个结构体表示学生信息
struct Student {
int student_id; // 学号
string name; // 姓名
int age; // 年龄
// 使用map存储五门课程的成绩,key为课程名,value为成绩
map<string, int> course_scores;
};
int main() {
// 创建一个Student类型的变量
Student student;
// 输入学生信息
cout << "请输入学生的学号: ";
cin >> student.student_id;
cout << "请输入学生的姓名: ";
cin >> student.name;
cout << "请输入学生的年龄: ";
cin >> student.age;
// 输入五门课程的成绩
for (int i = 0; i < 5; ++i) {
cout << "请输入第" << (i+1) << "门课程的成绩(如果已输入过则跳过): ";
string course_name;
cin >> course_name;
if (student.course_scores.find(course_name) != student.course_scores.end()) {
cout << "该课程成绩已存在,跳过...\n";
} else {
int score;
cin >> score;
student.course_scores[course_name] = score;
}
}
// 输出学生信息
cout << "学生信息:\n";
cout << "学号: " << student.student_id << "\n";
cout << "姓名: " << student.name << "\n";
cout << "年龄: " << student.age << "\n";
cout << "课程成绩:\n";
for (const auto& entry : student.course_scores) {
cout << entry.first << ": " << entry.second << endl;
}
return 0;
}
阅读全文