按顺序将数据输出到磁盘文件中保存 C++

小到大的顺序将5名教师数据输出到磁盘文件中保存,注意可以随时添加教师信息可以输出这个文件中的全部数据用输入输出流解决问题有代码追加50分... 小到大的顺序将5名教师数据输出到磁盘文件中保存,注意可以随时添加教师信息
可以输出这个文件中的全部数据
用输入输出流解决问题
有代码追加50分
展开
 我来答
寒寒家
2009-06-07 · TA获得超过2919个赞
知道大有可为答主
回答量:1482
采纳率:100%
帮助的人:1959万
展开全部
#include<iostream>
#include<fstream>
using namespace std;
class Teacher
{
private:
char name[10];
int age;//年龄从小到大?
public:
Teacher()
{
cout<<"请输入老师的姓名"<<endl;
cin>>name;
cout<<"年龄"<<endl;
cin>>age;
}
void get(ofstream fout)
{
fout.write((char*) this,sizeof(*this));
}
friend void paixu(Teacher t[],int n);
friend void getdata(Teacher t[],int n,ofstream &f);
};
void getdata(Teacher t[],int n,ofstream &fout)
{
for(int i=0;i<n;i++)
fout.write((char *)&t[i],sizeof(t[i]));
}
void paixu(Teacher t[],int n)
{
int j,i;//冒泡法
Teacher t0(t[0]);
for(j=0;j<n;j++)
for(i=0;i<n-j-1;i++)
{
if(t[i+1].age<t[i].age)
{
t0=t[i];
t[i]=t[i+1];
t[i+1]=t0;
}
}
}
int main()
{
Teacher t[5];
cout<<"排序"<<endl;
paixu(t,5);
ofstream fout;//二进制形式存储
fout.open("Teacher.txt",ios::binary);
getdata(t,5,fout);
fout.close();
cout<<"您要添加数据么?(y/n)"<<endl;
char log='n';
cin>>log;
while(log=='y')
{
fout.open("Teacher.txt",ios::binary|ios::app);
Teacher *t0;
t0=new Teacher[1];
t0->get(fout);
fout.close();
delete t0;
cout<<"您要添加数据么?(y/n)"<<endl;
cin>>log;
}
return 0;
}
7820779
2009-06-07 · TA获得超过330个赞
知道小有建树答主
回答量:390
采纳率:0%
帮助的人:385万
展开全部
fopen
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lumingyuan25
2009-06-07 · 超过32用户采纳过TA的回答
知道答主
回答量:180
采纳率:0%
帮助的人:101万
展开全部
看下文件打开和关闭,和一些文件读写函数,如fscanf,fput,fwrite,fread等函数,挺简单的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式