资源描述:
《c语言课设之学生成绩管理系统》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C语言程序设计报告目录———学生成绩管理程系题目要求··············3需求分析··············3总体设计··············4详细设计··············418上机操作··············11源程序··············13总结··············19学生成绩管理程序一.题目要求1.问题描述:对在校学生几门课程的考试成绩进行统一管理.每个学生记录包括学号,姓名,年龄,数学,英语,物理成绩,默认以学号为序存放.2.要求:(1):一个文件按以班为单位存储学生记录.(2)将允许的操作分为四种,以A,B,C,D,E,F为标
2、志:A:插入一个学生记录;B:修改学生记录;C:删除一个学生记录;D:查找一个学生记录;E:浏览学生成绩:F:退出181.计算学生的总成绩.2.按学号排序输出全班学生成绩表.二.需求分析根据题目要求,由于学生信息是存放在文件中,所以应提供文件的输入,输出等操作;在程序中需要浏览学生的信息,应提供显示,查找,排序等操作;另外还应提供键盘式选择菜单实现功能选择.三.总体设计根据上面的需求分析,可以将这个系统分为以下模块:输入模块,修改模块,删除模块,查找模块,显示模块.学生成绩管理系统数据输入数据显示数据修改数据删除数据查找四.详细设计1.主函数:主函数一般设计得比较简单,只提供
3、输入,处理和输出部分的函数调用,其中各功能模块用菜单方式选择.流程图:显示一系列功能模块N输入n,判断n是否是A--F18Y根据n的值调用各功能模块函数[程序]:main(){while(1){clrscr();printf("*************welcometousestudentmanage******************");printf("*************************menu********************************");printf("*=================================
4、========================*");printf("*A>shuruB>xiugai*");printf("*C>shanchuD>chazhao*");printf("*E>xianshiF>exit*");printf("**");printf("*---------------------------------------------------------*");printf("Pleaseinputwhichyouwant(A-F):");ch=getch();switch(ch){case'A':shuru();bre
5、ak;case'B':xiugai();break;case'C':shanchu();break;case'D':chazhao();break;case'E':xianshi();break;case'F':exit(0);default:continue;}}}1.输入模块:[分析]:单独看各数据信息,学号,姓名是字符型,可以采用字符型数组;分数为整数,采用整数;数据信息存放在文件中,一条记录对应一个学生,既符合习惯又方便信息管理.如果要存放若干学生信息就用结构体数组:18structscore/*结构体score*/{intmingci;charxuehao[8];c
6、harmingzi[20];charnianling[3];floatscore[6];}data,info[1000];inti,j,k=0;chartemp[20],ch;FILE*fp,*fp1;[程序]:voidshuru(){if((fp=fopen("s_score.txt","ab+"))==NULL)/*以读写方式打开名为s_score的文件*/{printf("cannotopenthisfile.");getch();exit(0);}for(i=0;i<=1000;i++){printf("Pleaseshuruxuehao:");gets(da
7、ta.xuehao);printf("Pleaseshurumingzi:");gets(data.mingzi);printf("pleaseshurunianling:");gets(data.nianling);printf("Pleaseshurushuxuescore:");gets(temp);data.score[0]=atof(temp);printf("Pleaseinputyingyuscore:");gets(temp);data.score[1]=atof(temp);print