火车票管理系统课程设计报告 联系客服

发布时间 : 星期六 文章火车票管理系统课程设计报告更新完毕开始阅读5f39c88c04a1b0717ed5dd4d

#include #include class Ticket {

char no[20];

char name_b[20]; char name_e[20]; int hour; int minute; int tra_time; int eding; int yupiao; public:

void shoupiao(fstream&f); void tuipiao(fstream&f);

void searchbynumber(fstream&f); void searchbybeginplace(fstream&f); void searchbyendplace(fstream&f); void luru(fstream&f); void liulan(fstream&f); void paixu(fstream&f);

friend ostream&operator<<(ostream&out,const Ticket&t);//定义重载输出运算符的友元函数

bool findno(char n[])//用于判断输入的字符串是否与查找区域中的某个字符串一致 {

if(strcmp(no,n)==0) return true; else

return false; }

bool findname_b(char n[]) {

if(strcmp(name_b,n)==0) return true; else

return false; }

bool findname_e(char n[]) {

if(strcmp(name_e,n)==0) return true; else

return false; } };

-

(2)主要函数流程图: 1、录入班次信息函数:

用户根据提示信息逐项输入班次信息各项数据, 利用read()函数把要录入的信息写入文件。 如图1

开始 开始 打开文件 打开文件打开文件 申请空间 读出数据 车次发出读入数据 是 否? 否 写入文件 输出车次信息,输出“此车已发出” 输出车次信息 关闭文件 关闭文件 结束 结束 图1 图2

2、浏览班次信息

显示所有的班次信息,并标记已发出的车次, 如图2

3、按班次号查询路线

根据用户输入的班次号查找匹配项的班次信息。 4、按起点站查询路线

根据用户输入的起点站查找匹配项的班次信息。 5、按终点站查询路线

根据用户输入的终点站查找匹配项的班次信息。 6、排列发车时间表

利用冒泡法按照发车时间的升序排列车次信息 7、售票

用户输入指定的班次和售票数目进行售票 如图3 8、退票

用户输入指定的班次和售票数目进行售票, 如图4

-

开始 打开文件 输入售票数目 输入班次号 是否找到? 否 余票 是 数目 是否 为零 票已售完否 未找到该 车次信息 售票 更新后的票 数写入文件 关闭文件 结束 开始 打开文件 输入退票数目 输入班次号 是 是 否 是否找到? 否 车是否已发出? 是 距离发车时间是否否 大于半小时? 是 未找到该车次信息! 此车已发出 退票失败! 退票 更新后的票数写入文件 关闭文件 结束 图3

图4

-

四、源程序代码

#include #include #include #include class Ticket { char no[20];

char name_b[20]; char name_e[20]; int hour; int minute; int tra_time; int eding; int yupiao; public:

void shoupiao(fstream&f); void tuipiao(fstream&f); void searchbynumber(fstream&f); void searchbybeginplace(fstream&f); void searchbyendplace(fstream&f); void luru(fstream&f); void zengjia(fstream&f); void xiugai(fstream&f); void liulan(fstream&f); void paixu(fstream&f); friend ostream&operator<<(ostream&out,const Ticket&t);//定义重载输出运算符的友元函数 bool findno(char n[])//用于判断输入的字符串是否与查找区域中的某个字符串一致 { if(strcmp(no,n)==0) return true; else return false; } bool findname_b(char n[]) { if(strcmp(name_b,n)==0) return true; else return false; } bool findname_e(char n[])

-