[cpp]
/*
【項目2-讀取數據到結構體數組】score.txt(從本文後粘貼自建)中是一些同學的學號、姓名、C++、高數、英語成績,定義一個學生成績的結構體數組,其中的成員包括學號(char num[12])、姓名(name)、三門課的成績(grade)、總分(score))。
程序的版權和版本聲明部分
* Copyright (c)2013, 煙台大學計算機學院學生
* All rightsreserved.
* 文件名稱:score.cpp
* 作 者:蛋蛋
* 完成日期:2013 年3 月13 日
* 版本號: v1.0
* 輸入描述:
* 問題描述:(1)從文件中讀出數據,存放到你定義的結構體數組中;
(2)輸出結構體數組中所有同學的記錄。
* 輸出:讀取後的的學生成績單
* 操作感悟:讀取失敗,完全不懂呢,5555
*/
#include <iostream>
#include <fstream>
using namespace std;
struct Student
{
char num[12];
char name[12];
int cpp;
int math;
int english;
int score;
};
const int N=200;
int main( )
{
int i, stuNum=0;
Student stu[N];
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].math>>stu[i].english;
stu[i].score=stu[i].cpp+stu[i].math+stu[i].english;
++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].math<<"\t"<<stu[i].english<<"\t"<<stu[i].score<<endl;
}
return 0;
}