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

本文主要是介绍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++语言开发

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

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

插入学生信息

显示所有学生信息

根据姓名查询学生信息

通过学号查询学生信息

通过数学成绩排序

通过英语成绩排序

通过语文成绩排序

统计学生成绩

通过学号修改学生记录

删除学生记录

源码、报告获取

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

这篇关于2022年大作业参考报告-使用C++语言开发小学生成绩管理系统、中学生成绩管理系统、大学生成绩管理系统【240621更新】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1084759

相关文章

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

LiteFlow轻量级工作流引擎使用示例详解

《LiteFlow轻量级工作流引擎使用示例详解》:本文主要介绍LiteFlow是一个灵活、简洁且轻量的工作流引擎,适合用于中小型项目和微服务架构中的流程编排,本文给大家介绍LiteFlow轻量级工... 目录1. LiteFlow 主要特点2. 工作流定义方式3. LiteFlow 流程示例4. LiteF

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔