Enter 10 student information from the keyboard

Input 10 student information from the keyboard (student information includes student number, name, gender, grade) and store it in the disk file f1.dat, then copy the data in f1.dat to the f2.dat file and display the student on the screen. data.

#include <iostream>
#include <fstream>
using namespace std;
struct student
{
public:
    void setid();
    void setname();
    void setsex();
    void setgrade();

    string getid();
    string getname();
    string getsex();
    char getgrade();
private:
    char id[5];
    char name[6];
    char sex[4];
    char grade;
};
void student::setid()
{
    cin>>id;
}
void student::setname()
{
    cin>>name;
}
void student::setsex()
{
    cin>>sex;
}
void student::setgrade()
{
    cin>>grade;
}
char student::getgrade()
{
    return grade;
}
string student::getid()
{
    return id;
}
string student::getname()
{
    return name;
}
string student::getsex()
{
    return sex;
}

intmain()
{
    student stu[3];
    student stu_temp;

    cout<<"please input student data:"<<endl;
    for (int i=0;i<3;i++)
    {
        stu [i] .setid ();
        stu[i].setname();
        stu [i] .setsex ();
        stu [i] .setgrade ();
    }

    fstream f1("C:\\Personal\\Desktop\\C++ Experiment \\Experiment 4\\Student Information\\f1.dat",ios_base::in|ios_base::out);
    fstream f2("C:\\Personal\\Desktop\\C++ Experiment \\Experiment 4\\Student Information\\f2.dat",ios_base::in|ios_base::out);

    if(f1)
    {
        for (int i=0;i<3;i++)
        {
           f1.write(reinterpret_cast<char*>(&stu[i]),sizeof(stu[i]));
           f1.flush();
        }
        f1.seekg(ios_base::beg);

         if (f2)
        {
            for (int i = 0; i < 3; i++)
            {
                f1.read(reinterpret_cast<char*>(&stu_temp), sizeof(stu_temp));
                cout << "学号:" << stu_temp.getid() << "姓名:" << stu_temp.getname() << "性别:" << stu_temp.getsex() << "分数:" << stu_temp.getgrade() << endl;

                f2.write(reinterpret_cast<char*>(&stu_temp), sizeof(stu_temp));

            }
            f1.close();
            f2.close();
        }
        else
        {
            cout << "f1 f2 open failed" << endl;
        }
    }
    else
        cout << "open file failed" << endl;

    return 0;
}



Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324477397&siteId=291194637