/*
* Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 文件名称:text.cpp
* 作者:胡颖
* 完成日期:2013 年 3 月 19日
* 版本号:v1.0
*
* 输入描述:无
* 问题描述:读取文件到结构体
* 程序输出:文件中数据,奖学金获得者
* 问题分析:
* 算法设计:略
*/
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
struct Student
{
char num[13];
char name[10];
int cpp;
int english;
int math;
int grade;
};
const int N=200;
int main()
{
int i,j,stuNum=0;
Student stu[N],t_stu;
ifstream infile("score.txt",ios::in);
if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
i=0;
while(!infile.eof())
{
infile>>stu[i].num>>stu[i].name>>stu[i].cpp>>stu[i].english>>stu[i].math;
stu[i].grade=stu[i].math+stu[i].english+stu[i].cpp;
++stuNum;
++i;
}
infile.close();
for(i=0;i<stuNum;i++)
{
cout<<stu[i].num<<"\t"<<stu[i].name<<"\t"<<stu[i].cpp<<"\t"<<stu[i].english<<"\t"<<stu[i].math<<"\t"<<stu[i].grade<<endl;
}
cout<<"恭喜以下同学获得奖学金:"<<endl;
i=0,j=0;
int m;
while(j<30)
{
if(stu[i].cpp>=60&&stu[i].english>=60&&stu[i].math>=60)
{
cout<<j<<"\t"<<stu[i].name<<"\t"<<stu[i].grade<<endl;
m=stu[i].grade;
j++;
}
i++;
}
while(m==stu[i].grade)
{
if(stu[i].cpp>=60&&stu[i].english>=60&&stu[i].math)
{
cout<<j<<"\t"<<stu[i].name<<"\t"<<stu[i].grade<<endl;
j++;
}
i++;
}
return 0;
}