c语言课程设计网-学生成绩管理系统.doc

上传人:自*** 文档编号:126173355 上传时间:2020-03-22 格式:DOC 页数:20 大小:40KB
返回 下载 相关 举报
c语言课程设计网-学生成绩管理系统.doc_第1页
第1页 / 共20页
c语言课程设计网-学生成绩管理系统.doc_第2页
第2页 / 共20页
c语言课程设计网-学生成绩管理系统.doc_第3页
第3页 / 共20页
c语言课程设计网-学生成绩管理系统.doc_第4页
第4页 / 共20页
c语言课程设计网-学生成绩管理系统.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《c语言课程设计网-学生成绩管理系统.doc》由会员分享,可在线阅读,更多相关《c语言课程设计网-学生成绩管理系统.doc(20页珍藏版)》请在金锄头文库上搜索。

1、(一)、 课程设计题目学生成绩管理系统的设计与实现(二)、 课程设计目的1、 进一步掌握和利用C语言进行程设计的能力;2、 进一步理解和运用结构化程设计的思想和方法;3、 初步掌握开发一个小型实用系统的基本方法;4、 学会调试一个较长程序的基本方法;5、 学会利用流程图或N-S图表示算法;6、 掌握书写程设计开发文档的能力(书写课程设计报告);(三)、 设计内容1、每一条记录包括一个学生的学号、姓名、3门课成绩、平均成绩。2、输入功能:可以一次完成若干条记录的输入。3、显示功能:完成全部学生记录的显示。4、查找功能:完成按姓名查找学生记录,并显示。5、排序功能:按学生平均成绩进行排序。6、插入

2、功能:按平均成绩高低插入一条学生记录。7、将学生记录存在文件score中。8、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!(四)、 设计要求1、 用C语言实现系统;2、 利用结构体数组实现学生成绩的数据结构设计;3、 系统具有增加,查询,插入,排序等基本功能;4、 系统的各个功能模块要求用函数的形式实现;5、 完成设计任务并书写课程设计报告。6、 将学生成绩信息存在文件中。(五)、提交材料1、课程设计报告1)课程设计题目、内容、要求。2)总体设计(包含几大功能模块)。3)详细设计(各功能模块的具体实现算法流程图)4)数据结构设计描述,各模块(函数)的功能介绍,参

3、数说明等。5)调试分析(包含各模块的测试用例,及测试结果。)6)总结(课程设计完成了哪些功能,还有哪些地方需要改进,及通过一周的课程设计有何收获,调试程序的体会等)二:本程序共有八个功能与数据结构说明:学生记录的输入(一次性输入,输入个数由用户决定,最大可容纳80记录,最大数可以在源程序中改) 。追加学生记录。(追加后不能超过最在值80)。修改记录。删除记录。浏览全部记录。查找记录(按姓名查找)。插入记录。对记录进行排序(按平均成绩排序)。退出。10数据结构是这样的:学号只能由数字字符组成,最大可以个字符;姓名由字符组成,最大可以个字符;三门科目分数都是整型;平均成绩是实型。11程序中定义了学

4、生的容量为个。容量可以在源程序宏定义中改,本程序宏定义#define N 50#include#include/*控制学生记录的容量*/#define N 50struct studentchar num11;char name20;int score3;float ave;stuN;/*全新保存函数*/save(int n) /*保存函数,保存n个记录*/FILE *fp;int i;if(fp=fopen(score.txt,wb)=NULL) /*以输出打开方式,在此前的记录被覆盖*/ printf(nCannot open filen); return NULL; for(i=0;in

5、;i+) if(stui.ave!=0) /*stui.ave=0表此记录已删除*/ if(fwrite(&stui,sizeof(struct student),1,fp)!=1) printf(file write errorn);fclose(fp);/*加载记录或可以计算记录个数的函数*/load() /*加载记录或可以计算记录个数的函数*/FILE *fp;int i;if(fp=fopen(score.txt,rb)=NULL) /*以输出打开方式,在此前的记录被覆盖*/ printf(nCannot open filen); return NULL; for(i=0;!feof(

6、fp);i+) fread(&stui,sizeof(struct student),1,fp);fclose(fp);return(i-1); /*返回记录个数*/*一个任务结束时的选择浏览还是返回的函数*/void printf_back() /*一个任务结束时的选择浏览还是返回*/int k,w;printf(nntSuccessful. _nn);printf(What do you want to do? nnt1).Browse all nowt2).Back: bb);scanf(%d,&w);if(w=1) browse();else menu();/*显示数据结构项目函数*/

7、void printf_face() /*显示数据结构项目*/printf(ntNO. name score1 score2 score3 averagen);average(int i) /*对第i个记录的分数求平均值*/int j,sum;for(sum=0,j=0;j3;j+) sum+=stui.scorej;stui.ave=sum/3.0;/*学号输入函数*/no_input(int i,int n) /*i表示第i个的学生信息,n表示比较到第n个学生*/int j,k,w1; do w1=0; printf(NO.:); scanf(%s,stui.num); for(j=0;s

8、tui.numj!=0;j+) /*学号输入函数,作了严格规定*/ if(stui.numj9) /*判断学号是否为数字*/ puts(Input error! Only be made up of (0-9).Please reinput!n); w1=1;break; if(w1!=1) for(k=0;kn;k+) /*比较到第n个学生*/ /*排除第i个学生记录即你要修改的*/ if(k!=i&strcmp(stuk.num,stui.num)=0) /*判断学号是否有雷同*/ puts(This record is exist. please reinput!n); w1=1;bre

9、ak; while(w1=1);/*对分数输入*/score_input(int i)int j;for(j=0;j3;j+) printf(score %d:,j+1); scanf(%d,&stui.scorej); /*输入一个记录函数*/input(int i) /*输入一个记录函数*/no_input(i,i); /*调用学号输入函数*/printf(name:);scanf(%s,stui.name);score_input(i); /*调用分数输入函数*/average(i); /*调用求平均值函数*/*显示一个记录的函数*/printf_one(int i) /*显示一个记录的函数*/int j;printf(%11s %-17s,stui.num,stui.name);for(j=0;jnn 1).NO. 2.name 3).score1 4).score2n 5).score3 6).all score 7).all data 8).cancel and back); printf(Which you needed?: bb); scanf(%d,&c); if(c8|c8|c2&c7) average(i); /*调用求平均值函数*/

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号