第十七周 【项目6-学生成绩统计】(4)
来源:互联网 发布:网络护犊子是什么意思 编辑:程序博客网 时间:2024/05/17 03:24
问题及代码:
/**Copyright (c) 2014,烟台大学计算机学院*ALL right reserved*文件名:学生成绩统计*作者;童宇*完成日期:2014年12月21日*版本号v1.0*问题描述:每位同学的信息学号、姓名、C++、高数、英语成绩*输入描述:从键盘上输入N名学生的信息(N定义为常变量,N==3)*程序输出:输出每位同学的信息学号、姓名、总分和均分。*/#include <iostream>using namespace std;struct Student{ char num[13]; char name[10]; int cpp; int math; int english; int grade; double average;};void calculate(Student s[],int n); //计算总分和均分,数据在s数组中,共有n个元素void sort1(Student [],int); //按总分降序排序void sort2(Student [],int); //按学号升序排序void output(Student [],int); //输出成绩单void outputExcellent(Student [],int); //输出优秀者:总分超285,单科不低于90int main(){ Student stu[]= { {"201152501104","Tom",65,69 ,68 }, {"201152501114","Jeery",94 ,89 ,63 }, {"201152501138","Speike",67 ,62 ,84 }, {"201152501204","Tyke",100 ,95 ,91 }, {"201152501202","Tuffy",59 ,80 ,55 }, {"201152501115","Butch",100 ,99 ,89 }, {"201152501201","Light",95 ,92 ,99 }, {"201152501145","Topsy",88 ,56 ,67 }, {"201152501203","Droopy",62 ,62 ,95 }, {"201152501140","Drupa",80 ,60 ,86 }, {"201152501205","Buzz",73 ,90 ,94} }; int stuNum=sizeof(stu)/sizeof(stu[0]); //用sizeof运算确定数组中元素个数 calculate(stu,stuNum); //计算总分和均分后输出 cout<<"下面是成绩单:"<<endl; output(stu,stuNum); cout<<"优秀者名单:"<<endl; outputExcellent(stu,stuNum); //按总分降序排序后输出 sort1(stu,stuNum); cout<<"按总分降序排序后:"<<endl; output(stu,stuNum); //按学号升序排序后输出 sort2(stu,stuNum); cout<<"按学号升序排序后:"<<endl; output(stu,stuNum); return 0;}void calculate(Student s[],int n) //计算总分和均分,数据在s数组中,共有n个元素{ int i; for(i=0; i<n; i++) { s[i].grade=s[i].cpp+s[i].math+s[i].english; s[i].average=s[i].grade/3; }}void sort1(Student Stu[],int n) //按总分降序排序{ int i,j; Student t; for(i=0; i<n-1; i++) { for(j=0; j<n-i-1; j++) { if(Stu[j].grade<Stu[j+1].grade) { t=Stu[j]; Stu[j]=Stu[j+1]; Stu[j+1]=t; } } }}void sort2(Student Stu[],int n) //按学号升序排序{ int i,j; Student t; for(i=0; i<n-1; i++) { for(j=0; j<n-i-1; j++) { if(Stu[j].num<Stu[j+1].num) { t=Stu[j]; Stu[j]=Stu[j+1]; Stu[j+1]=t; } } }}void output(Student Stu[],int n) //输出成绩单{ int i; for(i=0; i<n; i++) { cout<<Stu[i].num<<"\t"<<Stu[i].name<<"\t\t"<<Stu[i].cpp<<"\t"<<Stu[i].math<<"\t"<<Stu[i].english<<"\t"<<Stu[i].grade<<"\t"<<Stu[i].average<<endl; }}void outputExcellent(Student Stu[],int n) //输出优秀者:总分超285,单科不低于90{ int i; for(i=0; i<n; i++) { if(Stu[i].grade>285&&Stu[i].cpp>=90&&Stu[i].math>=90&&Stu[i].english>=90) { cout<<Stu[i].num<<"\t"<<Stu[i].name<<"\t\t"<<Stu[i].cpp<<"\t"<<Stu[i].math<<"\t"<<Stu[i].english<<"\t"<<Stu[i].grade<<"\t"<<Stu[i].average<<endl; } }}
运行结果:
0 0
- 第十七周 【项目6-学生成绩统计】(4)
- 第十七周项目 6 学生成绩统计(4)
- 第十七周项目6-学生成绩统计(4)
- 第十七周项目6--学生成绩统计(4)
- 第十七周项目6学生成绩统计
- 第十七周项目6-4:学生成绩统计
- 第十七周 【项目6-学生成绩统计】(6)
- 第十七周项目6-学生成绩统计(6)
- 第十七周项目6-学生成绩统计(一)
- 第十七周 【项目6-学生成绩统计】(1.2.3)
- 第十七周 【项目6-学生成绩统计】(5)
- 第十七周项目 6 学生成绩统计(5)
- 第十七周项目6-学生成绩统计(5)
- 第十七周项目6-学生成绩与统计(3)
- 第十七周项目六学生成绩统计(4)
- 第十七周项目6-学生成绩统计(4 已初始化)
- 第十七周 项目6.4 学生成绩统计
- 第十七周项目六:学生成绩统计
- 不越狱无插件实现 sparrow 推送通知
- 样式和主题(Styles and Themes)
- OC-NSDate
- 爱因斯坦谜题的图表分析法
- 用CSS创建响应式图片
- 第十七周 【项目6-学生成绩统计】(4)
- 永不言弃
- 社説 20141222 香港デモ終結 民主化要求の再燃は不可避だ
- java版本历史与牲性(1-7)
- 爱因斯坦谜题:谁养鱼(C#版)
- 请远离办公室里的各种“负能量”
- 关于Class.getResource和ClassLoader.getResource的路径问题
- 17周项目是--相差多少天
- Unity物体全方位旋转