- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
综合性实验:小学生成绩管理系统
实验学时:4学时
涉及的知识点:分支语句、循环、分类统计、结构体、函数、文件操读写,记录的排序、增删改查等操作
一、实验目的
综合应用分支语句、循环、结构体、函数、文件操读写、排序等知识,实现一个小学生成绩管理系统的程序。
(1)掌握结构体的类型声明、变量定义与初始化;
(2)掌握函数的声明、定义和调用,能够正确理解、使用指针作参数的函数;
(3)理解模块化程序设计的要点:把一个较大的程序模块划分为若干小模块,小模块包含一个或多个函数,每个函数实现一个特定的功能,main函数起主控作用;
(4)熟悉控制台环境下菜单设计的基本思路,并能通过菜单的选择调用相应函数模块;
(5)掌握文本文件的打开、读取、写入、关闭等操作;
(6)熟悉记录的排序、增删改查操作的基本思路。
二、实验内容
某小学要求在学生考试结束后,对考试成绩进行简单的处理和统计。功能包括:成绩的输入、删除、修改、查找、排序、统计、保存到文件等。学生的考试科目有:语文、数学和外语三科。学生基本信息包含:学号、姓名两项。学生总人数不超过1000人。一个学生的所有信息(包括基本信息、成绩等)为一条记录。
主要功能列举如下:
(1)输入若干条学生成绩记录(包括学号、姓名、各科成绩)。
(2)显示所有记录。
(3)计算每个学生的总分。
(5)按姓名查找并显示相应的记录。
(6)按学号查找并删除相应的记录。
(7)输出各个科目的统计信息(最高分、平均分、及格率、优秀率等)。
(8)将数据保存到文本文件中。
(9)从文本文件中读取数据。
三、实验器材设备
安装了Windows XP(或其他版本的Windows操作系统)和VS 2010(或以上版本的Visusl Studio版本)的PC机一台。
四、实验要求
(1)主要的数据存储方式
该程序主要处理学生成绩。学生成绩数据比较多,而每个学生的信息都具有相同的结构,这种情况最适宜采用结构体数组进行存储。因为已经知道学生人数不超过1000人,所以只需要定义元素个数为1000的结构体数组即可。为了适当增加灵活性,可以将学生人数的最大值定义为一个常数。如果学生人数不能??测,则需要利用动态内存分配技术和链表等,复杂度会增加。
结构体定义:注意包含学生基本信息、三科成绩,另外还要一个总分字段。
#define MAX_STUDENT_COUNT 1000
typedef struct /*定义结构体数组*/
{
int num; /*学号*/
char name[20]; /*姓名*/
double chi; /*语文*/
double math; /*数学*/
double eng; /*英语*/
double total; /*总分*/
}Student;
Student Stud[MAX_STUDENT_COUNT]; /* 结构体数组变量 */
int Student_Count; /* 学生记录数 */
由于整个程序功能主要就是围绕这个结构体数组进行,为了减少参数的传递,可以将变量定义为全局变量。
(2)主菜单设计
程序的功能比较多,为了方便用户操作,常用的方式是在进入程序后提供一个主菜单(列出程序提供的功能),让用户可以通过直观的方式选择要执行的功能。
主菜单的设计要注意,应该包含所有的系统功能,并且有快捷键执行相应的菜单。
根据本程序的功能,可以设计如图1所示的主菜单:
图1 系统主菜单示图
用户在执行完一个功能后,往往还要继续执行另一个功能。此时需要循环地显示主菜单,输入用户的选择,并执行相应的功能。一般使用如下的循环实现:
while(choice!=q)
{
//显示主菜单
choice = getchar();
switch(choice)
{
case 1://执行功能1
break;
case 2://执行功能2
break;
...
case 0:
}
}
设计好菜单显示的内容之后,只需要直接显示出来即可。
(3)数据的显示
在程序的多处地方都需要显示数据,一些地方需要显示多条记录,而另外一些地方则需要显示单条记录。该程序对多条记录和单条记录均采用统一的输出格式,方便了程序的编写。
显示方法为首先显示统一的表头,然后依次显示每一条记录的内容。
(4)文本文件格式的设计
程序需要输出数据到文本文件中,并且要求还能够从文本文件中读取数据。如果设计不合理,会导致生成的数据文件无法正确读取出来等问题。
为了方便数据的写入和读取,这里采用文本文件格式。格式如下:
记录总数
学号
姓名
语文,数学,英语
...
学号
姓名
语文,数学,英语
例如:
文档评论(0)