c语言程序设计报告-c语言学生成绩管理系统源程序内容摘要:

均成绩 ,最低分数科目成绩 ,最低分科目 }。 printf(原始信息如下: \n)。 for(i=0。 i5。 i++) printf(%s:%d\n,name[i],a[i])。 printf(%s:%d\n,meanlow[i],a[i+5])。 printf(全班各科平均成绩如下: \n)。 for(i=0。 i5。 i++) printf(%s:%d\n,name[i],a[i])。 printf(统计结果如下: \n)。 printf(%s:%d\n,meanlow[0],a[5])。 printf(%s:%d\n,meanlow[1],average(a))。 printf(%s:%d\n,meanlow[2],lowest(a))。 b=subject(a,5)。 printf(%s:%s\n,meanlow[3],name[b])。 } int average( int *b)//求平均成绩 {int sum=0 ,i,aver。 for(i=0。 i5。 i++) sum=sum+b[i]。 aver=sum/5。 return aver。 } int lowest(int *b)//求最低成绩 {int t=b[0],i。 for(i=0。 i5。 i++) {if(tb[i]) t=b[i]。 } return t。 } int subject(int *c,int n)//求最低成绩的科目 {int i, t=c[0],m=0。 for(i=1。 in。 i++) {if(tc[i]) {t=c[i]。 m++。 } } return m。 } . .. 2. 5 程序运行截图 . .. 第三章 学生成绩管理系统 3. 1 设计题目及要求 ,所以将它们分为几个部分叙述。 建立文件  可以使用默认文件名或指定文件名将记录存储到文件;  文件保存成功返回 0,失败返回 1;  设置保存标志 savedTag 作为是否对记录进行存储操作的信息;  写同名文件将覆盖原来文件的内容; 增加学生记录  可在已有记录后面追加新的记录  可以随时用它增加新的记录,它们仅保存在结构数组中;  可以将一个文件读入,追加在已有记录之后;  如果已经采取文件追加的方式,在没有保存到文件之前,将继续保持文件追加状态,以便实现连续文件追加操作方式;  如果没有记录存在,给出提示信息。 显示记录  如果没有记录可供显示,给出提 示信息;  可以随时显示内存中的记录 文件存储  可以按默认名字或指定名字存储记录文件;  存储成功返回 0.,否则返回 1;  更新存储标志; 读取文件  可以按照默认名字或指定名字将记录文件读入内存;  读取成功返回 0,否则返回 1;  可以将指定或默认文件追加到现有记录并更新记录的尾部;  可以将文件连续追加到现有记录并更新记录的名词;  更新存储标志; 删除记录  可以按“学好”、“姓名”、“名词”方式删除记录;  给出将删除记录的信息,经确认后在删除;  如果已经是空表,删除时给出提示信息并返回菜单;  如果没有要删除的信息 ,输出没有找到的信息;  应该更新其他记录的名词;  删除操作权限于内存,只有执行存记录时,才能覆盖原记录; . .. 修改记录  可以按“学号”、“姓名”、“名次”方式修改记录内容;  给出将修改记录的信息,经确认后进行修改;  如果已经是空表,应给出提示信息并返回主菜单;  如果没有找到需要要改的信息,输出提示信息;  应该同时更新其他记录的名词;  修改操作权限于内存,只有进行存储操作时,才能覆盖原记录;  更新存储标志; 查询记录  可以按“学号”、“姓名”、“名次”方式修改记录内容;  能给出查询记录的信息;  如果查询的信息不存 在,输出提示信息; 对记录进行排序  可以按学好进行升序或降序排序;  可以按名称进行升序和降序排序;  可以按名词进行升序或降序排序;  如果属于选择错误,可以立即退出排序;  更新存储标志; 头文件  使用条件编译定义头文件;  函数原型声明;  数据结构及包含文件; 测试程序  应列出测试大纲对程序进行测试;  应保证测试用例测试到程序的各种边缘情况; 2. 总体设计 最初的整体规划只是说明它们的可行性,不要求制定函数的具体实现,甚至不需要考虑函数原型。 完成整体规划后,可以按照流程描述各个模块之间的接口功能。 本课程设计 对模块设计的要求如下:  要求使用对文件方式实现设计;  要求在各个文件内实现结构化设计;  每个模块作为一个单独的 C 文件,每个文件内的函数如表 12— 1 所示,表中给出了各个函数的功能说明; 宏和数据结构等放在头文件中,并使用条件编译 3. 2 设计思路 ( 1) 主函数: 主函数 main,功能: 通过调用 creat, search, del, add, print, ststistics, save, taxis 等函数,实现学生成绩查询 ( 2) 菜单界面函数: int menu(int k)/*函数 menu,功能:菜 单选择 ( 3)用 switch 语句可以实现这些选择。 可以用简洁的伪码对它们进行描述 ( 4)程序包含文件的存、取过程。 它的功能就是按输入顺序建立记录。 如果原来没有记录. .. 文件,可以重新建立一个文件;如果已经有记录,可以先把文件内容读入,然后把新记录追加到原来记录的尾部;也可以单独建立新文件,以后再使用读取文件的方法拼装。 3. 3 流程图 3. 4 具体实现 include include include include define N 30 define M 3 typedef struct student { char number[10]。 char name[20]。 float score[M]。 float aver。 }STU。 STU stu[N]。 int n。 void inputscore(void)。 void savescore(void)。 void avergescore(void)。 void modifyscore(void)。 void lookscore(void)。 void searchscore(void)。 开始 结束 录入学生成绩 通过 switch 对数据进行处理 保存学生成绩 . .. void statistic(void)。 void add(void)。 void modify(void)。 void delscore(void)。 void menu(void)。 void main() { short int flag=0。 menu()。 do { flag=1。 switch(getch()) { case 39。 139。 : inputscore()。 break。 /*输入。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。