发布时间 : 星期六 文章火车票管理系统课程设计报告更新完毕开始阅读5f39c88c04a1b0717ed5dd4d
#include
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
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[])
-