C++第二周项目2-读取数据到结构体数组

来源:互联网 发布:淘宝开店后如何推广 编辑:程序博客网 时间:2024/05/20 06:52

/*
    【项目2-读取数据到结构体数组】
    score.txt(从本文后粘贴自建)中是一些同学的学号、姓名、C++、高数、英语成绩,
    定义一个学生成绩的结构体数组,其中的成员包括学号(char num[12])、姓名(name)、三门课的成绩(grade)、总分(score))。
    (1)从文件中读出数据,存放到你定义的结构体数组中;
    (2)输出结构体数组中所有同学的记录。

*/

#include <iostream>
#include <fstream>
#include <cstdlib>    //用codeblock就写上,VC++就不用了(主要是 exit 函数问题)

using namespace std;

struct student
{
    char num[13];                                //建议不要12.。。
    char name[10];
    float grade[3];
    float score;
};

int main()
{
    student stu[200];
    int i,j,total;
    ifstream infile("score.txt",ios::in);
    if(!infile)
    {
        cout<<"Open error!"<<endl;
        exit(1);
    }
    i=0,total=0;
    while(!infile.eof())                            //没有到文章末尾,数据读取
    {
        infile>>stu[i].num>>stu[i].name;
        stu[i].score=0;
        for(j=0;j<3;j++)
        {
            infile>>stu[i].grade[j];
            stu[i].score+=stu[i].grade[j];
        }
        total+=1;
        i+=1;
    }
    infile.close();
    for(i=0;i<total-1;i++)                    //数据输出
    {
        cout<<stu[i].num<<"  "<<stu[i].name<<"  ";
        for(j=0;j<3;j++)
            cout<<stu[i].grade[j]<<"  ";
        cout<<stu[i].score<<endl;
    }
    cout<<endl;

    return 0;
}

原创粉丝点击