【C++】C++-机房收费管理系统(源码+注释)【独一无二】

请添加图片描述


👉博__主👈:米码收割机
👉技__能👈: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: 提供用户界面,用户可以选择输入学生信息、计算上机费用、查询学生信息、显示机器使用情况以及保存并退出。根据用户选择执行相应的操作。

三、可视化分析

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 机房 ” 获取。👈👈👈

在这里插入图片描述

在这里插入图片描述

剩余截图不再继续展示

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 机房 ” 获取。👈👈👈


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/45124.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode之最长回文子串

1.题目链接 5. 最长回文子串 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/longest-palindromic-substring/description/ 2.题目解析 对于这道题目我们可以使用动态规划的思路来求解&#xff0c;具体思路是&#xff0c;对于一个长度大于2的子串&…

生成式信息检索(问答系统与信息检索的进步)

文章目录 什么是问答系统&#xff08;Question Answering Systems&#xff09;检索系统的演变经典检索系统“Term” 文档搜素的最小单位倒排索引词嵌入的出现预训练语言模型 用于问答的语言模型设计方案选择&#xff1a;封闭式与开放式问答系统对比方案A&#xff1a;封闭式生成…

【干货】一文带你看懂什么是渠道分销?如何管理渠道分销

在当今竞争激烈的市场环境中&#xff0c;企业想要扩大市场份额、提高产品或服务的可见度&#xff0c;有效的渠道分销策略是关键。 什么是渠道分销&#xff1f; 渠道分销&#xff0c;简而言之&#xff0c;是指企业利用中间商&#xff08;如经销商、代理商、零售商等&#xff0…

springboot解压文件流zip压缩包

springboot解压文件流zip压缩包 原始文件存储的地方&#xff1a; 需要在当前目录下解压该文件&#xff0c;如下图&#xff1a; 代码示例&#xff1a; private Result<String> getLocationGuideLayerName(YbYstbtqTaskResolveParam params, String fishnetLayerName)…

华为od100问持续分享-1

我是一名软件开发培训机构老师&#xff0c;我的学生已经有上百人通过了华为OD机试&#xff0c;学生们每次考完试&#xff0c;会把题目拿出来一起交流分享。 重要&#xff1a;2024年5月份开始&#xff0c;考的都是OD统一考试&#xff08;D卷&#xff09;&#xff0c;题库已经整…

入门PHP就来我这(高级)24 ~ Session判断用户登录

有胆量你就来跟着路老师卷起来&#xff01; -- 纯干货&#xff0c;技术知识分享 路老师给大家分享PHP语言的知识了&#xff0c;旨在想让大家入门PHP&#xff0c;并深入了解PHP语言。 上一篇我们介绍了Session管理部分的概念&#xff0c;本文通过session来改写一些用户登录&…

一致性Hash问题及解决方案

Hash算法的应用场景 请求的负载均衡 Nginx的ip_hash策略可以在客户端ip不发生变化的情况下&#xff0c;将其发出的请求始终路由到同一个目标服务器上&#xff0c;实现会话粘滞&#xff0c;避免处理session共享问题。 如果没有ip_hash策略&#xff0c;可以通过维护一张映射表的…

常用包管理工具(apk、apt、yum)常用命令

apk 包管理工具apk是Alpine Linux中使用广泛的一个工具&#xff0c;用于管理软件包的安装、更新、卸载等操作。以下是一些常用的apk命令及其解释&#xff1a; 1.更新 apk update&#xff1a;从远程镜像源更新本地仓库中的所有软件包索引apk upgrade&#xff1a;升级本地已安装…

ts实现将相同类型的数据通过排序放在一起

看下效果&#xff0c;可以将相同表名称的字段放在一起 排序适用于中英文、数字 // 排序 function sortByType(items: any) {// 先按照类型进行排序items.sort((a: any, b: any) > {if (a.label < b.label) return -1;if (a.label > b.label) return 1;return 0;});r…

鸿蒙语言基础类库:【@ohos.application.testRunner (TestRunner)】 测试

TestRunner TestRunner模块提供了框架测试的能力。包括准备单元测试环境、运行测试用例。 如果您想实现自己的单元测试框架&#xff0c;您必须继承这个类并覆盖它的所有方法。 说明&#xff1a; 开发前请熟悉鸿蒙开发指导文档&#xff1a;gitee.com/li-shizhen-skin/harmony-…

编程语言与数据结构的关系:深度解析与探索

编程语言与数据结构的关系&#xff1a;深度解析与探索 在编程的世界中&#xff0c;编程语言和数据结构是两个不可或缺的元素。它们之间既相互依存&#xff0c;又各自独立&#xff0c;共同构成了编程的核心。本文将深入探索编程语言与数据结构之间的复杂关系&#xff0c;从四个…

[氮化镓]Kevin J. Chen组新作—肖特基p-GaN HEMTs正栅ESD机理研究

这篇文章是发表在《IEEE Electron Device Letters》上的一篇关于Schottky型p-GaN栅极高电子迁移率晶体管&#xff08;HEMTs&#xff09;的正向栅极静电放电&#xff08;ESD&#xff09;机理研究的论文。文章由Jiahui Sun等人撰写&#xff0c;使用了基于碳化硅&#xff08;SiC&a…

8626 原子量计数

分析&#xff1a; 1. **读取输入**&#xff1a;首先&#xff0c;我们需要读取输入中的第一行&#xff0c;了解有多少个化学式需要处理。之后&#xff0c;对于每个化学式&#xff0c;我们逐行读取并进行处理。 2. **解析化学式**&#xff1a;对于每个化学式&#xff0c;我们需要…

8627 数独

为了判断数独解是否合法&#xff0c;我们需要遵循以下步骤&#xff1a; 1. **检查每一行**&#xff1a;确保1到9每个数字在每一行中只出现一次。 2. **检查每一列**&#xff1a;确保1到9每个数字在每一列中只出现一次。 3. **检查每个3x3的宫**&#xff1a;确保1到9每个数字在…

细胞通讯之cellchat的流程

愿武艺晴小朋友一定得每天都开心 在细胞通讯的领域内有cellphoneDB、cellchat、iTALK等多种cell-cell communication的工具; 其中cellchat,我觉得它比较的亲民和好看吧^_^ cellchat <- createCellChat(Matrix(health@assays$RNA$data,sparse = T), #用于seurat.v5对象 …

文件类:如何将excel文件转为csv文件(且保留时间格式)?

最近有个场景&#xff0c;在ftp服务器上&#xff0c;读取csv文件并入库&#xff0c;但是客户提供的一部分文件却是xls文件&#xff0c;就得搞个将excel转为csv文件的方法&#xff0c;话不多说直接开干。 方法 public static void convertExcelToCSV(String excelFilePath, Str…

掌握axios与Vue 3:构建高效HTTP请求的终极指南

引言 axios作为一个广泛使用的JavaScript库&#xff0c;因其简洁的API、强大的功能和良好的浏览器兼容性&#xff0c;成为了许多前端开发者在Vue 3项目中的首选。 axios简介 axios是什么&#xff1f; axios是一个基于Promise的HTTP客户端&#xff0c;用于浏览器和node.js环境…

【视频】R语言广义加性模型GAMs非线性效应、比较分析草种耐寒性实验数据可视化

全文链接&#xff1a;https://tecdat.cn/?p36979 原文出处&#xff1a;拓端数据部落公众号 广义加法模型&#xff08;Generalized Additive Models, GAMs&#xff09;作为一种高度灵活的统计工具&#xff0c;显著扩展了广义线性模型&#xff08;Generalized Linear Models, …

我被手机所伤,竟如此憔悴。

临睡前&#xff0c;刚刷完小视频&#xff0c;感觉好无聊。一阵阵空虚感袭来。看看时间&#xff0c;哦&#xff0c;原来我下班后一直从6点刷视频到11点。 哎&#xff0c;太空虚了&#xff0c;又马上要睡觉了&#xff0c;为什么会这么难受呢?明明我大学&#xff0c;高中&#x…

代码随想录算法训练营第9天

151.反转字符串中的单词 题目链接&#xff1a;151. 反转字符串中的单词 - 力扣&#xff08;LeetCode&#xff09; 视频链接&#xff1a;代码随想录 (programmercarl.com) 第一想法 使用split函数然后倒序相加 代码随想录想法 先去除空格&#xff0c;再将整个字符串反转&…