主题:怎么向TXT文件传送数据呢?
新建信息后,为什么我打开TXT文件只有几排0
怎么样才能正确的向TXT文件传输数据啊。。
#include <iostream.h>
#include <fstream.h>
#include <string.h>
class person
{
public:
person();
char name[20];
char sex;
int age;
};
person::person(){}
class student: public person
{
public:
friend ostream & operator << (ostream & output, student &c);
student();
void xinjian();
void xiugai();
void shanchu();
char ID[10];
char pro[20];
int rank;
};
student stu[100];
ofstream outfile("f1.txt",ios::out);
student::student(){}
ostream & operator << (ostream & output, student &c)
{
output<<c.name<<" "<<c.sex<<" "<<c.age<<" "<<c.ID<<" "<<c.pro<<" "<<c.rank<<endl;
return output;
}
void student::xinjian()
{
int i=0,a;
do
{
cout<<"请输入新建学生信息:"<<endl;
cout<<"输入姓名:";
cin>>stu[i].name;
cout<<"输入性别:";
cin>>stu[i].sex;
cout<<"输入年龄:";
cin>>stu[i].age;
cout<<"输入学号:";
cin>>stu[i].ID;
cout<<"输入专业:";
cin>>stu[i].pro;
cout<<"输入排名:";
cin>>stu[i].rank;
i++;
outfile<<stu[i]<<endl;
cout<<"数据录入成功,是否继续录入,选择是请按1,否请按0:";
cin>>a;
}while(a==1);
}
void student::xiugai()
{
char num[20];
int i=0,a;
bool enter=0;
do
{
cout<<"请输入您要修改的学生的学号:";
cin>>num;
do
{
if(strcmp(num,stu[i].ID)==0)
{
enter=1;
break;
}
else i++;
}while(enter==0,i<100);
if(enter==1)
{
cout<<"请出入改正后的学生信息:"<<endl;
cout<<"输入姓名:";
cin>>stu[i].name;
cout<<"输入性别:";
cin>>stu[i].sex;
cout<<"输入年龄:";
cin>>stu[i].age;
cout<<"输入学号:";
cin>>stu[i].ID;
cout<<"输入专业:";
cin>>stu[i].pro;
cout<<"输入排名:";
cin>>stu[i].rank;
cout<<"数据修改成功";
}
if(enter==0)
cout<<"你输入的学号有误,请检查后重新输入:"<<endl;
cout<<"是否继续修改,是请按1,否请按0:";
cin>>a;
}while(a==1);
}
void student::shanchu()
{
char num[20];
int i=0,a;
bool enter=0;
do
{
cout<<"请输入你要删除的学生的学号:";
cin>>num;
do
{
if(strcmp(num,stu[i].ID)==0)
{
enter=1;
break;
}
else i++;
}while(enter==0,i<100);
if(enter==1)
do
{
stu[i]=stu[i+1];
i++;
}while(i<100);
if(enter==0)
cout<<"您输入的学生学号有误,请检查后重新输入:"<<endl;
cout<<"学生信息删除成功,是否继续删除学生信息,是请按1,否请按0:";
cin>>a;
}while(a==1);
}
int main()
{
int i=0;
int c;
student t;
char b;
do
{
cout<<"请选择你想要的操作:"<<endl;
cout<<"1.新建学生信息"<<endl;
cout<<"2.修改学生信息"<<endl;
cout<<"3.删除学生信息"<<endl;
cin>>b;
switch(b)
{
case '1':t.xinjian();break;
case '2':t.xiugai();break;
case '3':t.shanchu();break;
}
cout<<"是否继续进行其他操作,是请按1,否请按0:";
cin>>c;
}while(c==1);
return 0;
}