票务管理方案计划系统程序设计

  • 格式:doc
  • 大小:1.39 MB
  • 文档页数:35

下载文档原格式

  / 35
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

程序设计报告

(2014/2015学年第一学期)

题目:票务管理系统

专业理工科强化班

组长学号姓名

组员学号姓名

指导教师

指导单位计算机学院软件教学中心日期 2014 年 10月 23日

票务管理

系统

一课题内容和要求

(1)录入班次信息(信息用文件保存number.dat),可随时增加新车次数据

(2)浏览班次信息,可显示出所有车次当前状况(显示车辆是否发出的提示信息)。

(3)查询路线:可按班次号、终点站查询售票情况。

(4)根据发车时间给出顺序的发车时间表,存入文件保存(sort.dat)。

(5)售票和退票功能

当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新余票数量。

退票时,输入退票的班次,当本车次发出前半小时才可以退票,自动更新已售票人数。

(6)改签功能

改签时,输入改签目标班次,退原来的票,功能实现见上。

2、扩展功能要求

(1)角色区分:以上的功能(1)只有管理员凭密码才能操作;其余所有的功能管理员和普通访客均可操作。

(2)管理员提供密码找回服务。

(3)每人限购买一张。

二、需求分析

票管理系统的功能框架图如图1、2所示。

( 1 )提供一个入口,针对用户和管理员,可分别选择登录方式并进行操作。

( 2 )通过数据库文件对车票信息与提示信息进行管理、储存、输入和输出;

图1功能框架图

图2功能框架图

三、概要设计

1 主要的类内变量的定义和函数的声明:

class chepiao

{

public:

string CC,QD,ZD; //车票类的数据成员车次,起点站,终点站

int FCSJh,FCSJm,XCSJ,EDZL,YPSL;//车票类的数据成员发车时间(小时)、(分钟)、行车时间、额定载量、余票数量

chepiao* left; //链表的指针

chepiao(string A,int AA,int AA2,string AAA,string AAAA,int AAAAA,int AAAAAA,int AAAAAAA)

{

CC=A;FCSJh=AA;FCSJm=AA2;QD=AAA;ZD=AAAA;XCSJ=AAAAA;EDZL=AAAAAA;YP SL=AAAAAAA;left=NULL;

}

chepiao()

{

left=NULL;

}

};

函数:

void Output(); //输出number.dat内容

void Output2(); //输出sort.dat内容

void Write(chepiao *start); //把内存中的车票信息写入number.dat

void Write2(chepiao *start); //把内存中的车票信息写入sort.dat

void Find(chepiao *start); //按目的地和车次查询车票信息

void Sort(chepiao *start); //按发车时间排序车票信息

void Buy(chepiao *start); //购票操作

void Buy2(chepiao *start); //改签中的购票操作

void Refund(chepiao *start); //退票操作

void Refund2(chepiao *start); //改签中退票操作

void Delete(chepiao *start); //释放内存中车票所占空间

void Show1(); //输出欢迎的选择界面

void Show2(); //输出用户的选择界面

void Shout(); //防“熊孩子”设定

void Getpassword(); //读入文件中的密码

void Resetpassword(); //将修改的密码重新读入文件储存

bool Check(); //是否买过票检查

void Setnumber(); //记录买过票的身份证号码

string innumber; //记录身份证号

bool mp=false; //判断是否能购买

string password; //临时储存读入的密码和修改的新密码

int sj; //当前的小时数*60+分钟数,用于时间比较

int sj2; //车票的发车时间的小时数*60+分钟数,用于时间比较bool gq=false; //用于传递改签过程中第一步购票是否成功的信息string name="admin"; //默认的管理员账号

string Q1="中国江苏找南邮"; //默认的管理员密保问题

2 主要函数流程图

四、源程序代码

//车票类.h

#include

#include

using namespace std;

int sum=0;

class chepiao

{

public:

string CC,QD,ZD; //车票类的数据成员车次,起点站,终点站

int FCSJh,FCSJm,XCSJ,EDZL,YPSL;//车票类的数据成员发车时间(小时)、(分钟)、行车时间、额定载量、余票数量

chepiao* left; //链表的指针

chepiao(string A,int AA,int AA2,string AAA,string AAAA,int AAAAA,int AAAAAA,int AAAAAAA)

{

CC=A;FCSJh=AA;FCSJm=AA2;QD=AAA;ZD=AAAA;XCSJ=AAAAA;EDZL=AAAAAA;YPSL=AAAAA AA;left=NULL;

}

chepiao()

{

left=NULL;

}

};

#include "车票类.h"

#include

#include

using namespace std;

void Output(); //输出number.dat内容

void Output2(); //输出sort.dat内容

void Write(chepiao *start) ; //把内存中的车票信息写入number.dat

void Write2(chepiao *start); //把内存中的车票信息写入sort.dat

void Find(chepiao *start); //按目的地和车次查询车票信息

void Sort(chepiao *start); //按发车时间排序车票信息

void Buy(chepiao *start); //购票操作

void Buy2(chepiao *start) ; //改签中的购票操作

void Refund(chepiao *start); //退票操作

void Refund2(chepiao *start); //改签中退票操作

void Delete(chepiao *start); //释放内存中车票所占空间

void Show1(); //输出欢迎的选择界面

void Show2(); //输出用户的选择界面

void Shout(); //防“熊孩子”设定

void Getpassword(); //读入文件中的密码

void Resetpassword(); //将修改的密码重新读入文件储存

bool Check(); //是否买过票检查

void Setnumber(); //记录买过票的身份证号码