2022年大作业参考报告-使用C++语言开发小学生成绩管理系统、中学生成绩管理系统、大学生成绩管理系统【240621更新】

背景:

目录

第一章 需求分析 2

1.1 问题描述 2

6.1 功能需求 2

6.2 开发环境 2

6.3 开发过程 2

第二章 概要设计 3

2.1 总体设计 3

2.2 类的定义 3

2.3 接口设计 5

2.4 运行界面设计 6

第三章 详细设计 7

3.1 输入模块设计 7

3.2 查找、编辑模块设计 8

3.3 删除模块设计 8

3.4 文件读写模块设计 9

3.5 显示(含排序)模块设计 10

第四章 测试分析 12

4.1 测试程序执行情况 12

第六章 课程设计总结 13

附录:程序代码 13

第一章 需求分析

1.1问题描述

2学生信息包括:学号、姓名、性别、年龄、班级等信息。

3小学生除了包括学生所有信息外,还包括英语、数学和语文成绩。

4中学生除了包括小学生所有信息外,还包括地理、历史成绩。

5大学生除了包括学生所有信息外,还包括专业、英语、程序设计和高等数学等课程。

6设计一程序能够对学生成绩进行管理。

6.1功能需求
(1)添加功能:程序能够添加不同学生的记录,提供选择界面供用户选择所要添加的类别,要求学号要唯一,如果添加了重复学号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:可根据学号、姓名等信息对已添加的学生记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能:可显示当前系统中所有学生的记录,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意学号的唯一性。
(5)删除功能:主要实现对已添加的学生记录进行删除。如果当前系统中没有相应的记录,则提示"记录为空!"并返回操作。
(6)统计功能:能根据多种参数进行统计。能统计学生人数、总分、单科的平均分等。
(7)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。
(8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。
(9)排序功能:可按总分和单科成绩排名次。

6.2开发环境

Code::Blocks是一个免费、开源、跨平台的集成开发环境,使用C++开发,并且使用wxWidgets做为GUI函式库。Code::Blocks使用了外挂程式架构,其功能可以使用外挂程式自由地扩充。目前,Code::Blocks主要针对开发C/C++程式而设计。Code::Blocks目前支援Windows、Linux及Mac OS X数种平台,能够在FreeBSD环境中架设Code::Blocks。

6.3开发过程

第一天 选择课程设计题目,分析课题的要求

第二天 编程

第三天 编程及调试

第四天 写课程设计报告

第五天 提交课程设计报告

第二章概要设计

2.1总体设计

根据需求分析,由于学生种类包括小学生、中学生、大学生,所以设计了三个类(Ele_Student_System /Senior_Student_System /Uni_Student_System),用于封装不同种类的学生信息与成员函数。
其主要功能模块有:
(1)键盘输入
(2)屏幕输出
(3)文件读取
(4)文件写入
(5)统计
(6)排序
(7)编辑
(8)删除
各功能模块的调用应通过菜单进行选取。
为了让程序看起来更简洁明了,一级菜单。

2.2类的定义

由于小学生、中学生、大学生三种不同分类的信息组需要用到的函数大同小异,所以中学生类和大学生类是在小学生类的基础上进行添加与修改的。

类定义以小学生类为例展示:

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 11 class Ele_Student_System 12 { 13 private : 14 15 int number; 16 string name; 17 int age; 18 string sex; 19 string class_info; 20 21 float English; 22 float Math; 23 float Chinese; 24 float Total; 25 26 public : 27 28 //Ele_Student_System(); 29 void Recording(); 30 float Counting_English( int Amount ); 31 float Counting_Math( int Amount ); 32 float Counting_Chinese( int Amount ); 33 void Writting(); 34 void Reading(); 35 36 void Sorting_English( int Amount ); 37 void Sorting_Total( int Amount ); 38 void Sorting_Math( int Amount ); 39 void Sorting_Chinese( int Amount ); 40 41 void Showing_All(); 42 void Removing(); 43 void Searching( string name, int Amount ); 44 void Searching( int number, int Amount ); 45 void Modifing ( int i ); 46 47 }; 48 49 Ele_Student_System Student[101]; |

2.3接口设计

2.4运行界面设计

第三章 详细设计

3.1输入模块设计

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 55 void Ele_Student_System :: Recording() 56 { 57 int n = Ele_Amount; 58 char Choice = 'Y'; 59 while ( Choice == 'Y' ) 60 { 61 cout << " è¾"å...¥å¦å·: "; 62 cin >> Student[n].number; 63 int i = 0; 64 for ( i=0; i<Ele_Amount; i++ ) 65 { 66 if ( Student[i].number == Student[n].number ) 67 { 68 cout << " æ¤å¦å·å·²å˜åœ¨!" << endl ; 69 goto End; 70 } 71 else continue ; 72 } 73 cout << " è¾"å...¥å§"å: " ; 74 cin >> Student[n].name; 75 cout << " è¾"å...¥å¹´é¾„: " ; 76 cin >> Student[n].age; 77 cout << " è¾"å...¥æ€§åˆ<<: " ; 78 cin >> Student[n].sex; 79 cout << " è¾"å...¥ç级: " ; 80 cin >> Student[n].class_info; 81 cout << " 英è¯æˆç>>©: " ; 82 cin >> Student[n].English; 83 cout << " æ•°å¦æˆç>>©: " ; 84 cin >> Student[n].Math; 85 cout << " è¯æ--‡æˆç>>©: " ; 86 cin >> Student[n].Chinese; 87 Student[n].Total = Student[n].English + Student[n].Math + Student[n].Chinese; 88 cout << " æ€>>æˆç>>©: " << Student[n].Total << endl ; 89 n++; 90 Ele_Amount++; 91 Ele_Surplus--; 92 End: cout << '\n' << " ç>>§ç>>è¾"å...¥æ--°çºªå½•å--- ? (Y/N) : " ; 93 cin >> Choice ; 94 } 95 cout << " [ Finished ] " << endl ; 96 } |

3.2查找、编辑模块设计

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 284 void Ele_Student_System :: Searching ( string name, int Amount ) 285 { 286 int i = 0; 287 int Result = 0; 288 for ( i=0; i<Amount; i++ ) 289 { 290 if ( name == Student[i].name ) 291 { 292 cout << " 查找到记录: " << Student[i].number << " " << Student[i].name << " " << Student[i].age << " " << Student[i].sex << " " << Student[i].class_info << " " << Student[i].English << " " << Student[i].Math << " " << Student[i].Chinese << endl ; 293 Result = 1; 294 cout << " 进行修æ"¹å---? Y/N : "; 295 char Modification='N'; 296 cin >> Modification; 297 if ( Modification=='Y' ){ Modifing( i );} 298 break ; 299 } 300 else continue ; 301 } 302 if ( Result == 1 ) {cout << " [ Finished ] " << endl ;} 303 else {cout << " [ The record not exist! ]" << endl ;} 304 } 305 |

........

添加其它模块

第四章 测试分析

4.1测试程序执行情况

再添加各种测试截图

第六章课程设计总结

这学期通过学习C++,对C语言和C++语言都有了更深刻的认识,也学习到了面向对象程序设计的思想与方法。

C++主要在类、对象以及一些stream上有了扩充,这使得它更加能够适应各种编程需要,但是也是难度提升的一些知识点,我在编写类这块内容时,有时自己思路结构不清晰的话写出来的东西报错就很严重。。。。。。。。。。。。。。。。。

附录:程序代码

过程:

Dev-C++使用C++语言开发

**系统包含小/中/大学生成绩管理三个子系统,**此处以小学生成绩管理系统举例

小学生成绩管理系统主界面

插入学生信息

显示所有学生信息

根据姓名查询学生信息

通过学号查询学生信息

通过数学成绩排序

通过英语成绩排序

通过语文成绩排序

统计学生成绩

通过学号修改学生记录

删除学生记录

源码、报告获取

欢迎大家点赞、收藏、关注、评论、批评啦 、查看👇🏻👇🏻获取联系方式👇🏻👇🏻

相关推荐
ka2x28 分钟前
订单折扣金额分摊算法|代金券分摊|收银系统|积分分摊|分摊|精度问题|按比例分配|钱分摊|钱分配
java·c语言·c++·python·算法·spring·spring cloud
爱上电路设计4 小时前
有趣的算法
开发语言·c++·算法
窜天遁地大吗喽4 小时前
每日一题~ (判断是否是合法的出栈序列)
c++
yachihaoteng7 小时前
Studying-代码随想录训练营day27| 贪心算法理论基础、455.分发饼干、376.摆动序列、53.最大子序和
c++·算法·leetcode·贪心算法
逸群不凡7 小时前
C++|哈希应用->布隆过滤器
开发语言·数据结构·c++·算法·哈希算法
从后端到QT7 小时前
Qt 基础组件速学 鼠标和键盘事件
c++·qt
远望创客学堂8 小时前
【单片机毕业设计选题24047】-基于阿里云的工地环境监测系统
stm32·单片机·嵌入式硬件·阿里云·云计算·课程设计·arduino
quaer8 小时前
使用引用返回类对象本身
开发语言·c++·算法
w_outlier8 小时前
gcc/g++的四步编译
linux·c++·gcc·g++
Navigator_Z8 小时前
C++ //练习 14.39 修改上一题的程序令其报告长度在1至9之间的单词有多少个、长度在10以上的单词又有多少个。
开发语言·c++·算法