- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(一)、 课程设计题目
《学生成绩管理系统》的设计与实现
?
(二)、 课程设计目的
1、? 进一步掌握和利用C语言进行程设计的能力;
2、? 进一步理解和运用结构化程设计的思想和方法;
3、? 初步掌握开发一个小型实用系统的基本方法;
4、? 学会调试一个较长程序的基本方法;
5、? 学会利用流程图或N-S图表示算法;
6、? 掌握书写程设计开发文档的能力(书写课程设计报告);
?
?
(三)、 设计内容
1、每一条记录包括一个学生的学号、姓名、3门课成绩、平均成绩。
2、输入功能:可以一次完成若干条记录的输入。
3、显示功能:完成全部学生记录的显示。
4、查找功能:完成按姓名查找学生记录,并显示。
5、排序功能:按学生平均成绩进行排序。
6、插入功能:按平均成绩高低插入一条学生记录。
7、将学生记录存在文件score中。
8、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!
?
(四)、 设计要求
1、? 用C语言实现系统;
2、? 利用结构体数组实现学生成绩的数据结构设计;
3、? 系统具有增加,查询,插入,排序等基本功能;
4、? 系统的各个功能模块要求用函数的形式实现;
5、? 完成设计任务并书写课程设计报告。
6、? 将学生成绩信息存在文件中。
?
(五)、提交材料
1、课程设计报告
1)课程设计题目、内容、要求。
2)总体设计(包含几大功能模块)。
3)详细设计(各功能模块的具体实现算法——流程图)
4)数据结构设计描述,各模块(函数)的功能介绍,参数说明等。
5)调试分析(包含各模块的测试用例,及测试结果。)
6)总结(课程设计完成了哪些功能,还有哪些地方需要改进,及通过一周的课程设计有何收获,调试程序的体会等)
二:本程序共有八个功能与数据结构说明:
1.学生记录的输入(一次性输入,输入个数由用户决定,最大可容纳80记录,最大数可以在源程序中改) 。
2.追加学生记录。(追加后不能超过最在值80)。
3.修改记录。
4.删除记录。
5.浏览全部记录。
6.查找记录(按姓名查找)。
7.插入记录。
8.对记录进行排序(按平均成绩排序)。
9.退出。
10.数据结构是这样的:学号只能由数字字符组成,最大可以11个字符;姓名由字符组成,最大可以20个字符;三门科目分数都是整型;平均成绩是实型。
11.程序中定义了学生的容量为50个。容量可以在源程序宏定义中改,本程序宏定义#define N 50
#includestring.h#includestdio.h/*控制学生记录的容量*/#define N 50struct student{char num[11];?char name[20];?int score[3];?float ave;}stu[N];/*全新保存函数*/save(int n)????????????????????? /*保存函数,保存n个记录*/{FILE *fp;?int i;?if((fp=fopen(score.txt,wb))==NULL)??? /*以输出打开方式,在此前的记录被覆盖*/? {printf(\nCannot open file\n);?? return NULL;? }?for(i=0;in;i++)?? if(stu[i].ave!=0)??????????? /*stu[i].ave=0表此记录已删除*/???? if(fwrite(stu[i],sizeof(struct student),1,fp)!=1)?????? printf(file write error\n);?fclose(fp);}?/*加载记录或可以计算记录个数的函数*/load()?????????????????????? /*加载记录或可以计算记录个数的函数*/{FILE *fp;?int i;?if((fp=fopen(score.txt,rb))==NULL)??? /*以输出打开方式,在此前的记录被覆盖*/? {printf(\nCannot open file\n);?? return NULL;? }?for(i=0;!feof(fp);i++)? fread(stu[i],sizeof(struct student),1,fp);?fclose(fp);?return(i-1);??????????????? /*返回记录个数*/}/*一个任务结束时的选择浏览还是返回的函数*/void printf_back()????????????? /*一个任务结束时的选择浏览还是返回*/{int k,w;?printf(\n\n\tSuccessful. ^_^\n\n);
文档评论(0)