课程设计报告车票管理系统

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

课程设计报告

(C语言程序设计)

题目车票信息管理系统

的设计与实现二级学院数学与统计

专业信息与计算科学班级112010102

学生姓名郭双红

学号11201010209 指导教师陈媛

时间20130619

1 需求分析

1.1 课程设计题目

要求设计并实现一个车票销售管理系统,系统实现以下功能。

(1)系统以菜单方式工作:要求界面清晰,友好,美观,易用。

(2)车次信息导入功能:要求可从磁盘文件导入车次信息。

(3)查询功能:可按班车号、起点站或终点站查找班车信息,并将查询结果输出。

(4)售票功能:只有当某班车已定票人数小于额定载量,且当前系统时间小于发车时间才能售票。售票显示收费信息;售票后更新已定票人数,并实现信息存盘。

(5)退票功能:输入退票的班次,当本班车未发出时才能退票。退票后自动更新已定票人数,并实现信息存盘。

(6)信息浏览功能:能输出所有班车的信息;要求输出格式清晰、美观。

(7)信息修改:要求能修改某一指定班次的信息,并在修改后将信息存盘。

1.2 系统功能需求

(1)系统以菜单方式工作:要求界面清晰,友好,美观,易用。

(2)车次信息导入功能:要求可从磁盘文件导入车次信息。

(3)查询功能:可按班车号、起点站或终点站查找班车信息,并将查询结果输出。

(4)售票功能:只有当某班车已定票人数小于额定载量,且当前系统时间小于发车时间才能售票。售票显示收费信息;售票后更新已定票人数,并实现信息存盘。

(5)退票功能:输入退票的班次,当本班车未发出时才能退票。退票后自动更新已定票人数,并实现信息存盘。

(6)信息浏览功能:能输出所有班车的信息;要求输出格式清晰、美观。

(7)信息修改:要求能修改某一指定班次的信息,并在修改后将信息存盘。

2 系统设计

2.1 功能模块图

本系统的功能模块图如图2-1所示。

图2-1 系统功能模块图

2.2 数据定义

本系统的数据可采用结构数组来处理。可必要的设置全局变量。因此本系统的主要数据定义如下:

struct Train_Ticket

{

char cn[15]; //车量班次

char lp[15]; //left place 起点

char ap[15]; //arrive place 终点

char lt[15]; //left time 发车时间

char rt[15]; //running time 行车时间

float price; // 票价

int rl; //Rated load 额定载量

int bn; //booking number 已定票人数

}T[N];

int n=0,i=0;// 全局变量

2.3 关键技术分析

⑴在程序开始运行时,应调用自定义的INPUT()函数,将所有需要的数据导入到结构数组中,然后保存。

⑵调用load()函数,从磁盘导入车票信息。由于第一次应用INPUT()函数磁盘中已有数据,因此不必要再进行重新导入,所以在INPUT()函数中先询问是否重新导入,然后再进入主菜单,或者在调用一次后,以后运行时不再调用。

⑶.买票和退票都涉及到时间的问题,这源于要比较发车时间与当前的时间,判断这班车到底有没有发车,和能不能订票与退票,这时用了一个时间函数,输出了当前的时间,但那边有年月日,不好进行提取和比较,于是采用输出了时间,然后看着那个时间手动的提取。

⑷系统中应编写存盘函数save(),在进行买票或者退票功能后都需要调用save()函数进行数据的更新。

⑸采用循环结构生成主菜单,在数据输入时应该有清晰的提示信息,以方便用户的操作,对输出数据进行格式控制,以使界面更加美观,清晰。

3 系统实现

3.1 功能模块设计

根据系统分析的结论,将本系统需完成的功能模块划分如下:

#include

#include

#include

#include

#include

#define N 4

void main_menu(); //主菜单模块

void load(); //导入信息

void INPUT(); //输入模块

void scan(); //浏览模块

void tuipiao(); //退票

void buy(); //买票

void change(); //修改函数

void save(); //保存函数

void prna(int pos); //打印记录

void searchmenu(); //查询菜单函数

int s_cn(); //按班次查询

int s_lp(); //按起点站查询

int s_ap(); //按终点站查询

struct Train_Ticket

{

char cn[15]; //车量班次

char lp[15]; //left place 起点

char ap[15]; //arrive place 终点

char lt[15]; //left time 发车时间

char rt[15]; //running time 行车时间

int price; // 票价

int rl; //Rated load 额定载量

int bn; //booking number 已定票人数

}T[N];

int n=0,i=0;// 全局变量

3.2 源代码

//********************************************************

//主菜单

//********************************************************

void main_menu()

{

system("cls");

system("color E");

printf("************************************************************* *********\n");

printf("*************************欢迎来到车票查询系统*************************");

printf("\n");

相关文档
最新文档