您的位置:首页 > 其它

再一次-----读取数据到结构体数组

2013-03-13 11:25 274 查看
/*
* 程序的版权和版本声明部分
* Copyright (c)2013, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称:score.cpp
* 作    者:张浩
* 完成日期:2013年3月13日
* 版本号: v1.0
* 输入描述:
* 问题描述:读取文件
* 输出:
*/
#include <iostream>
#include <fstream>
#include <cstdlib>  //在codeblocks下,exit(1)需要这个头文件
using namespace std;
struct Student
{
char num[13]; //尽管都是由数字构成,但看作为字符更合适。学号12位,定义为13个字符,便于处理成字符串
char name[10]; //每个汉字占两个字节,中国人的名字,5个汉字够用
int cpp;
int math;
int english;
int grade;
};
const int N=200;
int main( )
{
int i, stuNum=0;
//定义结构体数组
Student 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].math>>stu[i].english;
stu[i].grade=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].grade<<endl;
}
return 0;
}

运行结果:



心得体会:还行吧哈哈哈
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: