打印

C++文件疑问

[复制链接]
869|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
txcy|  楼主 | 2012-5-15 22:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "iostream.h"
#include "iomanip.h"
#include "string.h"
#include "stdio.h"
#include "stdlib.h"
struct information
{
int shift; //班次
char fctime[10]; //发车时间
char from[10]; //起始站
char to[10]; //终止站
float xctime; //行车时间
int load; //额定载量
int ticketed; //已订票人数
}ticket[4]={{1,"8:00","郫县","广汉",2,45,30},{2,"6:30","郫县","成都",0.5,40,40},{3,"7:00","郫县","成都",0.5,40,20},{4,"10:00","郫县","成都",0.5,40,2}};
void read() //第一个函数,对应第一个功能,下同;
{
FILE *fp;
fp=fopen("I:\\c++大作业\\车票管理系统\\数据文件.dat","wb");
if(fp==NULL)
{
cout<<"can't open the file\n";
exit(1);
}
fwrite(ticket,sizeof(ticket),1,fp);
fclose(fp);
cout<<"读入班次信息成功!"<<endl;
}
void scan() //浏览班次路线
{
FILE *fp;
information t[4];
fp=fopen("I:\\c++大作业\\车票管理系统\\数据文件.dat","rb");
if(fp==NULL)
{
cout<<"can't open the file\n";
exit(1);
}
fwrite(ticket,sizeof(ticket),1,fp);
fclose(fp);
fread(t,sizeof(t),1,fp);
for(int i=0;i<4;i++)
cout<<(t[i].shift)<<'\t'<<(t[i].fctime)<<'\t'<<(t[i].from)<<'\t'<<(t[i].to)<<'\t'<<(t[i].xctime)<<'\t'<<(t[i].load)<<'\t'<<(t[i].ticketed)<<endl;
}
void entry()
{




}

void main()
{
cout<<"车票管理系统主菜单:"<<endl;
cout<<"1.从数据文件中读入班次信息"<<endl;
cout<<"2.浏览班次信息"<<endl;
cout<<"3.录入班次信息"<<endl;
cout<<"4.查询路线"<<endl;
cout<<"5.售票服务"<<endl;
cout<<"6.退票服务"<<endl;
cout<<"7.退出系统"<<endl; //建立主菜单;
int option;
cout<<"请输入您选择的服务:";
cin>>option;
while(1)
{
switch(option) //选择服务;
{
case 1:read();break;
case 2:scan();break;



case 7:break;
}
if(option==7)
break;
cout<<"请继续选择服务:";
cin>>option;
}

}
我在编一个c++车站管理系统的大作业,还没做完,刚才检测了一下
发现选择2时出现的都是乱码,能解释一下么?

相关帖子

沙发
sinadz| | 2012-5-15 23:14 | 只看该作者
推荐使用WinHex软件查看文件或内存中的原始字节内容。

使用特权

评论回复
板凳
gxgclg| | 2012-5-15 23:27 | 只看该作者
这个函数有问题吧,你以读方式打开,为什么还要写啊??写完了关闭句柄后还怎么能读呢??我觉得不需要写,只有读吧。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

274

主题

2106

帖子

0

粉丝