c语言菜单作业1.doc_第1页
c语言菜单作业1.doc_第2页
c语言菜单作业1.doc_第3页
c语言菜单作业1.doc_第4页
c语言菜单作业1.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

#include#includestruct studentchar number10;char name10;float score3;stu4;/函数实现void modify(student *stu)int i,j;char number10;int k1 = 1;printf(请输入要修改的学生学号:);scanf(%s,number);for(i=0;i4&k1;i+)if(strcmp(number,stui.number)=0)k1=0;if(k1=1)printf(您输入的学号不存在,您将返回到一级主菜单,请重新输入您的选择nn:);if(k1=0)printf(此学生的信息如下n );printf(学号 姓名 语文 数学 体育n);printf(%-6s%-6s, stui-1.number, );for(j=0; j3; j+)printf(%-8.2f, stui-1.scorej);printf(n);printf(请重新输入该学生的三门成绩:nn);for(j=0; j3; j+)printf(成绩 %d. , j+1);scanf(%f, &stui-1.scorej);while(stui-1.scorej100)printf(你输入的成绩有误,请重新输入该学生的三门成绩:nn);printf(成绩 %d. , j+1);scanf(%f, &stui-1.scorej);printf(修改后的该学生成绩为:n);printf(语文 数学 体育n);for(j=0; j3; j+)printf(%-8.2f, stui-1.scorej);printf(您将返回到一级菜单:n);void sort(student *stu)int i,j;int select2;int t2 = 1;float sum4;float tempsum;struct student temp;while(t2)printf(*二级排序菜单*n);printf(1、语文 2、数学 3、体育 4、总成绩 5、返回n);printf(请输入您的选择:);scanf(%d,&select2);switch(select2)case 1: /*语文成绩从高到低的排序*/for(i=0;i3;i+) /*进行三次循环,实现三趟比较*/for(j=0;j3-i;j+) /*在每一趟中进行3-i次比较*/if(stuj.score0stuj+1.score0) /*相邻两个学生的语文成绩进行比较*/temp=stuj;stuj=stuj+1;stuj+1=temp;printf(语文成绩按从高到低排序的学生信息为:nn);printf(学号 姓名 语文 数学 体育 n);for(i=0; i4; i+)printf(%-6s%-6s, stui.number, );for(j=0; j3; j+)printf(%-8.2f, stui.scorej);printf(n);printf(您将返回到二级排序菜单:nn);break;case 2:/*数学成绩从高到低的排序*/for(i=0;i3;i+) /*进行三次循环,实现三趟比较*/for(j=0;j3-i;j+) /*在每一趟中进行3-i次比较*/if(stuj.score1stuj+1.score1) /*相邻两个学生的数学成绩进行比较*/temp=stuj;stuj=stuj+1;stuj+1=temp;printf(数学成绩按从高到低排序的学生信息为:nn);printf(学号 姓名 语文 数学 体育 n);for(i=0; i4; i+)printf(%-6s%-6s, stui.number, );for(j=0; j3; j+)printf(%-8.2f, stui.scorej);printf(n);printf(您将返回到二级排序菜单:nn);break;case 3:/*体育成绩从高到低的排序*/for(i=0;i3;i+) /*进行三次循环,实现三趟比较*/for(j=0;j3-i;j+) /*在每一趟中进行3-i次比较*/if(stuj.score2stuj+1.score2) /*相邻两个学生的体育成绩进行比较*/temp=stuj;stuj=stuj+1;stuj+1=temp;printf(体育成绩按从高到低排序的学生信息为:nn);printf(学号 姓名 语文 数学 体育 n);for(i=0; i4; i+)printf(%-6s%-6s, stui.number, );for(j=0; j3; j+)printf(%-8.2f, stui.scorej);printf(n);printf(您将返回到二级排序菜单:nn);break;case 4: /*总成绩从高到低的排序*/for(i=0;i4;i+) /*计算总成绩*/sumi=0;for(j=0;j3;j+)sumi+=stui.scorej;for(i=0;i3;i+) /*进行三次循环,实现三趟比较*/for(j=0;j3-i;j+) /*在每一趟中进行3-i次比较*/if(sumjsumj+1) /*相邻两个学生的总成绩进行比较*/tempsum=sumj;/*相邻两个学生的总成绩进行交换*/sumj=sumj+1;sumj+1=tempsum;temp=stuj;stuj=stuj+1;stuj+1=temp;printf(总成绩按从高到低排序的学生信息为:nn);printf(学号 姓名 语文 数学 体育 n);for(i=0; i4; i+)printf(%-6s%-6s, stui.number, );for(j=0; j3; j+)printf(%-8.2f, stui.scorej);printf(n);/*他们的总成绩依次为:*/for(j=0;j4;j+)printf(%-8.2fn,sumj);printf(您将返回到二级排序菜单:nn);break;case 5: t2=0;printf(您将退出二级排序菜单,返回到一级主菜单:nn);break;int main()void modify(student *);void sort(student *);int i,j;int select1;int t1 = 1;int t2 = 1;for(i=0;i4;i+)printf(请输入学生%d的信息:n,i+1);printf(学号:);scanf(%s,stui.number);printf(姓名:);scanf(%s,);for(j=0; j3; j+)printf(成绩 %d , j+1);scanf(%f, &stui.scorej);printf(n);while(t1)printf(*一级主菜单*n);printf(1、修改学生成绩 2、排序

温馨提示

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

最新文档

评论

0/150

提交评论