c++ 用模块化设计方法实现:依次输入班内每个学生一门课成绩,成绩在0-100之间,当成绩超出范围时停止输入,输出统计的学生人数和所有学生的总成绩。 统计人数函数:count() 计算总成绩:sum()函数
时间: 2024-10-01 14:06:38 浏览: 20
在C++中,你可以使用模块化设计,创建两个独立的函数`count()`和`sum()`来分别处理学生数量的统计和总成绩的计算。首先,你需要创建一个简单的数据结构,比如`Student`类,用于存储学生的姓名和成绩。然后,你可以按照以下步骤实现:
```cpp
#include <iostream>
#include <vector>
// 定义学生类
class Student {
public:
std::string name;
int score;
// 构造函数初始化名字为空字符串,成绩为0
Student(const std::string& name = "") : name(name), score(0) {}
};
// 函数声明
int count(const std::vector<Student>& students);
int sum(const std::vector<Student>& students);
// 主程序入口
int main() {
std::vector<Student> studentList;
int inputScore;
while (true) {
std::cout << "请输入学生姓名(输入'q'退出):" << std::endl;
std::string name;
if (std::cin >> name && name != "q") {
std::cout << "请输入分数(0-100):" << std::endl;
std::cin >> inputScore;
if (inputScore >= 0 && inputScore <= 100) {
studentList.push_back(Student(name));
studentList.back().score = inputScore;
} else {
break; // 超出范围,跳出循环
}
} else {
break;
}
}
// 输出统计信息
int studentCount = count(studentList);
int totalScore = sum(studentList);
std::cout << "学生总数: " << studentCount << std::endl;
std::cout << "总成绩: " << totalScore << std::endl;
return 0;
}
// 学生数量统计函数
int count(const std::vector<Student>& students) {
return students.size();
}
// 总成绩计算函数
int sum(const std::vector<Student>& students) {
int total = 0;
for (const auto& student : students) {
total += student.score;
}
return total;
}
```
在这个例子中,用户通过主程序输入学生信息,`count()`函数返回学生列表的大小即人数,而`sum()`函数遍历整个学生列表,累加所有学生的成绩。当你运行这个程序并满足输入条件时,会得到预期的结果。
阅读全文