要求完成以下功能: 1.课程包括英语、高数、c语言三门。 2.学生10人以上,基本信息包括学号、姓名。 3.功能包括:输入成绩、排序总分成绩
时间: 2024-04-09 09:28:59 浏览: 55
学生成绩管理系统 系统功能基本要求 学生信息,学号、姓名、性别、专业、年级等
好的,以下是用C++编写的实现以上功能的示例代码:
```cpp
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
struct Student {
int studentId;
std::string name;
int englishScore;
int mathScore;
int cScore;
int totalScore;
};
void inputScores(std::vector<Student>& students) {
for (auto& student : students) {
std::cout << "Enter scores for student " << student.name << " (ID: " << student.studentId << "):\n";
std::cout << "English score: ";
std::cin >> student.englishScore;
std::cout << "Math score: ";
std::cin >> student.mathScore;
std::cout << "C score: ";
std::cin >> student.cScore;
student.totalScore = student.englishScore + student.mathScore + student.cScore;
std::cout << std::endl;
}
}
bool compareTotalScore(const Student& s1, const Student& s2) {
return s1.totalScore > s2.totalScore;
}
void sortScores(std::vector<Student>& students) {
std::sort(students.begin(), students.end(), compareTotalScore);
}
int main() {
std::vector<Student> students;
int numStudents;
std::cout << "Enter the number of students: ";
std::cin >> numStudents;
if (numStudents < 10) {
std::cout << "Error: Number of students should be 10 or more." << std::endl;
return 0;
}
for (int i = 0; i < numStudents; ++i) {
Student student;
std::cout << "Enter details for student " << (i+1) << ":\n";
std::cout << "Student ID: ";
std::cin >> student.studentId;
std::cout << "Name: ";
std::cin >> student.name;
students.push_back(student);
}
inputScores(students);
sortScores(students);
std::cout << "Students sorted by total score:\n";
for (const auto& student : students) {
std::cout << "Student ID: " << student.studentId << ", Name: " << student.name << ", Total Score: " << student.totalScore << std::endl;
}
return 0;
}
```
这段代码实现了以下功能:
1. 定义了一个 `Student` 结构体,包含学生的基本信息和成绩信息。
2. 提供了输入成绩的函数 `inputScores`,通过循环输入每个学生的成绩,并计算总分。
3. 定义了一个比较函数 `compareTotalScore`,用于按总分成绩进行排序。
4. 提供了排序成绩的函数 `sortScores`,使用 `std::sort` 函数对学生信息进行排序。
5. 在 `main` 函数中,首先输入学生人数,并对人数进行检查。然后通过循环输入每个学生的基本信息。接着调用 `inputScores` 函数输入成绩,并调用 `sortScores` 函数对学生信息进行排序。最后输出按总分排序后的学生信息。
请注意,这只是一个基本示例代码,您可以根据自己的需求进行扩展和修改。
阅读全文