资源描述:
《c语言课程设计学生成绩管理系统方案.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.word可编辑.目录——学生成绩管理程序题目要求···················2设计目的···················2总体设计···················3详细设计···················3调试与测试·················12源程序···················14总结···················30.专业.专注..word可编辑.学生成绩管理程序一.题目要求1.问题描述:对在校学生几门课程的考试成绩进行统一管理.每个学生记录包括学号,姓名,年龄,
2、数学,英语,物理成绩,默认以学号为序存放.2.要求:(1)一个文件按以班为单位存储学生记录.(2)将允许的操作分为四种,以A,B,C,D,E,F为标志:A:插入一个学生记录;B:修改学生记录;C:删除一个学生记录;D:查找一个学生记录;E:浏览学生成绩:F:退出3.计算学生的总成绩.4.按学号排序输出全班学生成绩表.专业.专注..word可编辑..一.设计目的根据题目要求,由于学生信息是存放在文件中,所以应提供文件的输入,输出等操作;在程序中需要浏览学生的信息,应提供显示,查找,排序等操作;另外还应提供键盘式选择菜单实现
3、功能选择.二.总体设计根据上面的需求分析,可以将这个系统分为以下模块:输入模块,修改模块,删除模块,查找模块,显示模块.学生成绩管理系统数据输入数据显示数据修改数据删除数据查找三.详细设计.专业.专注..word可编辑.1.主函数:主函数一般设计得比较简单,只提供输入,处理和输出部分的函数调用,其中各功能模块用菜单方式选择.流程图:显示一系列功能模块N输入n,判断n是否是A--FY根据n的值调用各功能模块函数[程序]://#include"head.h"intmenu_select(){charc;printf("
4、n");printf("
5、1.增加学生记录5.统计信息
6、");printf("
7、2.查询学生记录6.打开文件
8、");printf("
9、3.修改学生记录7.保存文件
10、");.专业.专注..word可编辑.printf("
11、4.学生纪录排序8.显示记录
12、");printf("
13、0.退出系统
14、");printf("");printf("请选择(0-8):");c=getchar();getchar();return(c-'0');}1.输入模块:[分析]:单独看各数据信息,学号,姓名是字符型,可以采
15、用字符型数组;分数为整数,采用整数;数据信息存放在文件中,一条记录对应一个学生,既符合习惯又方便信息管理.如果要存放若干学生信息就用结构体数组:voidaddrecord(studentstud[]){inti=0,j,num;charstr[5];if(numstus!=0){.专业.专注..word可编辑.printf("已有记录存在是否覆盖?(y/n)");gets(str);if(str[0]=='Y'
16、
17、str[0]=='y')i=0;elsei=numstus;}printf("请输入增加的学生信息条目数
18、:");scanf("%d",&num);if(i==0)numstus=num;elsenumstus+=num;if(numstus>lens){lens+=50;pointer=(student*)realloc(pointer,lens*LEN);}printf("请输入学生信息:");for(;i19、ter[i].name);printf("请输入性别(男/女1/0):");gets(pointer[i].sex);if(pointer[i].sex[0]=='0')strcpy(pointer[i].sex,"女");elsestrcpy(pointer[i].sex,"男");printf("请输入各科成绩:(按“语文,数学,英语,历史,政治”的顺序):");stud[i].score=0;for(j=0;j20、/stud[i].score+=stud[i].subject[j];}stud[i].average=stud[i].score/numsubs;/*计算平均分*/}count(stud);/*附名次*/display(stud,0,numstus-1);getchar();}intnumstus;intlens;