C++课程成绩管理与分析系统[2023-01-07]

news2024/11/19 23:20:27

C++课程成绩管理与分析系统[2023-01-07]

C++实习指导书
编写:潘林 修订:邓吉秋

一、实习目的

学生通过此次实习, 应达到如下要求:

  1. 熟练使用一种 C++开发环境,包括 IDE 与编译器;掌握 C++程序的编写
    过程与调试;
  2. 加深对 C++基本理论的理解,编程时不再纠结于 C++的语法;克服编程时
    的畏难情绪;
  3. 熟悉貌似复杂系统从无到有的开发过程,具备初步系统分析、功能设计的
    能力。

二、实习任务

《课程成绩管理与分析系统》的设计与开发。
三、系统需求
采用基于对象的程序设计方法,设计一个课程成绩管理与分析的类,系统功
能的实现均在类中。

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111

3.1 数据
本次程序开发实践会提供一个文件 StudentScore.dat,供编程使用,包含课程
的名称、编号、开课单位、授课老师、选课人数,以及各学生信息(含学号、姓
名、性别、班级名称、平时成绩-作业、平时成绩-实验、平时成绩-报告、考试成
绩),具体如图 1 所示。
StudentScore.dat.png
图 1 StudentScore.dat 文件构成
3.2 系统功能

  1. 主界面
    展示系统包含的功能选项,选择相应的子功能模块执行“读入课程成绩、浏
    览学生成绩、查询学生成绩、修改学生成绩、补录学生成绩、删除学生成绩、保
    存修改成绩、统计课程成绩、保存统计数据、退出操作系统” 等操作。
  2. 读入课程成绩
    ① 支持文件输入的方式,即从 StudentScore.dat 文件中读入课程信息和各学
    生成绩信息。
    ② 支持控制台输入的方式,逐项输入课程信息和各学生成绩信息(单人完成
    时,可选选项)。
    注:可在数据读入的过程中计算学生的最终成绩,其中各成绩分项均为百分
    制,平时成绩-作业、平时成绩-实验、平时成绩-报告、考试成绩分别占比 20%、
    15%、5%、60%。
  3. 浏览学生成绩
    该子功能模块可以在控制台上展示当前系统中存入的课程信息和各学生成
    绩信息,注意成绩中应包含一栏是学生的最终成绩(其他子功能模块类似,不再
    赘述)。
  4. 查询学生成绩
    该子功能模块支持按学号、姓名(单人完成时,可选选项)、性别(单人完成
    时,可选选项)、班级(单人完成时,可选选项)进行成绩查询,将查询结果在
    控制台上进行展示,如果没有查询到应输出提示信息。
  5. 修改学生成绩
    该子功能模块支持根据学号对读入的学生信息进行修改,如果不存在该学号
    学生,输出提示信息,如果存在,则可修改其平时成绩和考试成绩。
    注(可选选项):当存在该学号学生时,应输出学生的当前信息,并展示可进
    行修改的选项,支持修改学生的学号、姓名、性别、班级名称、平时成绩、考试
    成绩,选择不同选项,进行相应信息的修改,每修改一次,输出修改后的学生信
    息,直到完成退出。
  6. 补录学生成绩
    该子功能模块支持添加一个学生的信息和各分项成绩,在控制台中根据提示
    逐项进行输入。
  7. 删除学生成绩
    该子功能模块支持按学号、姓名(可选选项)、性别(可选选项)、班级(可
    选选项)删除存储的学生成绩,如果不存在该学生,控制台输出提示信息,如果
    存在,控制台输出被删除学生的信息。
  8. 保存修改成绩(可选选项)
    如果发生过修改、补录、删除学生成绩,该子功能模块支持文件输出当前的
    课程信息和学生信息及各分项成绩(注:格式同 StudentScore.dat 文件完全相同,
    即输出的文件能够被系统重新读取)。
  9. 统计课程成绩
    该子功能模块支持统计与分析全部学生的课程成绩,包括最终课程成绩的最
    高得分、最低得分、平均得分、优良率(≥80 分同学所占比率)、及格率(≥60
    分同学所占比率)、各分数段(0-9、10-19、20-29……80-89、90-100)人数及所
    占比例,也可按班级(可选选项)、性别(可选选项)对部分学生进行课程成绩
    的统计与分析,该子功能模块还支持按最终成绩对全部学生进行排名,以上所有
    统计信息统计完成后输出到控制台进行展示。
  10. 保存统计数据
    该子功能模块支持将课程成绩统计与分析结果输出到文件中。
  11. 退出操作系统
    选择该选项时,退出操作系统。
    3.3 系统稳健性(可选选项)
  12. 如果没有进行过“读入课程成绩”操作,其他功能选项是不能执行的。
  13. “读入课程成绩”过程中,对各成绩分项检查,不能出现负数或者大于 100 分
    情况,如果有该情况发生,这名学生的信息不录入到系统。
  14. “读入课程成绩”过程中,进行查重操作,如果一个学生的学号在系统里面已
    经存在(即输入文件中有重复的学号,或者控制台输入时已录入过该学号的学生),
    这名学生的信息不能再次录入到系统。
  15. “读入课程成绩”过程中,每读入一个学生信息,要判断录入学生人数有没有
    超过系统预设的最大人数(程序中可定义一个符号常量设定最大人数),如果超
    过,后面学生的信息不再记录。
  16. “补录学生成绩”操作,要判断补录学生的学号是否已存在,如果已存在,这
    名学生的信息不能再次录入到系统,此外还要判断补录后是否超过系统预设的最
    大人数,如果超过,补录学生的信息不再记录。
  17. “保存修改成绩”操作,要判断有没有进行过学生成绩删除/补录/修改,如果
    没有进行过,该功能选项不能执行,并给出提示。
  18. “保存统计数据”操作,要判断有没有进行过“统计课程成绩”操作,如果没
    有进行过,该功能选项不能执行,并给出提示。
    3.4 部分功能界面(示例)
  19. 主界面
  20. 读入课程成绩
  21. 浏览学生成绩
  22. 查询学生成绩
  23. 修改学生成绩
  24. 补录学生成绩
  25. 删除学生成绩
  26. 保存修改成绩(单人完成时,可选选项)
  27. 统计课程成绩
  28. 保存统计数据
  29. 退出操作系统
    四、 实习要求
    4.1 基本要求
    本实习采用教师指导,学生自学,单独编程,实现《课程成绩管理与分析系
    统》。
  30. 数据管理使用文本文件形式保存。
  31. 程序要求运行正确无错误,界面美观、可操作性强、稳定性好。
    4.2 考核方式及评分标准
  32. 程序演示(小计 50%)
    程序的正确性:40%
    程序的可读性:5%
    界面的友好性:5%
  33. 答辩:15%
  34. 现场编程:15%
  35. 课程实践报告:10%
  36. 工作态度:10%
    注:实现了可选选项,成绩适当上浮;实习成绩优秀者必须完成一定数量的
    可选选项。
    4.3 报告模板(见附件)
    4.4 成果提交
  37. 实习报告与实习日志每人一份,先提交实习报告电子版、实习日志照片版,
    开学后提交纸质版,未提交报告或实习日志的同学不给分。
  38. 实习报告电子版、实习日志照片版和系统程序打包,按照指导老师的要求
    提交。
  39. 提交时间暂定为在实习结束后两天内,可能根据实际情况适当后延。

程序截屏

  • 主菜单

主菜单.png

  • 读入课程成绩
    读入课程成绩.png

  • 浏览学生成绩
    浏览学生成绩.png

  • 按最终成绩排序
    按最终成绩排序.png

  • 查询学生成绩
    查询学生成绩.png

  • 修改学生成绩
    修改学生成绩.png

  • 统计课程成绩
    统计课程成绩.png

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

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

相关文章

Sentinel 是什么

Sentinel是什么 Sentinel 官网:introduction | Sentinel 随着微服务的流行,服务与服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 Sentinel 具有以下特征 丰富…

Rancher部署分布式任务调度系统XXL-JOB通过拉取Docker公共镜像方式

通过Rancher部署分布式任务调度系统XXL-JOB我了解到有两种方式,一种是拉取xxl-job的源代码打包通过Jenkins部署,另一种简单的是直接拉取官方镜像,本文主要讲后面这种。 1、打开Docker公共镜像仓库,搜索xxl-job,复制镜…

GNN笔记系列 3

GNN笔记系列 21.Graph1.1Directed Graphs1.2Symmetric Graphs1.3Unweighted Graphs2.Graph Shift Operators(GSO)2.1Degree Matrix2.2Laplacian Matrix2.3Graph Shift Operator SSS3.Graph Signals4.Graph Convolutional Filters5.Time convolutions and graph convolutions6.G…

itertools包介绍——可以不用 但不能不知道——python包推荐系列

背景1 今天在看一个开源包,发现他的requirements.txt里面放着more_itertools包。 这个包的名字还是挺有意思的,在itertools包前面加上了一个more。难道是python自带的包itertools的加强版? 后来查了一下,这个包,果然…

高并发系统设计的15个锦囊

记得很久之前,去面试过字节跳动。被三面的面试官问了一道场景设计题目:如何设计一个高并发系统。当时我回答得比较粗糙,最近回想起来,所以整理了设计高并发系统的15个锦囊,相信大家看完会有帮助的。 如何理解高并发系统…

【云原生 | 51】Docker三剑客之Docker Compose第二节

🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 🏅2022年CSDN原力计划优质作者 🏅阿里云ACE认证高级工程师 🏅阿里云开发者社区专…

打卡第11天|力扣20. 有效的括号 、 1047. 删除字符串中的所有相邻重复项 、150. 逆波兰表达式求值 。

今天是打卡第十一天,题目主要是栈结构的运用20. 有效的括号题目链接如下:20. 有效的括号我们挨个遍历字符串,每有一个向左的字符串我们就往栈里面存一个向右的括号,遍历到向右的括号时,如果栈中类型相同就弹出&#xf…

在日本之后,中国也发布新型光刻机,ASML加快对中国出口光刻机

由于美国的影响,ASML对中国出售光刻机一直都在摇摆之中,不过2022年底至少有三家中国芯片企业获得ASML的光刻机,显示出ASML的态度再次发生变化,导致如此结果或许在于中国近期宣布的新型光刻机。一、开辟芯片制造新技术说到绕开ASML…

2022年9月CSP认证题解 如此编码(k进制),何以包邮?(背包问题),吉祥物投票(珂朵莉树、懒标记、并查集)

T1 如此编码 思路 由公式 和前缀乘积定义 得mb1a1b2⋅⋅⋅a1a2⋅⋅⋅an−1bnmb_1a_1\times b_2a_1\times a_2\times\times a_{n-1}\times b_nmb1​a1​b2​⋅⋅⋅a1​a2​⋅⋅⋅an−1​bn​, 上述公式可以提取公共乘项aia_iai​,写成m(bnbn−1⋅⋅⋅…

一文搞懂内存映射原理及使用方法

a. 内存映射原理内存映射即在进程的虚拟地址空间中创建一个映射,分为两种:文件映射:文件支持的内存映射,把文件的一个区间映射到进程的虚拟地址空间,数据源是存储设备上的文件。匿名映射:没有文件支持的内存…

2. 因子(factor)、缺失数据(na)、字符串、时间序列数据

课程视频链接:https://www.bilibili.com/video/BV19x411X7C6?p1 本笔记参照该视频,笔记顺序做了些调整【个人感觉逻辑顺畅】,并删掉一些不重要的内容 系列笔记目录【持续更新】:https://blog.csdn.net/weixin_42214698/category_…

字符的编码与乱码

目录 前言 1 计算机中字符的编码分类 1.1 常见非Unicode编码 1.1.1 ASCII 1.1.2 ISO 8859-1 1.1.3 Windows-1252 1.1.4 GB2312 1.1.5 GBK 1.1.6 GB18030 1.1.7 Big5 1.1.8 编码汇总 1.2、Unicode编码 1.2.1 UTF-32 1.2.2 UTF-16 1.2.3 UTF-8 1.2.4 Unicode编码…

A1032 Sharing

Powered by:NEFU AB-IN Link 文章目录A1032 Sharing题意思路代码A1032 Sharing 题意 To store English words, one method is to use linked lists and store a word letter by letter. To save some space, we may let the words share the same sublist if they share the s…

2032.1.7 学习总结

1.string与int之间的相互转化问题 &#xff08;1&#xff09;int转string&#xff1a;使用to_string函数 引入头文件: #include<string> 转int&#xff0c;float&#xff0c;double都可以 string to_string (int val); string to_string (long val); string to_string…

Java外卖点餐系统小程序+数据库源码(带本地部署搭建文档)源码免费分享!

亲测Java在线点餐系统小程序数据库源码带本地部署搭建文档 需要源码学习可私信我获取。 小程序外卖扫码点餐为客户提供的是最方便的饮食方式,以快速、便捷的点餐业务送货上门为 -客户服务,这省去了客户很多不必要的时间和麻烦,给商家带来更多利益。同时,小程序外卖扫码点餐可…

STM32从固件库到HAL库

让坚持成为一种热爱&#xff0c;极致成为一种精神。历时10个月&#xff0c;目前我又重新回到了程序员的身份&#xff0c;2023想玩不一样的嵌入式。&#x1f680; 目录前言一、安装STM32CubeMX二、配置自己的HAL库MDK工程三、HAL库与固件库的区别1.句柄2.回调函数3.时钟配置4.HA…

Bulma - 免费开源的纯 CSS 前端 UI 框架,专注于构建移动优先的响应式 web 界面

简单易用的 CSS 框架&#xff0c;虽然只有一个 CSS 文件&#xff0c;但功能很强大&#xff0c;在国外很受开发者欢迎&#xff0c;推荐给大家。 关于 Bulma CSS 框架 Bulma 是一个简单、很容易自定义的 CSS UI 框架&#xff0c;提供了众多预定义好的样式&#xff0c;开发者可以…

宠物吸毛器控制板开发,构建理想人宠共居空间

目前养宠物的人越来越多&#xff0c;猫狗等宠物一直存在着严重的掉毛情况&#xff0c;宠物毛发可能会引起过敏等疾病反应&#xff0c;日常生活中清理工作是一大难题&#xff0c;市面上关于宠物的吸毛产品非常的少&#xff0c;为此沐渥开发了一款宠物吸毛器控制板&#xff0c;适…

奇怪,郭德纲小儿子八岁生日,现场照片发布不久却被删除了

2022年1月5日&#xff0c;对于北京德云社来说&#xff0c;是一个双喜临门好日子&#xff0c;首先德云社相声春晚开始录制&#xff0c;其次郭德纲的儿子郭汾阳&#xff0c;也要过八岁生日了。郭汾阳作为德云社的少班主&#xff0c;是郭德纲老师和董事长王惠所生&#xff0c;老来…

与ChatGPT的聊天:如何使用Python连接Neo4j并创建无向图?

0. 前言 尝试请ChatGPT帮写代码&#xff1a; 但发现ChatGPT可以给出逻辑上正确的程序&#xff0c;一旦具体深入询问&#xff0c;有可能会产生错误。 当然&#xff0c;也可能因为提问的人比较少&#x1f923; 不管怎么说&#xff0c;这篇可以当成是对ChatGPT茶余饭后的谈资&am…