学籍管理系统C语言课程设计.doc
《学籍管理系统C语言课程设计.doc》由会员分享,可在线阅读,更多相关《学籍管理系统C语言课程设计.doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、#include typedef struct int Id;char name10;char sex6; int room;int tel20; StudentInfo;typedef struct int Id;char courseNo10;char courseName20;float a; / 课程学分float b; / 平时成绩float c; / 实验成绩float d; / 卷面成绩float e; / 综合成绩float f; / 实际学分 GradeInfo;/ 定义结构数组为全局变量StudentInfo si100; / 学生信息结构数组GradeInfo gi500
2、; / 学生成绩结构数组int sp=0; / 学生信息结构数组中学生数int gp=0; / 学生成绩结构数组中成绩数void ReadFile();/读取文件void DisplayMainMenu();/主菜单void DataInput();/数据录入void DataQuery();/数据查询void DataDelete();/数据删除void DataSort();/排序void QueryById(int );/按学号查询void QueryByRoom(int );/按宿舍查询void QueryGrade(int );/成绩查询void sort1();/按综合成绩排序vo
3、id sort2();/按实得学分排序void gradeput();void e_min();void main()int x; ReadFile(); / 从文件中读取数据对两个结构数组赋值, 采用子函数的形式可以使主程序结构清楚int flag =1;while (flag) DisplayMainMenu(); / 因为要多次调用工作菜单,要采用子函数的形式scanf (%d,&x);switch (x)case 1 :DataInput(); break; /case 2 :DataQuery(); break; /case 3 :DataDelete(); break; /case
4、 4 :DataSort(); break; / case 5 :e_min(); break;case 6 :flag = 0;void ReadFile() FILE *fp;fp = fopen(C:A.txt,r+);while (!feof(fp)/检查文件是否结束fscanf(fp,%d%s%s%d%s, &sisp.Id,sisp.name,sisp.sex,&sisp.room,sisp.tel);sp+;fclose (fp);fp = fopen(C:B.txt,r+);while (!feof(fp)fscanf (fp,%d%s%s%f%f%f%f%f%f,&gigp.
5、Id,gigp.courseNo,gigp.courseName,&gigp.a,&gigp.b,&gigp.c, &gigp.d,&gigp.e,&gigp.f);if (gigp.c=-1) gigp.e=0.3*gigp.b+0.7*gigp.d;else gigp.e=0.15*gigp.b+0.15*gigp.c+0.7*gigp.d;if ( gigp.e=90.0) gigp.f = gigp.a;else if (gigp.e=80.0) gigp.f=gigp.a *0.8;else if (gigp.e=70.0)gigp.f=gigp.a *0.75;else if (g
6、igp.e=60.0) gigp.f=gigp.a*0.6;else gigp.f=0;gp+;/ 学生成绩结构数组中成绩数+1fclose(fp);void DisplayMainMenu()printf(*欢迎进入学籍信息系统*nn);printf( (1) 数据录入 n );printf( (2) 数据查询 n );printf( (3) 数据删除 n );printf( (4) 数据排序 n );printf( (6) 程序结束 n );printf(*);printf(n请输入你要执行的任务:);void DataInput()int m=0,i;printf(请输入您想录入的学生数
7、目:);scanf(%d,&m);printf(学生的学号 课程编号 课程名称 学分 平时成绩 实验成绩 卷面成绩n); for(i=gp;i=90) gii.f=gii.a;else if ( gi i.e = 80) gii.f=gii.a *0.8;else if ( gii.e = 70)gii.f=gii.a *0.75;else if ( gii.e = 60) gii.f=gii.a *0.6;else gii.f=0;/计算实得学分 printf(实得学分为:%fn,gii.f);FILE *fp;fp=fopen(C:B.TXT,w);if(fp=fopen(C:B.TXT,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学籍管理系统 C语言课程设计 学籍 管理 系统 语言 课程设计
限制150内