第一范文网 - 专业文章范例文档资料分享平台

学生成绩管理系统v5.0

来源:用户分享 时间:2020-06-21 本文由远水孤云 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

#include #include #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;isum[i]) { temp1 = str[j]; temp2 = sum[j]; str[j]=str[i]; sum[j] = sum[i]; str[i] = temp1; sum[i] = temp2; } } } 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下载服务。

学生成绩管理系统v5.0 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1091908.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top