学生成绩管理系统程序_第1页
学生成绩管理系统程序_第2页
学生成绩管理系统程序_第3页
免费预览已结束,剩余5页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include#include #include #include #include #define N 30 #define M 3 typedef struct student char number10;char name20; float scoreM;float aver;float total;STU;STUstuN;int n;void inputscore(void);void savescore(void); void avergescore(void);void total(void);void modifyscore(void); void lookscore(void

2、);void searchscore(void); 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() case1:inputscore();break; /* 输入成绩 */ case2:lookscore();break; /* 查看成绩 */ case3:searchscore();break; /* 查找成绩 */ case4:stati

3、stic();break; /* 成绩统计 */ case5:modify();break; /* 修改成绩 */ case6:add();break; /* 添加成绩 */ case7:delscore();break; /* 删除成绩 */ case8:savescore();break; /* 保存成绩 */ case9:exit(0); /* 退出程序 */default:printf( 输入有误 n); printf( 按任意键继续 n); getch(); menu();while (flag=1);void menu(void)system(cls);printf(n);prin

4、tf(* 欢迎进入学生成绩管理系统 *n); printf( 菜单 n);printf( 输入成绩 1n);printf( 查看成绩及成绩排序 2n);printf( 查询学生成绩 3n);printf( 成绩统计 4n);printf( 修改成绩 5n);printf( 添加成绩 6n);printf( 删除成绩 7n);printf( 保存成绩 8n);printf( 推出系统 9n);printf(*n);printf( 请输入您的选择 n);*输入各个同学的学生信息 (王超 )*/void inputscore(void) int i,j;system(cls);printf( 请输入

5、学生总数 : n); scanf(%d,&n);printf( 提 示 : * 输 入 学 号 时 请 输 入 由 1 位 大 写 字 母 和 8 位 数 字 组 成 的 学 号 , 如 P01214000*n); /* 因二维表上下需要对正故有此要求 */for(i=0;in;i+)printf(请输入学生 %d的学号 姓名:n,i+1);scanf(%s%s,stui.number,);printf(”高数t物理tC语言n);for(j=0;jM;j+)scanf(%f,&stui.scorej); printf( 成功输入 n);/* 计算各个同学的总分(孙友) * v

6、oid total(void) int i,j;for(i=0;in;i+) stui.total=0;for(j=0;jM;j+)stui.total+=stui.scorej;*计算各个同学的平均分 */void avergescore(void) int i,j;for(i=0;in;i+) stui.aver=0;for(j=0;jM;j+)stui.aver+=stui.scorej;stui.aver=stui.aver/M;/* 查看学生成绩及平均分对学生进行排序 */ void lookscore(void)int i,j,k;STUt;total(); avergescore

7、(); system(cls);for(i=0;in -1;i+)for(k=i,j=i+1;jn;j+)if(stui.averstuj.aver) t=stuj; stuj=stui; stui=t;printf(”名次t学号tt姓名t高数t物理tC语言t总分t平均分n);for(i=0;in;i+)printf(%dt%st%st,i+1,stui.number,); for(j=0;jM;j+)printf(%4.2ft,stui.scorej);printf(%4.2ft,stui.total);printf(%4.2ft,stui.aver);printf(n);

8、/*通过输入学号查找学生成绩 */void searchscore(void) char a10;int i,j;system(cls);printf( 请输入需要查询的学生学号 n); scanf(%s,a);for(i=0;in;i+) if(strcmp(a,stui.number)=0)printf(名次t学号tt姓名t高数t物理tC语言t总分t平均分n);printf(%dt%st%st,i+1,stui.number,);for(j=0;jM;j+)printf(%4.2ft,stui.scorej);printf(%4.2ft,stui.total);print

9、f(%4.2ft,stui.aver);printf(n);break; /* 找到该学生的成绩信息后跳出 for 循环 */else if (in -1) continue;else printf( 未找到该学生信息 n);/* 统计学生成绩信息,平均分及格率,优秀率 */ void statistic(void) STU*p=stu; int i,j; float count=0.0,sum=0.0; system(cls); for(i=0;iaver;printf( 该班级平均分为 %4.2fn,sum/n); /* 平均分计算 */ for(i=0;iaver=60) count+;

10、printf( 该班级及格率为 %4.2f%n,count/n*100); /* 及格率计算 */ count=0.0;for(i=0;iaver=90) count+;printf( 该班级优秀率为 %4.2f%n,count/n*100); /* 优秀率计算 */ printf( 平均分低于 60 的学生名单 n);for(i=0;in;i+) if(stui.aver60) printf(%sn,); /* 统计不及格学生的名单 */*修改学生成绩 */void modify(void)char a10;int i,j;system(cls);printf( 请输入需要

11、修改成绩的学生学号 n);scanf(%s,a);for(i=0;in;i+)if(strcmp(a,stui.number)=0)printf(”名次t学号tt姓名t高数t物理tC语言t总分t平均分n);printf(%dt%st%st,i+1,stui.number,);for(j=0;jM;j+)printf(%4.2ft,stui.scorej); printf(%4.2ft,stui.total);printf(%4.2ft,stui.aver);printf(n);printf( 请重新输入该学生的学号 姓名 :n);scanf(%s%s,stui.number,

12、);printf( 请重新输入学生成绩 :n);printf(”高数t物理tC语言n);for(j=0;jM;j+)scanf(%f,&stui.scorej); /* 找到该学生成绩后进行修改,跳出 for 循环 */ printf( 修改成功 n);break;else if (in-1)continue;elseprintf( 请确认该学生是否喂本班级学生! n);*添加学生成绩 */void add(void)int a,i,j;system(cls);printf( 请输入新增加的学生人数: n);scanf(%d,&a);n=n+a;for(i=n-a;in;i+

13、)printf(请输入学生 %d的学号 姓名:n”,i+1);scanf(%s%s,stui.number,); printf( 请输入学生成绩 :n);printf(”高数t物理tC语言n); for(j=0;jM;j+)scanf(%f,&stui.scorej);printf( 添加成功 n);*删除学生成绩*void delscore(void)int i,j,c;char m,a10;system(cls);printf( 请输入学生学号 n);scanf(%s,a);for(i=0;in;i+)if(strcmp(a,stui.number)=0)printf(”

14、名次t学号tt姓名t高数t物理tC语言t总分t平均分n); printf(%dt%st%st,i+1,stui.number,);for(j=0;jM;j+)printf(%4.2ft,stui.scorej);printf(%4.2ft,stui.total);printf(%4.2f,stui.aver);printf(n); c=i;break;elseprintf( 未找到该学生信息 n);printf( 是否删除该学生成绩 (yn)n); scanf(%s,&m);if(m=y)for(i=c;in-1;i+)stui=stui+1;/*结构体整体赋值将后一位学生成绩信息拷贝进/* 删除该学生信息后学生总数减一 */入前一位学生信息的存储位置 */n=n-1;printf( 删除成绩成功 n);elseprintf( 删除成绩失败 n);/*保存学生成绩 */void savescore(void)FILE*fp;int i,flag=1;char m; system(cls);puts( 是否保

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论