C语言课程设计-学生成绩管理系统-完整版(共15页).doc
《C语言课程设计-学生成绩管理系统-完整版(共15页).doc》由会员分享,可在线阅读,更多相关《C语言课程设计-学生成绩管理系统-完整版(共15页).doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上#include#include#include#include/* strcmp函数原型包含*/#define N 100/*定义最大学生人数为100*/struct student /*学生结构体定义*/ char no11; /*学号,10位*/ char name10;/*姓名,3个汉字*/ char grade10;/*班级*/ char pro20;/*专业*/ float score5;/*储存5门功课的成绩*/ float ave;/*储存平均分*/ int year;/*入学年*/stuN;int num;void panduani(int); /*
2、通过i的值,判断信息要查找的信息是否存在*/void output(); /*输出学生成绩函数(公共函数)*/void init(); /*系统初始化函数*/void newfile(); /*建立新的数据文件*/void read1(); /*从数据文件中读取数据*/void weihu(); /*维护界面函数*/void new1(); /*新增一个学生成绩函数*/void xiugai(); /*修改学生成绩*/void xgcj(int); /*修改成绩*/void delete1(); /*删除学生信息函数*/void tongji(); /*统计界面函数*/void tongji1
3、(); /*计算每个学生平均分*/void tongji2(); /*计算每门课程的平均分*/void paixu1(); /*排序函数*/void paino(); /*按学号排序*/void paiave(); /*按平均分排序*/void paidkcj(); /*按单科成绩排序*/void change(int,int); /*交换结构体数组中的两个记录*/void outputx(int); /*选择输出单科成绩*/void find1(); /*查找界面函数*/int find(char sno); /*按学号查找*/int findname(char cname);/*按姓名查找
4、*/void findyear(int cyear); /*按入学年查找*/void save(); /*保存文件*/void stop(); /*停顿函数*/void stop() /*停顿函数 (公共函数)*/ printf(Press Any Key To Continue.n); getchar();void output() /*输出学生成绩函数(公共函数)*/ int i,j; printf(=n); printf(学号 姓名 班级 专业 入学年 C语言 高数 大物 电路 模电n); printf(=n); for(i=0;inum;i+) printf(%s %s %s %s %
5、d,stui.no,stui.name,stui.grade,stui.pro,stui.year); for(j=0;j5;j+) printf( %.1f,stui.scorej); printf(n); stop();void init() /*系统初始化函数 */ if(access(stu.dat,0) /*判断文件是否存在*/ newfile(); /*若不存在,新建数据文件*/ else read1(); /*若存在,读取数据*/void newfile() /*建立新的数据文件 */ int i; FILE *fp; if(fp=fopen(stu.dat,wb)=NULL)
6、/*创建二进制文件*/ printf(创建文件失败,请重新运行程序.n); /*显示创建文件失败,请重新运行程序*/ exit(0); /*终止程序*/ printf(初次运行,进行数据初始化.n);/*显示初次运行,进行数据初始化.*/ stop(); printf(请输入学生人数:);/*显示请输入学生人数:*/ scanf(%d,&num); for(i=0;inum;i+) printf(请输入第 %d个学生的学号:,i+1); /*显示请输入第i+1个学生的学号:*/ getchar(); /*吃回车*/ gets(stui.no); printf(姓名:); /*显示姓名:*/ g
7、ets(stui.name); printf(班级:); /*显示班级:*/ gets(stui.grade); printf(专业:); /*显示专业:*/ gets(stui.pro); printf(入学年n:);/*显示入学年*/ scanf(%d,&stui.year); printf(C语言成绩:);/*显示C语言成绩*/ scanf(%f,&stui.score0); printf(高数成绩:);/*显示高数成绩*/ scanf(%f,&stui.score1); printf(大物成绩:);/*显示大物成绩*/ scanf(%f,&stui.score2); printf(电路
8、成绩:);/*显示电路成绩*/ scanf(%f,&stui.score3); printf(模电成绩:);/*显示模电成绩*/ scanf(%f,&stui.score4); fwrite(&stui,1,sizeof(struct student),fp); /*把第i+1名学生成绩写入文件*/ fclose(fp); printf(=n); printf( 刚才输入的 %d 个数据为:n,num); /*显示刚才输入的 num 个数据为:*/ printf(=nn); output();void read1() /*从数据文件中读取数据 */ FILE *fp; num=0; /*num
9、为数据文件中实际存储的学生人数*/ fp=fopen(stu.dat,r); if(fp=NULL) /*数据文件不存在*/ printf(文件打开失败!重新运行程序n); /*显示文件打开失败!重新运行程序*/ exit(0); while(!feof(fp) /*文件结束检测*/ fread(&stunum,1,sizeof(struct student),fp); num+; num-; fclose(fp); printf(ttt=n); printf( ttt现有 %d 个学生的成绩:n,num); /*显示现有 NUM个学生的成绩:*/ printf(ttt=nn); output
10、();void weihu() /*维护界面函数 */ char c1; while(1) printf(nnnttt*n); printf(ttt* 维护 *n); printf(ttt* 1. 新增 *n); /*新增*/ printf(ttt* 2. 删除 *n); /*删除(按学号)*/ printf(ttt* 3. 修改 *n); /*修改*/ printf(ttt* 9. 返回 *n); /*返回*/ printf(ttt*n); printf(ttt 请选择:n);/*请选择:*/ c1=getchar(); getchar(); if(c1=9) break; switch(c
11、1) case 1: new1(); break; case 2: delete1(); case 3: xiugai(); break; default: printf(选择有误,请重选!n);/*选择有误,请重选!*/ void new1() /*新增一个学生成绩函数 */ printf(请输入学号:); /*显示请输入学号:*/ gets(stunum.no); printf(姓名:); /*显示姓名:*/ gets(stunum.name); printf(班级:); /*显示班级:*/ gets(stunum.grade); printf(专业:); /*显示专业:*/ gets(s
12、tunum.pro); printf(入学年:);/*显示入学年*/ scanf(%d,&stunum.year); printf(C语言成绩:);/*显示C语言成绩*/ scanf(%f,&stunum.score0); printf(高数成绩:);/*显示高数成绩*/ scanf(%f,&stunum.score1); printf(大物成绩:);/*显示大物成绩*/ scanf(%f,&stunum.score2); printf(电路成绩:);/*显示电路成绩*/ scanf(%f,&stunum.score3); printf(模电成绩:);/*显示模电成绩*/ scanf(%f,&
13、stunum.score4); num+; printf(n=n); printf(现有 %d个学生的成绩:n,num); /*显示现有 NUM个学生的成绩:*/ printf(=nn); output();void xiugai() /*修改学生成绩*/ char xg11; int i; printf(n请输入要修改学生的学号:nn); gets(xg); for(i=0;i=1&c=5) k=c-49; printf(n请输入 %s 成绩:n,p+k); scanf(%f,&stux.scorek); printf(n修 息为:n); printf(学号 姓名 班级 专业 入学年 C语言
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 学生 成绩管理系统 完整版 15
限制150内