项目六学生成绩的统计
2014-12-18 16:09
260 查看
#include <iostream> using namespace std; struct Student { char num[13]; char name[10]; int cpp; int math; int english; int grade; double average; }; const int N=3; int main( ) { int i; Student stu ; for(i=0; i<N; ++i) { cout<<"请依次输入第"<<i+1<<"名同学的学号,姓名,三科成绩"; cin>>stu[i].num>>stu[i].name>>stu[i].cpp>>stu[i].math>>stu[i].english; stu[i].grade=stu[i].cpp+stu[i].math+stu[i].english; stu[i].average=stu[i].grade/3.0; } for(i=0; i<N; ++i) { cout<<stu[i].num<<" "<<stu[i].name<<" "<<"总成绩"<<stu[i].grade<<"平均成绩"<<stu[i].average; cout<<endl; } return 0; }
#include<iostream> #include<string.h> 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); void sort1(Student [],int); //按总分降序排序 void sort2(Student [],int); //按学号升序排序 void output(Student [],int); //输出成绩单 void outputExcellent(Student [],int); //输出优秀者:总分超285,单科不低于90 int 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","Lightning",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]); 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) { 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.0; } } void sort1(Student s[],int n) { int i,j; Student temp; for(i=0; i<n; ++i) for(j=i; j<n; ++j) if(s[i].grade<s[j].grade) { temp=s[j]; s[j]=s[i]; s[i]=temp; } } void sort2(Student s[],int n) { int i,j; Student temp; for(i=0; i<n; ++i) for(j=i; j<n; ++j) if(strcmp(s[i].num,s[j].num)<0) { temp=s[j]; s[j]=s[i]; s[i]=temp; } } void output(Student s[],int n) { int i; for(i=0; i<n; ++i) { cout<<s[i].num<<" "<<s[i].name<<" "<<"总成绩"<<s[i].grade<<"平均成绩"<<s[i].average; cout<<endl; } } void outputExcellent(Student s[],int n) { int i; for(i=0;i<n;++i) { if(s[i].grade>285&&s[i].cpp>=90&&s[i].math>=90&&s[i].english>=90) cout<<s[i].num<<" "<<s[i].name<<" "<<"总成绩"<<s[i].grade<<"平均成绩"<<s[i].average<<endl; } }
相关文章推荐
- 第二周上机实践项目——学生成绩统计
- 第二周项目1 学生成绩统计
- 第17周项目6-学生成绩统计
- 第十七周项目6-2:学生成绩统计
- 第十七周项目六 学生成绩统计
- 第二学期第二周项目1--学生成绩统计
- 第17周项目6-学生成绩各种统计排序筛选
- 第17周 项目6-1 统计学生成绩
- 第十七周 项目6.4 学生成绩统计
- 第十七周项目6-1:学生成绩统计
- 第二周 项目1 学生的成绩统计--结构体
- 第17周项目6-学生成绩统计简单版
- 第17周项目6(1)-学生成绩统计
- 第十七周项目6-学生成绩统计1
- 【项目1-学生成绩统计】
- 第二周项目一学生成绩统计
- 2014秋C++第17周 项目6参考 学生成绩统计
- 第十七周项目六-学生成绩统计--1
- 第17周 项目6-2 学生成绩统计及筛选
- 第17周项目6-学生成绩统计3(1)