#include
#define N 50//最大人数 #define G 150//字符串个数 typedef struct student { long studentID; char studentName[10]; int score[6];//6门课程的成绩 }STUDENT;
void Inputscore(STUDENT str[],int n,int m);/*n为学生人数,m为科目的数目,输入的功能*/ //void Printscore(STUDENT str[],float aver[],int n,int m);//输出
void Everystuscore(STUDENT str[],int n,int m);/*计算每个学生的总分和平均分*/ void Everycouscore(STUDENT str[],int n,int m);//计算每门课程的总分和平均分 void datasort1(STUDENT str[],int n,int m);//成绩由高到低进行排序 void datasort2(STUDENT str[],int n,int m);//成绩由低到高进行排序 void datasort3(STUDENT str[],int n,int m);//按学号由小到大进行排序 void datasort4(STUDENT str[],int n,int m);//按姓名的字典顺序排出成绩表
void SearchNum(STUDENT str[],int n,int m,long y);//按学号查询学生排名及考试成绩 void SearchName(STUDENT str[],int n,int m,char y[]);//按姓名查询学生排名及考试成绩 void Analysis(STUDENT str[],int n,int m);//分析类别 void Printscore(STUDENT str[],int n,int m);//输出 void menu(); int main() { char f[10]; int choice,n,x,pos,m; long z; STUDENT str[N]; float a = 0, b = 0, c = 0, d = 0, e = 0;//表示学生的成绩等级高低 do{ printf(\请输入学生人数:\ scanf(\ }while(n<0); printf(\请输入共有几门课程(最多不超过6门):\ scanf(\ while(m<0||m>6)//非法字符异常处理 { while(getchar()!='\\n'); printf(\你输入的课程多于6门或者输入非法字符,请重新输入:\ scanf(\ } Inputscore(str, n, m);//读入分数名字和学号 do { menu();//输出菜单 scanf(\
switch (choice) { case 1: Everycouscore( str, n, m); //求每个课程的平均分和总分 break; case 2: Everystuscore( str, n, m);//求学生的平均分和总分 break; case 3: datasort1(str, n, m); break; case 4: datasort2(str, n, m); break; case 5: datasort3(str, n, m); break; case 6: datasort4(str, n, m); break; case 7: printf(\请输入你要查询的学生的学号:\ scanf(\ SearchNum(str,n,m,z);//按学号查询学生排名及考试成绩 break; case 8: printf(\请输入你要查询学生的姓名:\ scanf(\ SearchName(str, n, m, f); break; case 9: Analysis(str, n, m);//分析类别 break; case 10: Printscore(str, n, m);//输出 break; case 0: break; default: printf(\你输入的数有误,请重新输入正确的数\\n\处理非法字符 } getchar(); getchar(); }while (choice != 0); }
void menu()//输出菜单 { printf(\学生成绩系统*******************\\n\ printf(\
printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ printf(\}
void Inputscore(STUDENT str[],int n,int m)//n为学生人数,m为科目的数目 { int i,j; for(i=0;i void Everystuscore(STUDENT str[],int n,int m)/*计算每个学生的总分和平均分*/ { int i,j,sum[6]; float aver[6]; for ( i = 0; i < n; i++) { sum[i]=0; for ( j= 0; j < m; j++) { sum[i]=sum[i]+str[i].score[j]; } aver[i]=(float)sum[i]/m; } for(i=0;i void Everycouscore(STUDENT str[],int n,int m)//计算每门课程的总分和平均分 { int i,j; int sum[6]; float aver[6]; for(j=0;j void datasort1(STUDENT str[],int n,int m)//成绩由高到低进行排序 { int i, j,sum[N]; STUDENT temp1; int temp2; for ( i = 0; i < n; i++) { sum[i]=0; for ( j= 0; j < m; j++) { sum[i]=sum[i]+str[i].score[j]; } } for (i = 0;i void datasort2(STUDENT str[],int n,int m)//成绩由低到高进行排序 { int i, j,sum[N]; STUDENT temp1; int temp2; for ( i = 0; i < n; i++) { sum[i]=0; for ( j= 0; j < m; j++) { sum[i]=sum[i]+str[i].score[j]; } } for (i = 0;i void datasort3(STUDENT str[],int n,int m)//按学号由小到大进行排序 { int i, j; STUDENT temp1; int temp2; for (i = 0;i 搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新小学教育学生成绩管理系统v5.0 全文阅读和word下载服务。
相关推荐: