|
10鱼币
在进行详细输入之后,不关闭程序,进行查询功能是没有问题的。但是关闭查询之后,再打开,查询不了,这时候txt文件中上次录入的信息依然存在。而且,在添加新的信息之后,会将之前的所有信息都覆盖。
以下分别是读取数据的函数和添加信息的函数
/从磁盘读取数据
void Read(string num[],string name[],string sex[],string age[],string special[],string add[])
{
ifstream infile("student.txt");
if(!infile)
{
cerr<<" open error"<<endl;
exit(1);
}
for(int i=0; i<MAX; i++) //只读取存放在数组中 但不对其进行相关操作
{
infile>>num>>name>>sex>>age>>special>>add;
}
infile.close();
}
//添加学生信息
void Student::Add()
{
string num, name, sex, age, special, add;
//以追加的方式录入信息,直接将信息追加到以前文件的末尾
ofstream outfile("student.txt");
if(!outfile)
{
cerr<<" open error"<<endl;
exit(1);
}
count++; //添加一个学生信息,当然 count 要 +1
cout<<"请依次输入要添加的学生学号,姓名,性别,年龄,专业班级,住址:"<<endl;
cin>>num>>name>>sex>>age>>special>>add;
m_num = num;
outfile<<m_num<<"\t";
m_name = name;
outfile<<m_name<<"\t";
m_sex = sex;
outfile<<m_sex<<"\t";
m_age = age;
outfile<<m_age<<"\t";
m_special = special;
outfile<<m_special<<"\t";
m_add = add;
outfile<<m_add<<endl;
outfile.close();
cout<<"已添加成功!"<<endl;
}
|
|