👉博__主👈:米码收割机
👉技__能👈:C++/Python语言
👉公众号👈:测试开发自动化【获取源码+商业合作】
👉荣__誉👈:阿里云博客专家博主、51CTO技术博主
👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。
【C++】C+±机房收费管理系统(源码+注释)【独一无二】
目录
- 【C++】C++-机房收费管理系统(源码+注释)【独一无二】
- 一、设计要求
- 二、设计思路
- 结构体
- 输入学生信息
- 计算上机费用
- 查询学生信息
- 显示机器使用情况
- 将信息写入文件
- 从文件读取信息
- 主函数
- 三、可视化分析
一、设计要求
(21)机房收费管理系统
功能要求:
1)输入功能:输入30名学生的学号、班级、姓名、上机起始时间。
2)计算功能:计算每个下机学生的上机费用,每小时1元。(上机费用=上机时间*1.0/h ,不足一小时按一小时计算)
3)查询功能:按条件(班级、学号、姓名)显示学生的上机时间。
4)机器使用情况的显示(显示方式不限但要一目了然)
5)能将所有信息读写文件
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 机房 ” 获取。👈👈👈
二、设计思路
结构体
struct Student {string student_id;string class_name;string name;time_t start_time;double fee;
};vector<Student> students;
- 结构体
Student
: 用于存储学生信息,包括学号、班级、姓名、上机起始时间和上机费用。 - 全局变量
students
: 存储所有学生信息的容器。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 机房 ” 获取。👈👈👈
输入学生信息
void inputStudentInfo() {for (int i = 0; i < 30; ++i) {Student student;cout << "请输入第 " << i + 1 << " 个学生的信息:" << endl;cout << "学号: ";cin >> student.student_id;cout << "班级: ";cin >> student.class_name;cout << "姓名: ";cin >> student.name;// 此处略去 至少10行 代码。。。student.fee = 0.0;students.push_back(student);}
}
- 函数
inputStudentInfo
: 输入30个学生的信息并存储在students
容器中。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 机房 ” 获取。👈👈👈
计算上机费用
void calculateFee() {for (auto& student : students) {tm tm_end = {};cout << "请输入学生 " << student.name << " 的下机时间 (格式: YYYY MM DD HH MM SS): ";// 此处略去 至少10行 代码。。。double hours = difftime(end_time, student.start_time) / 3600.0;student.fee = ceil(hours) * 1.0; // 每小时 1 元,不足一小时按一小时计算}
}
- 函数
calculateFee
: 计算每个学生的上机费用,根据输入的下机时间计算上机时长并按每小时1元收费。
查询学生信息
void queryStudentInfo() {string condition;cout << "请输入查询条件(班级/学号/姓名): ";cin >> condition;for (const auto& student : students) {// 此处略去 至少10行 代码。。。}}
}
- 函数
queryStudentInfo
: 根据输入的查询条件(班级、学号或姓名)查询并显示学生信息。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 机房 ” 获取。👈👈👈
显示机器使用情况
void displayUsage() {cout << left << setw(12) << "学号" << setw(10) << "班级" << setw(10) << "姓名" << setw(20) << "上机起始时间" << "上机费用" << endl;for (const auto& student : students) {// 此处略去 至少10行 代码。。。}
}
- 函数
displayUsage
: 显示所有学生的上机使用情况,包括学号、班级、姓名、上机起始时间和上机费用。
将信息写入文件
void writeToFile() {ofstream file("student_info.txt");// 此处略去 至少10行 代码。。。file.close();
}
- 函数
writeToFile
: 将所有学生信息写入文件student_info.txt
中。
从文件读取信息
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 机房 ” 获取。👈👈👈
void readFromFile() {ifstream file("student_info.txt");if (!file.is_open()) return;Student student;// 此处略去 至少10行 代码。。。file.close();
}
- 函数
readFromFile
: 从文件student_info.txt
中读取学生信息并存储到students
容器中。
主函数
int main() {int choice;readFromFile();while (true) {cout << "\n机房收费管理系统\n";cout << "1. 输入学生信息\n";cout << "2. 计算上机费用\n";cout << "3. 查询学生信息\n";cout << "4. 显示机器使用情况\n";cout << "5. 保存并退出\n";cout << "请选择操作(1-5): ";cin >> choice;// 此处略去 至少10行 代码。。。}}
>👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 机房 ” 获取。👈👈👈return 0;
}
- 主函数
main
: 提供用户界面,用户可以选择输入学生信息、计算上机费用、查询学生信息、显示机器使用情况以及保存并退出。根据用户选择执行相应的操作。
三、可视化分析
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 机房 ” 获取。👈👈👈
剩余截图不再继续展示
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 机房 ” 获取。👈👈👈