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

news2024/9/16 18:16:59

请添加图片描述


👉博__主👈:米码收割机
👉技__能👈: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.coloradmin.cn/o/1919579.html

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

相关文章

【深度学习入门篇 ④ 】Pytorch实现手写数字识别

【&#x1f34a;易编橙&#xff1a;一个帮助编程小伙伴少走弯路的终身成长社群&#x1f34a;】 大家好&#xff0c;我是小森( &#xfe61;ˆoˆ&#xfe61; ) &#xff01; 易编橙终身成长社群创始团队嘉宾&#xff0c;橙似锦计划领衔成员、阿里云专家博主、腾讯云内容共创官…

项目中日志采集实践:技术、工具与最佳实践

✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天开心哦&#xff01;✨✨ &#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; 目录 引言 一. 选择合适的日志框架 二. 配置日志框架 三. 使用…

既要“性价比”,又要“品价比”,零跑何以成为新能源“卷王”?

从前&#xff0c;“汽车界小米”“品价比”是围绕在零跑汽车周围的关键词。而在零跑C16上市发布会上&#xff0c;零跑汽车创始人朱江明又提出了“车圈优衣库”的概念&#xff0c;“我希望零跑在汽车行业的定位&#xff0c;就像优衣库在服装行业一样&#xff0c;追求品价比&…

看番工具 -- oneAnime v1.2.5绿色版

软件简介 OneAnime是一款专为动漫爱好者设计的应用程序&#xff0c;它提供了一个庞大的动漫资源库&#xff0c;用户可以在这里找到各种类型的动漫&#xff0c;包括热门的、经典的、新番的等等。OneAnime的界面设计简洁明了&#xff0c;操作方便&#xff0c;用户可以轻松地搜索…

智能小车——初步想法

需要参考轮趣的智能小车自己搭建一台智能机器人&#xff0c;这里从底层控制开始逐步搭建。 控制模式 之后要自行搭建智能小车&#xff0c;所以将轮趣的底盘代码进行学习&#xff0c;根据开发手册先大致过一遍需要的内容。 有做很多个控制方法&#xff0c;包括了手柄、串口、…

选择TPM管理咨询公司时需要考虑哪些因素?

在选择TPM&#xff08;全面生产维护&#xff09;管理咨询公司时&#xff0c;企业通常需要经过深思熟虑的过程&#xff0c;以确保所选择的咨询公司能够真正帮助企业实现生产效率和设备可靠性的提升。以下是在选择TPM管理咨询公司时需要考虑的关键因素&#xff1a; 一、行业经验和…

【Linux】Windows平台使用gdb调试FFmpeg源码

FFmpeg是一个跨平台的多媒体库&#xff0c;有时需要在别的平台上进行开发和调试&#xff0c;记录一下在linux环境下使用gdb来调试FFmpeg源码的基本方式 1.可执行文件 在windows平台使用linux环境来调试FFmpeg源码&#xff0c;需要编译生成一个后缀有_g的exe文件&#xff0c;参…

国漫推荐10

玄幻、恋爱 1.《两不疑》古风、恋爱 2.《中国古诗词动漫》 3.《武神主宰》 4.《百妖谱》 5.《灵剑尊》 6.《万界仙踪》 7.《万界神主》 8.《武庚纪》 9.《无上神帝》

Python实战:拥有设闹钟功能的可视化动态闹钟的实现

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

14 - matlab m_map地学绘图工具基础函数 - 一些数据转换函数(一)

14 - matlab m_map地学绘图工具基础函数 - 一些数据转换函数&#xff08;一&#xff09; 0. 引言1. 关于m_ll2xy和m_xy2ll2. 关于m_lldist3. 关于m_xydist4 关于m_fdist5 关于m_idist6. 总结 0. 引言 通过前面篇节已经将m_map绘图工具中大多绘图有关的函数进行过介绍&#xff0…

后仿真中《SDF反标必懂连载篇》之 反向提取SDF反标延迟

今天&#xff0c;整理一下最近工作中遇到的一个问题&#xff0c;及解决问题的办法&#xff0c;仅分享给大家。 我们知道&#xff0c;我们在完成SDF时序反标之后&#xff0c;首先要做的事情&#xff1a;检查sdfannotation 文件。文件中记录了每个sdf 文件&#xff0c;每个实例的…

【C语言】C语言-宾馆客房管理系统(源码+论文)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

20240711编译友善之臂的NanoPC-T6开发板的Buildroot

20240711编译友善之臂的NanoPC-T6开发板的Buildroot 2024/7/11 21:02 百度&#xff1a;nanopc t6 wiki https://wiki.friendlyelec.com/wiki/index.php/NanoPC-T6/zh NanoPC-T6/zh 4.4 安装系统 4.4.1 下载固件 4.4.1.1 官方固件 访问此处的下载地址下载固件文件 (位于网盘的&q…

可道云teamOS,用个人标签和公共标签,文件分类更多样

在信息爆炸的时代&#xff0c;我们每天都在与海量的数据和信息打交道。如何在这些纷繁复杂的信息中快速找到我们需要的&#xff0c;成为了摆在我们面前的一大难题。 为大家介绍一下可道云teamOS个人标签和公共标签功能&#xff0c;让信息的整理与搜索变得简单高效。 一、个人…

YOLOv10训练自己的数据集(交通标志检测)

YOLOv10训练自己的数据集&#xff08;交通标志检测&#xff09; 前言相关介绍前提条件实验环境安装环境项目地址LinuxWindows 使用YOLOv10训练自己的数据集进行交通标志检测准备数据进行训练进行预测进行验证 参考文献 前言 由于本人水平有限&#xff0c;难免出现错漏&#xff…

【益起童行】我与孩子一起挺过的日子

今天不谈技术&#xff0c;只想讲讲我的故事&#xff0c;但并不是想寻求同情&#xff0c;目前过得很幸福&#xff0c;但并不是所有人的情况都是这么乐观&#xff01; 我就只是想呼吁大家能和我【‘益’起‘童’行】&#xff0c;帮助更多家庭的点亮希望之光。而我也一定也会坚持尽…

LangChain框架详解

LangChain框架详解 LangChain是一个基于语言模型开发应用程序的强大框架&#xff0c;旨在帮助开发人员简化与大模型交互、数据检索以及将不同功能模块串联起来以完成复杂任务的过程。它提供了一套丰富的工具、组件和接口&#xff0c;使开发人员能够轻松构建上下文感知和具备逻…

Fast DDS library windows 下源码编译(cmake)

目录 编译环境&#xff1a; 编译需要的源码文件&#xff1a; Fast DDS编译&#xff1a; 注意事项&#xff1a; 参考文档&#xff1a; 基于Fast DDS 的源码来编译相关的库&#xff0c;然后可以通过python 来调用库文件实现dds 数据通信&#xff0c;本文就详细的介绍编译过程…

评估指标:精确率(Precision)、召回率(Recall)、F1分数(F1 Score)

评估指标&#xff1a;精确率&#xff08;Precision&#xff09;、召回率&#xff08;Recall&#xff09;、F1分数&#xff08;F1 Score&#xff09; 前言相关介绍1. 准确率&#xff08;Accuracy&#xff09;2. 精确率&#xff08;Precision&#xff09;3. 召回率&#xff08;Re…

react学习——26react-redux实现求和案例(完整版)

1、目录结构 2、components/count/index.js import React, {Component} from "react"; export default class Count extends Component {//加法increment()>{const {value} this.selectNumthis.props.jia(Number(value))}//减法decrement()>{const {value} …