没有合适的资源?快使用搜索试试~ 我知道了~
学生成绩管理程序设计 内容:要求学生记录中包含学号、姓名、至少3门课程的成绩、总分、平均分和名次等信息,程序具有数据录入、删除、修改、浏览、查找、排序以及数据保存等功能。
资源推荐
资源详情
资源评论
唐山学院课程设计
一、系统概述
1、课程设计应完成的工作
(1)编写算法
(2)算法测试,并有具体的测试结果和结果分析
(3)撰写课程报告,内容包括:
①封面
②目录
③课程设计报告正文
④使用说明
⑤参考文献
2、总体设计工作(包含几大功能模块)
(1)输入学生信息并保存到文件
(2)读取文件并输出学生信息
(3)按学号及学期查询
(4)按姓名及学期查询
(5)按学号及学期修改信息
(6)插入信息
(7)按学号及学期删除信息
(8)按数据结构降序(冒泡)排序
(9)按总分降序(选择)排序
(10)统计各科成绩的总分和平均分
(11)退出
一、需求分析
1、系统需求
(1)问题描述:
该系统实现对若干个大学生的学习成绩进行管理。至少包括以下信息:
学号、姓名、科目、成绩,学期。学期取值范围可为 1-8。
(2)功能要求:
1.使用中文菜单,界面设计和用户输入输出要人性化些;
2. 将学生信息保存在文本文档中,具体对学生信息进行插入删除查询操作时,
将保存在文本文档中的学生信息提取出来,保存在自己定义的数据结构中,然
后再对该数据结构进行操作,所有操作完成,或者在相应的命令后,再将学生
唐山学院课程设计
信息保存到文本文档中。
3.具有数据输入功能,输入的数据能最终保存在文件中;
4.具有数据删除功能,能最终从文件中删除;
5.排序功能,根据自己设计的数据结构,设计排序算法
6.具有多种查询(如按学号查询、按姓名查询、按成绩查询等)及输出功能;
7.其它功能(如各种统计,统计每个学生所有课程的平均分,统计某门课程
所有学生的平均分等等)
8.学生信息的修改(比如修改学生姓名,修改学生某门课程的成绩)
(3)说明:
①功能各方面越完善越好
②自定义的数据结构可以使用数组,链表,树等,然后根据不同的数据结
构,设计不同的排序,查找算法。其中,排序算法至少有两种,可以使用多种
数据结构来存放数据,然后在其上使用不同的排序算法。
③若用数组,必须动态分配空间(文本文件中最好有一行表示学生人数)
(4)输入输出的形式
本系统是一个学生成绩管理系统,采用 VC++6.0 编译器作为开 发环境,这个
环境是我们在学习 C++的平台。输入数据类型主要是 char、int、oat 等数
据类型,输入内容包括:学期、学号、姓名、高等数学成绩,数据机构成绩,
组成原理成绩,总分,平均分等数据。用户在输入学生数据时要保证输入数据
格式的正确性,系统不会自动检测输入的数据是否正确,输出形式与输入形式
类似,根据需要可以选择显示输入的各项内容,还可以选择显示计算好平均分
后并排序后的记录,显示内容包括:学期、学号、姓名、高等数学成绩,数据
机构成绩,组成原理成绩,总分,平均分等数据。
2、开发环境
Visual C++不仅仅是是一个 C++编译器,而是一个基于 Windows 操作系统
的可视化集成开发环境IDE,这种环境开发出来的软件稳定性好、可移植性
强,可以编制各种各样的 Windows 应用程序。
二、详细设计
1、界面设计
主界面:在此界面用户可以选择要操作的选项,回车之后即可进入相关的页面
进行操作,所有操作均有提示语,比较人性化的管理,易懂,简单。
唐山学院课程设计
2、系统流程图
3、大概设计模块
(1)先编入系统所需的库函数,从而使程序可运行。
#include<iostream.h>
#include<stdlib.h>
#include<iomanip.h>//主要是对 cin,cout 之类的一些操纵运算,是 I/O 流控
制头文件。
#include <conio.h> //文件和标准控制台的输入输出
#include<stdio.h>
(2)Main()函数的设计
在 main()函数中主要运用 do-while 循环语句和 switch()-case 选择判断
语句来调用相关
功能模块。系统的运行是在一个永真的循环里进行的,只有在主界面并选择“退
出”时,才会跳出永真循环,并退出程序。
(3)主界面的设计
在主界面中包括“①输入学生信息并保存到文件 ②读取文件并输出学生信息
③按学号及学期查询 ④按姓名及学期查询 ⑤按学号及学期修改信息 ⑥插入信息
⑦按学号及学期删除信息 ⑧按数据结构降序(冒泡)排序 ⑨按总分降序(选择)排
开始
主界面
输
入
学
生
成
绩
输
出
学
生
成
绩
查
询
学
生
信
息
修
改
学
生
信
息
插
入
学
生
成
绩
按
总
分
排
序
按
单
科
排
序
删
除
学
生
信
息
退
出
本
系
统
结
束
唐山学院课程设计
序 ⑩统计各科成绩的总分和平均分 11退出”等全部的功能,之所以设计这麽一
个主界面,一是因为能使用户对程序操作的流程更加清晰简明,二是保证了用
户同时只能对一个文件进行操作系统的要求,保证了系统不会打开文件紊乱或
者出现致命的错误。每个函数体如下:
Void main(); //主函数
void input(Student *r); //输入学生信息及数据
void output(Student *r); //输出学生信息及数据
void searchnum(Student *r); //按学号及学期查找学生信息
void searchname(Student *r); //按姓名及学期查找学生信息
void change(Student *r); //按学号及学期修改学生信息
Student *insert(Student *r); //插入学生信息
void shanchu(Student *r); //按学号及学期删除循声信息
void maopao(Student *r); //按数据结构降序(冒泡)排序
void xuanze(Student *r); //按总分降序(选择)排序
void tongji(Student *r); //统计各科总分和平均分信息
4、详细设计思想
(1)确定语言算法
由于之前都没有做过类似的设计,所以一时间不能够确定到底使用何种语言
来设计本系统,所以在网上看了一些其他人设计的程序,链表的、数组的,C+
+的,各种各样的,也不知如何选择,但是仔细地看了其中的设计思想,最终
还是用 C++和指针数组的来做,一是觉得本人对链表掌握的不是很熟练,那么
在设计过程中容易产生不能理解的错误,耽误时间,二是想运用 C++,可以巩
固一下所学的数据结构的知识,之前做实验的时候一直用 C 来做,都没怎么用
所学的知识,这时候想练练。就这样确定了整体的结构算法。
(2)确定程序主要功能模块
这个就比较简单了,主要是根据系统设计的说明及要求来设计,从而设计了
十大功能模块,有文件操作,有系统维护功能,排序和统计功能,有输入输出
等基本功能,比较人性化,添加了较多的提示语。这个程序的主要功能时输入
学生的学号,姓名,学期和三科成绩来对其进行存储,在存储后可以对学生的
唐山学院课程设计
成绩按学号及学期或姓名及学期来进行查询,同时输出此同学的平均分及总分
之后可以对某个同学的成绩进行各种操作,例如修改,删除等,同时还可以对
学生们的成绩按照总分或单科成绩排序,在整个过程中所做的操作都会保存
到"student.txt"文件中并显示。
(3)系统结构体的设计
struct Student //结构体
{ int term;//学期
int num;//学号
char name[12];//姓名
oat mark1;//成绩
oat mark2;
oat mark3;
oat sum;//总分
oat average;//平均分
};
Student 结构体说明表
名称 属性 说明
term
数据成员
说明学生学期
num
数据成员
说明学生学号
name
数据成员
说明学生名字
mark1
数据成员
说明学生高等数学成绩
mark2
数据成员
说明学生数据结构成绩
mark3
数据成员
说明学生组成原理成绩
sum
数据成员
说明学生总成绩
average
数据成员
说明学生平均成绩
(4)各功能模块的设计
1、主函数模块
用函数 void main()来实现。主要是来显示主菜单,使用户选择操作。首先
定 义 一 个 指 针 数 组 ( 全 局 使 用 ) Student *p=(Student *)new
Student[num];在此处 num 是指学生个数,并不是学号,之前有定义的(不
Studen
t
学
期
学
号
姓
名
成
绩
一
成
绩
二
成
绩
三
平
均
分
总
分
剩余27页未读,继续阅读
资源评论
qwertttre
- 粉丝: 0
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功