- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验十综合设计型实验.doc
综合性实验
一、实验目的:
本实验为学生提供了一个既动手又动脑,上机实践的机会。学生通过分析和解决该实验,将课本上的理论知识和实际有机地结合起来,锻炼学生分析、解决较复杂问题的能力,提高学生编写较大程序的能力。建立基本的软件工程思想。
二、实验内容
编写一个学生信息管理系统,主要用来管理学生基本信息及成绩信息。系统功能模块如下图:
具体要求:
1、建立学生信息,每个学生的信息应包括:学号、姓名、性别、班级、3门课程(计算机、高等数学、英语)的成绩。
2、数据输入:输入学生的各项信息(至少10名同学信息),并保存到文件中。
3、数据修改:输入学生的学号可以修改该学生的信息;简单的功能:直接输入该学生的所有信息。高级功能:修改的时候,提示原来输入的数据,然后让用户输入新的数据。直接按回车表示不需要修改。只要实现简单功能,就??为是符合要求(下同)。学有余力的同学可以实现高级功能。修改后的数据(包括原来的数据)保存到一个新的文件中。
4、数据处理:可以选择处理方式为:排序、查询、统计。其中:
a)排序:按学号排序。学有余力的同学可以实现按照姓名来排序。
b)查询:根据学号查询该学生的3门功课成绩(不要输出其他信息)。学有余力的同学可以另外实现这个查询要求:将所有有不及格科目(成绩小于60分)的学生查询出来。
c)统计:统计各学生的3门功课的平均成绩。
5、数据输出:相应输出上面数据处理后的学生的相应结果信息;
6、退出:退出整个学生信息管理系统。
三、上传实验报告要求:
将编写的源程序以“学号+ zhsy.c”为文件取名并且放入“平时作业”文件夹中,同时也存入sybg文件夹;并将实验报告以文件名“学号+ zhsy. doc”放到sybg的文件夹中。同时,输入的数据所生成的文件(你的学号.txt)也要一起上传至sybg文件夹。
即:sybg文件夹中除了原来的5个实验报告外,增加以下3个文件(请注意文件名一定要写对,其中2008100101是某学生的学号):
2008100101zhsy.doc
2008100101zhsy.c
2008100101.txt
参考内容:
1.构体类型的定义,建议使用如下结构:
struct student
{ int num;
char name[30];
char sex[8];
char classname[20];
int computer;
int math;
int english;
};
并定义结构体变量数组:
struct student stu[10];
将这些定义放在程序文件的首部,作为全局变量。
文件指针fp,也把它定义成全局的。
FILE *fp;
注意,为了简化程序,下面的函数中的参数n,大家可以省略,直接用10即可。
2.编写一个函数input,一次性输入10个学生的数据,并保存在一个文件中,要求保存的输入数据文件使用你的学号.txt,如:2006714101.txt。注意输入数据时,学号不要按顺序输入,以利于下面的排序操作。
void input(struct student s[],int n)
3.编写一个函数read,专门用于打开数据文件,读出其中的数据,保存到结构体变量数组中,用于后续的操作
void read(struct student s[],int n)
4.编写一个函数sort,实现对10个学生数据根据学号进行排序。
void sort(struct student s[],int n)
5.编写一个函数inquiry,实现根据学号进行查询.
void inquiry(struct student s[],int n,int stunumber)
6.编写一个函数modify,实现更根据学号进行修改. 修改后的可以数据保存到一个新文件中。也可以用“w” 方式打开原来的数据文档,把原来的整体覆盖掉,重新写入。
void modify(struct student s[],int n,int stunumber)
7.编写一个函数get_average_score,统计并打印各学生的3门功课的平均成绩。
void get_average_score(struct student s[],int n)
8.在main函数中,使用switch...case 结构,再加上goto 语句,实现循环,等待输入,并根据不同的输入执行相应的模块。
另外,还可以编写一个函数output,用于将结构体变量数组的全部内容打印输出。这样调用该函数可以方便地查看操作结果。
void output(struc
文档评论(0)