1、7、将学生记录存在文件score中。8、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!(四)、 设计要求1、 用C语言实现系统;2、 利用结构体数组实现学生成绩的数据结构设计;3、 系统具有增加,查询,插入,排序等基本功能;4、 系统的各个功能模块要求用函数的形式实现;5、 完成设计任务并书写课程设计报告。6、 将学生成绩信息存在文件中。(五)、提交材料1、课程设计报告1)课程设计题目、内容、要求。2)总体设计(包含几大功能模块)。3)详细设计(各功能模块的具体实现算法流程图)4)数据结构设计描述,各模块(函数)的功能介绍,参数说明等。5)调试分析(包含各模块的测
2、试用例,及测试结果。)6)总结(课程设计完成了哪些功能,还有哪些地方需要改进,及通过一周的课程设计有何收获,调试程序的体会等)二:本程序共有八个功能与数据结构说明:学生记录的输入(一次性输入,输入个数由用户决定,最大可容纳80记录,最大数可以在源程序中改) 。追加学生记录。(追加后不能超过最在值80)。修改记录。删除记录。浏览全部记录。查找记录(按姓名查找)。插入记录。对记录进行排序(按平均成绩排序)。退出。10数据结构是这样的:学号只能由数字字符组成,最大可以个字符;姓名由字符组成,最大可以个字符;三门科目分数都是整型;平均成绩是实型。11程序中定义了学生的容量为个。容量可以在源程序宏定义中
3、改,本程序宏定义#define N 50三:下面是各个模块的流程图()、主菜单函数;这就是程序刚运行出现的。主介面的流程图如下清屏显示一系列功能选项输入n判断n,(必须是0)Y NW1=0W1=1While(w1=1)对n多分支选择switch(n);n=1n=2n=3n=4n=5n=6n=7n=8n=9全新输入模块追加模块修改模块删除模块浏览模块查找模块插入模块排序模块退出程序(一)、全新输入模块流程图输入用户要输入学生记录的个数nFor(i=0;i2用起泡法排序,并保存While(c=2)(八)、排序模块流程图 int i,j,k,n;用选择法排序提示保存成功按任意键盘getch();四:
4、除模块函数外还有自定义函数,下面这些自定义的函数作流程图保存函数save(int n)FILE *fp;int i;If(fp=fopen(“score.txt”,”wb”)=NULL)提示不能打开.Return NULL;n:if(stui.ave!=0)写到文件关闭文件fclose(fp);形参n是控制保存的个数stuk.ave=0;作删除标记,保存时则不保存此记录2加载函数load()If(fp=fopen(“score.txt”,”rb”)=NULL)!feof(fp):fread(&stui,sizeof(struct student),1,fp);return(i1);此函数可以用
5、来加载所有记录,并且可以返回所有记录的个数。学号输入函数no_input(int i,int n)int j,k,w1;输入学号stui.numFor(j=0;stui.numj!=0;j+)学号是否为数字提示学号不对;break;if(w1!=1)For(k=0;kk+)学号与其它相同)提示此学生已存在此函数对学号输入进行判断确保输入的学号唯一。形参i表示第i个学生记录,形参n表示总共有n个学生记录。对三科科目分数输入函数score_input(int i)int j;for(j=0;j3;输入分数stui.scorej开参i表示第i个学生记录。求平均值函数average(int i)int j,sum;For(sum=0,j=0;sum+=stui.scorejstui.ave=sum/3.0形参i表示第i个学生记录,输入整一个记录函数input(int i)调用学号输入函数no_input(i,i);输入学生姓名stui.name调用分数输入函数score_input(i);调用求平均值函数average(i);修改整条记录函数modify_data(int i,int n)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1