C++计算机课程设计 学生成绩管理系统 研究报告

  • 课程设计内容

2.1 学生成绩管理系统

2.1.1 内容

  1. 主菜单模块

该模块主要用来实现整个系统的流程。主界面提供用户选择并调用各个子模块。

  1. 输入模块

当初次使用系统时,学生信息需要从键盘逐个输入。学生信息由学生的学号、姓名、性别、高等数学、英语、计算机和平均成绩等信息构成。

  1. 查询模块

用户可以按照学生的学号或姓名进行查找。若查找到该学生的相关信息记录,则输出相关信息,否则提示未找到。

  1. 更新模块

主要完成对学生信息的维护。包括增加记录、删除记录、修改成绩。当完成更新记录后,需要将修改的数据存入数据文件中。

  1. 排序模块

根据键盘输入的升序或降序选择按平均成绩对学生记录进行排序,并输出排序后的结果。

  1. 统计模块

统计各个分数段的人数及不及格人数。

  1. 输出模块

将学生信息显示在屏幕上,并根据键盘输入的选择,如“是否保存到文件?(Y/N)”,可以将学生信息写入文件中。

  • 技术路线

这是一个综合性很强的课程设计,需要灵活运用本学期学的《C++程序设计基础》中的各种运算、逻辑、函数,如数据类型、常量变量、运算符与表达式、选择控制、循环控制、其他控制、函数调用、参数传递、数组、结构体、字符串、指针、宏、文件读写等等。

主菜单模块是整个程序的主要部分,在main函数中体现,其他模块分别用不同函数体现。

输入模块需要向结构体数组中输入学生有关信息,涉及到不同数据类型,需要在引用和传递中格外注意。

查询模块需要寻找不同学生的特征(学号,因为不会重复)来找到学生,进而输出与该生有关的所有数据,使用循环控制实现。

更新模块需要增加、删除、修改成绩,只需要先确定是哪一个学生,再改变学生成绩这一变量的值即可。要注意的是不要发生数组越界的情况,这也在编程过程中是一个需要注意的问题。

排序模块使用冒泡排序即可。

统计模块使用switch函数可以方便我们将成绩的不同分数段进行有效的分类。

输出模块需要使用学过的文件操作,要注意的是输出的数据一定要对齐显示,中文和字符串不要发生让系统崩溃的情况。

各个函数和变量、输入与输出之间的完美结合是这个课程设计的重中之重,只有经过不断的调试和运行,才能清除所有bug和程序崩溃、数组越界、结果错误的情况,达到成功的目标。

整个程序使用C++语言完成。

另外,在必须完成的任务之外,我的程序还有以下4个创新亮点:

1.随着IT行业的发展,对外开放和多种操作系统语言的适应成为了程序的重要功能。在刚刚打开程序时,会弹出选择语言的提示,有中文和英文两种系统语言可以选择,两种语言的功能和提示意义是完全相同的。

2.在日常生活中,我们经常可以看到各种软件和网页在使用时,为了防止外挂导致程序错误和服务器崩溃等情况,通常会让用户以不同的方式验证身份,如输入图片上的随机数、鼠标拖动滑块、选择图片上的物品等。在这个程序中,我在欢迎使用页面增加了验证码模块。本程序一共支持4种不同的验证方式,使用随机函数实现,分别是输入一个随机四位数、输入4个随机整数中的偶数、回答一道简单的计算题以及输入一个大写字母后面紧接的字母(如提示D输入E,提示U输入V)。

3.程序会让用户输入一个用户名,这个名字会在最后的文件中以“操作员:XXX”的形式体现。

4.在输出到文件时,文件中除了会整齐、正确地显示所有学生的信息和操作员名称,还会显示一个当前的系统时间,格式如“2018-01-02 10:11:12”。

  • 测试结果

为了保证打印质量,.exe文件运行界面使用Photoshop进行了黑白颠倒处理。

  • 系统使用说明

1.请在Windows或Mac OS下运行.exe程序,在版本高于或等于Visual C++ 6.0的编译环境中运行.cpp程序。

2.输入姓名时,请不要输入过长的姓名(如Professor Name Surname The Expert),以免出现输出格式不整齐的问题。

3.第一次使用程序时,务必先输入至少1个学生的信息,以免发生计算空值的错误。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hinomoto Oniko

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值