/* 烟台大学计算机学院学生 *All rights reserved. *文件名称: *作者:zhaojiaxiang *完成日期:2013年3月6日 *版本号:v1.0 *我的程序: */ #include <iostream> #include <fstream> #include <cstdlib> using namespace std; struct Student { char num[13]; char name[10]; int cpp; int math; int english; int grade; double average; }; void output(Student s[],int); void sort1(Student s[],int); void sort2(Student s[],int); int main( ) { int i; Student stu[1000]; int stuNum=0; ifstream infile("score.txt",ios::in); //以输入的方式打开文件 if(!infile) //测试是否成功打开 { cerr<<"open error!"<<endl; exit(1); } i=0; while(infile>>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; ++stuNum; ++i; } infile.close(); cout<<"以下是成绩单"<<endl; output(stu,stuNum); cout<<"总分高低的顺序为"<<endl; sort1(stu,stuNum); cout<<"获得奖学金的同学是"<<endl; sort2(stu,stuNum); return 0; } void output(Student s[],int n) { cout<<"学号 姓名 C++ 数学 英语 总分"<<endl; for(int i=0; i<n; i++) { cout<<s[i].num<<" "<<s[i].name<<" "<<s[i].cpp<<" "<<s[i].math<<" "<<s[i].english<<" "<<s[i].grade<<endl; } } void sort1(Student s[],int n) { int i,j; Student t; for(i=0; i<n; i++) { for(j=0; j<n-i-1; j++) { if(s[j].grade<s[j+1].grade) { t=s[j]; s[j]=s[j+1];//张玉老师指点,这里不用交换成绩 s[j+1]=t; } } } cout<<"学号 姓名 C++ 数学 英语 总分"<<endl; for(int i=0; i<n; i++) { cout<<s[i].num<<" "<<s[i].name<<" "<<s[i].cpp<<" "<<s[i].math<<" "<<s[i].english<<" "<<s[i].grade<<endl; } } void sort2(Student s[],int n) { int i,j=0; cout<<"学号 姓名 C++ 数学 英语 总分"<<endl; for(i=0; i<n; i++) { if(s[i].cpp>60&&s[i].math>60&&s[i].english>60&&j<30) { j++; cout<<s[i].num<<" "<<s[i].name<<" "<<s[i].cpp<<" "<<s[i].math<<" "<<s[i].english<<" "<<s[i].grade<<endl; } if(j==30) break; } }
感悟 做了一个半小时才做好了 老是出现一些平常出现的错误 心太乱 静下心来 继续努力
二周 项目3 文件+结构体实现使用功能,布布扣,bubuko.com
原文:http://blog.csdn.net/u012369106/article/details/20647897