考拉小女巫 2013-08-29 09:27
浏览 948

我们写的课程设计要求用文件 没有学习 不会用文件

现在我写的不能把内容存在文件中 也无法显示文件内容 怎么办
//ex11_18.h
#ifndef EX11_18_H
#define EX11_18_H
#include
#include
using namespace std;
class hospitalData
{
public:
void Initial(const char*fileDat);
void Append(const char*fileDat);
void Inquire(const char*fileDat);
int endMark(hospitalData hospital);
private:
char name[40];
char sex;
int age;
int number;
int room;
int money;
int TP;
};
#endif

#include "ex11_18.h"
const char*fileDat="d:\hospitalFile.dat";
int main()
{
hospitalData hospital;
char choice;
while (1)
{
cout<<"******************铜川市人民医院管理系统*********************"< cout cout cin>>choice;
switch(choice)
{
case'1':hospital.Append(fileDat);break;
case'2':hospital.Inquire(fileDat);break;

    case'4':hospital.Initial(fileDat);break;
    case'5':cout<<"退出系统"<<endl;return 0;
    default:cout<<"输入错误,请再次输入"<<endl;
    }
}

}

//初始化账目文件 建立只有一个空文件
#include "ex11_18.h"

void hospitalData::Initial(const char*fileDat)
{
ofstream fdat("fileDat.txt");
fdat.open ("fileDat.txt",ios::out|ios::binary);
cout<<"若账目文件存在,将删除原来所有数据,要做文件初始化吗?y/n"< char answer;
cin>>answer;
if(answer=='y')
{
fdat.seekp(0,ios::beg);

    cout<<"文件已经初始化了"<<endl;
}
else
{
    cout<<"取消操作"<<endl;
}
fdat.close();

}

//添加账号信息存储
#include "ex11_18.h"

void hospitalData::Append (const char *fileDat)
{

hospitalData hospital;
fstream fdat("fileDat.txt");
fdat.open("fileDat.txt",ios::in|ios::out|ios::binary);    //以读写方式打开文件 

char again;

do
{
    cout<<"**********************挂号登记*********************"<<endl;
    cout<<"你本次操作的号码为?"<<endl;
    cin>>hospital.TP;
    fdat.put(hospital.TP);
    cin.ignore ();
    cout<<"请输入你的姓名:"<<endl;

    cin.getline(hospital.name,40);
    fdat>>hospital.name;
    cout<<"请输入你的年龄"<<endl;

    cin>>hospital.age;
    fdat.put(hospital.age);
    cin.ignore ();
    cout<<"请输入你的性别 W=WOMAN  M=MEN  "<<endl;

    cin>>hospital.sex;
    fdat.put(hospital.sex);
    cin.ignore ();
    cout<<"请选择你所需的科室"<<endl;

    cout<<"【1】内科 【2】外科 【3】儿科 【4】 妇产科 【5】五官科 【6】皮肤科"<<endl;
    cin>>hospital.room;
    fdat.put(hospital.room);
    cin.ignore ();
    cout<<"【1】是普通门诊,收费3元"<<endl;
    cout<<"【2】是专家门诊,收费5元"<<endl;
    cout<<"请选择你所需门诊之前的序号"<<endl;

    cin>>hospital.money;
    fdat.put(hospital.money);
    cin.ignore ();
    fdat.write((char*)&hospital,sizeof(hospitalData));
    cout<<"再输入一个病人信息吗?";
    cin>>again;
    cin.ignore();

}while(toupper(again)=='y');

fdat.close();
}

//查询
#include"ex11_18.h"
void hospitalData::Inquire(const char*fileDat)
{
hospitalData hospital;
fstream fdat("fileDat.txt");
fdat.open("fileDat.txt",ios::in|ios::out|ios::binary);
cout<<"********************进入查询系统********************"<<endl;
fdat.open("fileDat",ios::in|ios::binary);
fdat.read((char*)&hospital,sizeof(hospitalData));
{
fdat.read((char*)&hospital,sizeof(hospitalData));
cout<<"编号:"<<hospital.TP<<endl;
cout<<"姓名:"<<hospital.name<<endl;
cout<<"年龄:"<<hospital.age<<endl;
cout<<"性别:"<<hospital.sex<<endl;
cout<<"科室:"<<hospital.room<<endl;
cout<<"门诊费用:"<<hospital.money<<endl;
}

cout<<"显示完毕!"<<endl;
fdat.close();

}

//endMark.cpp
#include"ex11_18.h"
int hospitalData::endMark(hospitalData hospital)
{
if(hospital.TP==0)
return 1;
return 0;
}

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 cgictest.cgi文件无法访问
    • ¥20 删除和修改功能无法调用
    • ¥15 kafka topic 所有分副本数修改
    • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
    • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
    • ¥40 串口调试助手打开串口后,keil5的代码就停止了
    • ¥15 电脑最近经常蓝屏,求大家看看哪的问题
    • ¥60 高价有偿求java辅导。工程量较大,价格你定,联系确定辅导后将采纳你的答案。希望能给出完整详细代码,并能解释回答我关于代码的疑问疑问,代码要求如下,联系我会发文档
    • ¥50 C++五子棋AI程序编写
    • ¥30 求安卓设备利用一个typeC接口,同时实现向pc一边投屏一边上传数据的解决方案。