火车票查询系统ppt
- 格式:ppt
- 大小:281.00 KB
- 文档页数:12
火车票查询系统摘要随着网络时代的快速发展,中国网民人数的持续增加,电子商务的普及以及中国现代物流的飞速发展,互联网法律法规的逐步完善,电子商务的环境已经初步形成,网上购物系统作为电子商务的一种主要实现形式必将得到进一步的普及和应用。
该系统主要为用户提供了会员注册、网上查询等功能;在设计方面,系统是典型的电子商务平台, 其开发基于B/S模式的网上销售的实现,采用的是ASP + ACCESS 模式。
该系统设计上采用三层结构、Web Service技术,使之在选用平台、采用技术上具有先进性、前瞻性、扩充性,从而保证建成的系统具有良好的稳定性、可扩充性。
从功能上来说,系统是比较完备的,系统以Web界面与用户交互,为用户提供信息并接受其操作,同时通过数据库管理系统来存储信息数据。
系统实现了对信息数据的浏览、查询、编辑和管理等基本数据库操作,采用了模块化设计方法,根据用户的需求及程序的应用与维护的易用性,将各个部分置于不同的模块当中,方便了程序的扩展与维护,同时建立了程序功能复用的基础。
本文所做火车票网上查询系统是一个根据现有的网上查询系统的现状而设计开发的电子商务平台,可以减少成本,提高工作效率。
关键词:网上查询;电子商务;ASP;交互AbstractWith the increasing number of netizens, the emergence of third--party payment means as well as the rapid development of modern logistic and the improvement of laws and regulations, the environment of e-commerce has formed in china. The shop online system which acted as one way to implement of electronic commerce will become more and more popular in the future.This system mainly to provide users with a registered member, preview tourist attractions, tickets online, provides the ticket for the administrator management, customer information management and information management, advertising spots link management etc. Function. In the design, system is a typical e-commerce sales platform, its development based on B/S model, online sales by ASP + ACCESS mode. Choose ACCESS database of backstage supporter's database. This system is used on three-layer structure design, Web Service technology, make in selecting, using the platform with advanced technology, prospectie, expand, and ensure the completion of the system has a good stability and extensibility. Using software component, system structure, development, business and separated, logic and data: In a unified service interface standard as the core, the use of open standards. From the function, system is relatively complete system with Web interface and the user interaction, and provide information and accept its operation, and through a database management system to store information and data. System of data to browse, query, editing and management database, the basic operating modular design methods, according to user's requirements and procedures of application and maintenance of facility, and the different parts will be placed among modules, convenient maintenance and expansion of the program, and established the basic program function reuse.The tourist attractions do online ticketing system is an online ticketing system according to the current situation of the development and design of e-commerce platform. It not only can expand the scale and influence the market business, and can reduce the operating costs, improve work efficiency.Key words:Online ticketing; e-commerce;ASP; interacti目录1绪论 (4)1.1课题现状 (4)1.2课题开发目的 (4)1.3课题关键技术 (5)1.3.1 ASP简介 (5)1.3.2 Dreamweaver (5)1.3.3 ACCESS (6)1.3.4 HTML(Hyper Text Markup Language) (6)2 可行性研究 (6)2.1资源可行性 (7)2.2技术可行性 (7)2.3经济可行性 (7)2.4社会的可行性 (7)3 系统需求分析 (8)3.1目标和任务 (8)3.2系统功能分析 (8)3.2.1 查询功能分析 (8)3.2.2 网站的界面设计 (8)3.3网站业务流程 (9)3.3.1 火车票网上查询系统的业务流程介绍 (9)3.3.2 系统的设计流程图 (9)4 系统概要设计 (10)4.1系统结构设计目标 (10)4.1.1 系统HIPO图 (10)4.1.2 系统功能模块介绍 (11)4.1.2.1登录模块 (11)4.1.2.2 注册模块 (11)4.1.2.3查询模块 (11)4.1.2.4用户管理模块 (11)4.2数据库结构设计 (11)4.2.1 数据库概念结构设计 (11)4.2.2数据库逻辑结构 (13)5 系统详细设计 (14)5.1系统总体结构图 (14)5.2过程设计 (15)5.2.1.系统用户权限的系统主处理流程 (16)5.2.2.车次信息查询处理流程 (17)6 系统运行与测试 (18)6.1系统调试 (18)6.2测试与运行 (18)6.2.1.系统管理员登陆首页 (18)6.2.2系统用户登陆注册首页 (19)6.2.3.车次查询界面 (19)6.2.4.车次查询结果 (20)结束语 (20)致谢 (21)参考文献 (21)附录 (21)1 绪论网上查询,相对于传统查询方式而言,是随着现代信息技术的发展而产生的一种新型查询方式,是一种消费者和工作人员分离的、非面对面的查询方式,是一种跨地区的查询模式。
车站查询系统目录一、系统概述 (3)二、设计要点 (3)三、系统构成 (4)3.1系统结构 (4)3.2系统硬件组成 (4)3.3系统软件 (5)四、系统功能 (5)4.1列车时刻表查询 (5)4.2停靠站信息查询 (5)4.3车次信息查询 (5)4.5票价信息查询 (6)4.6车站基础信息查询 (6)4.7铁路旅行常识 (6)4.8维护功能 (6)一、系统概述查询系统集形象介绍、业务宣传、业务查询、信息公告等功能于一体;通过触摸屏与乘客人性化的交互操作,为广大乘客提供更多的旅行服务信息,最大程度地为旅客提供便利。
查询系统主要以本地数据库和集成管理平台查询模块为主要数据源,采用触摸屏、计算机、多媒体、网络、接口等先进技术,为旅客提供列车、票价、席位、服务设施、站区环境等相关信息。
二、设计要点根据同车站相关人员进行的多次深入而细致的讨论,现对触摸屏查询系统提出以下基本功能要求:为旅客提供更多、更直接的车次以及车站相关信息。
例如列车时刻表,站前交通图、公交路线图、最新的一些铁道部公告等等,还有票务信息及各种有益于旅客的信息。
通过提供这些信息,满足旅客的旅行和旅游的需要。
同时要求保证触摸屏内容的一致性、完整性、实时性。
➢操作简单:只需手指轻触电脑屏幕上的有关按钮,便可以进行信息查询,获取包括视频、音频、文字资料等有关信息,并提供数字、字母或汉字等多种输入方式,在与列出信息相关的查询中站名输入支持拼音首字母输入。
➢界面友好:使用者无需掌握电脑的专业知识,电脑屏幕上的所有提示、指令及相关操作按钮,均以图形及文字两种方式显示,方便操作,界面通俗易懂,适合各层次、各年龄段的旅客使用。
➢信息丰富:信息存储量几乎可以不受限制,任何视频、音频、文字等数据信息,按规定格式都可以经过本系统发布。
➢响应迅速:系统应采用先进的触摸技术,及高速主机对大容量、大批次的数据查询,也可高速响应,无须等待。
➢安全可靠:整个系统应采用成熟的技术开发,同时利用多种数据冗余手段和容错措施提高整个系统的容错能力。
一、课题内容和要求设计目标:设计一个火车票务管理系统,用C语言实现。
对该系统的要求如下:需求描述:1.系统功能(1)火车时刻信息录入。
包括车次、日期、起点、终点、开车时间、到达时间、票价。
数据存入数据文件hchsk.dat或hchsk.txt中。
(2)火车时刻信息查询。
按照车次查询按终点查询按起点查询按终点和日期查询(3)统计按终点统计每日的车次数按起点统计每日的车次数2. 系统主界面应有以下功能选项录入火车时刻信息查询火车时刻信息统计火车车次退出注:建议用VC环境开发用户界面。
结果形式:提交程序设计报告和可演示的系统软件二、需求分析系统主界面应有以下功能选项录入火车时刻信息查询火车时刻信息统计火车车次退出(1)火车时刻信息录入。
包括车次、日期、起点、终点、开车时间、到达时间、票价。
数据存入数据文件hchsk.dat或hchsk.txt中。
(2)火车时刻信息查询。
按照车次查询按终点查询按起点查询按终点和日期查询(3)统计按终点统计每日的车次数按起点统计每日的车次数在该部分中叙述每个模块的功能要求三、概要设计/* 头文件 */#include<stdio.h>#include<string.h>#include<stdlib.h>/* 函数声明 */int MENU(); //菜单模块void INPUT(); //输入模块void SEARCH(); //查询模块void SELECT(); //统计模块void WRITE(); //文件记录模块void PRINT(); //打印模块void READ(); //文件读取模块void WRONG(); //纠错模块/* 宏定义 */#define N 1000 //最大列车组数#define Print " %s%13s%10s%10s%12s%15s%11s\n",T[i].code,T[i].data,T[i].lp,T[i] .ap,T[i].lt,T[i].at,T[i].price //输出记录格式#define Wrong "\n ! ! ! ! ! ! ! ! ! ! ! 输入错误,请重新输入 ! ! ! ! ! ! ! ! ! ! ! \n"#define GeShi " 车次日期起点终点开车时间到达时间票价\n" //输出表头/* 结构定义 */struct Train{char code[10]; //车次char data[10]; //日期char lp[10]; //left place 起点char ap[10]; //arrive place 终点char lt[10]; //left time 开车时间char at[10]; //arrive time 到达时间char price[10]; // 票价}T[N];/* 全局变量 */int i=0; //输入计数器int n=0; //合计计数器char l[20]; //纠错空间四、详细设计/* 头文件 */#include<stdio.h>#include<string.h>#include<stdlib.h>/* 函数声明 */int MENU(); //菜单模块void INPUT(); //输入模块void SEARCH(); //查询模块void SELECT(); //统计模块void WRITE(); //文件记录模块void PRINT(); //打印模块void READ(); //文件读取模块void WRONG(); //纠错模块/* 宏定义 */#define N 1000 //最大列车组数#define Print " %s%13s%10s%10s%12s%15s%11s\n",T[i].code,T[i].data,T[i].lp,T[i].ap ,T[i].lt,T[i].at,T[i].price //输出记录格式#define Wrong "\n ! ! ! ! ! ! ! ! ! ! ! 输入错误,请重新输入 ! ! ! ! ! ! ! ! ! ! ! \n"#define GeShi " 车次日期起点终点开车时间到达时间票价\n" //输出表头/* 结构定义 */struct Train{char code[10]; //车次char data[10]; //日期char lp[10]; //left place 起点char ap[10]; //arrive place 终点char lt[10]; //left time 开车时间char at[10]; //arrive time 到达时间char price[10]; // 票价}T[N];/* 全局变量 */int i=0; //输入计数器int n=0; //合计计数器char l[20]; //纠错空间/////////////////////////////////////////////////////////////////////int main() {int x;do{x=MENU();switch(x){case 1:INPUT(); break;case 2:SEARCH(); break;case 3:SELECT(); break;case 4:printf("\n---------------------------------------");printf("\n 正在退出,请按任意键退出");printf("\n\n 阿哈工作室出品B09020424");printf("\n---------------------------------------\n");break;default:WRONG(); break;}}while(x!=4);return 0;}/////////////////////////////////////////////////////////////////////int MENU(){int choice;system("cls"); //借鉴而来的清屏语句,好用!printf("\n----------------------------------------------\n");printf("----------------------------------------------\n");printf(" --- ---\n");printf(" --- 欢迎进入火车票务管理系统---\n");printf(" --- ---\n");printf("----------------------------------------------\n");printf("----------------------------------------------\n\n");printf(" \n -------------- 请输入选项-------------\n");printf(" 1.录入火车时刻信息\n");printf(" 2.查询火车时刻信息\n");printf(" 3.统计火车车次\n");printf(" 4.退出\n");printf("-----------------------------------------\n");printf(" 请选择: ");scanf("%d",&choice);gets(l);return choice;}///////////////////////////////////////////////////////////////////// //////////////////输入模块void INPUT(){char ch;do{system("cls"); //借鉴而来的清屏语句,好用!printf("\n\n ====================欢迎进入录入火车时刻信息界面====================\n");do{printf("\n 新建列车信息?(y/n) ");scanf("%c",&ch);gets(l);if(ch!='y'&&ch!='n')WRONG ();}while(ch!='y'&&ch!='n');if(ch=='n')break;printf(" ---------------------");printf("\n 录入第%d趟列车信息\n",n+1);printf(" 车次 ");gets(T[i].code);printf(" 日期 ");gets(T[i].data);printf(" 起点 ");gets(T[i].lp);printf(" 终点 ");gets(T[i].ap);printf(" 开车时间 ");gets(T[i].lt);printf(" 到达时间 ");gets(T[i].at);printf(" 票价 ");gets(T[i].price);n++;i++;}while(i<N);WRITE();system("cls"); //借鉴而来的清屏语句,好用!printf("\n");printf("--------------------------------\n");printf(" 系统记载的列车信息如下\n");printf("--------------------------------\n\n");PRINT();}///////////////////////////////////////////////////////////////////// //////////////////文件记录模块void WRITE(){FILE *fp,*fp1;if((fp=fopen("hchsk.txt","w"))==NULL){printf("无法创建文件!\n\n");getchar();return;}if((fp1=fopen("N.txt","w"))==NULL)//用于记录共几趟车{printf("无法创建文件!\n");getchar();return;}for(i=0;i<n;i++)if(fwrite(&T[i],sizeof(struct Train),1,fp)==0)printf("写入数据失败!\n\n");fprintf(fp1,"%d",n);fclose(fp);fclose(fp1);}///////////////////////////////////////////////////////////////////// //////////////////文件读取模块void READ(){FILE *fp,*fp1;if((fp=fopen("hchsk.txt","r"))==NULL){printf("无法打开文件\n");getchar();return;}if((fp1=fopen("N.txt","r"))==NULL){printf("无法打开文件!\n\n");getchar();return;}fscanf(fp1,"%d",&n);fclose(fp1);for(i=0;i<n;i++){fread(&T[i],sizeof(struct Train),1,fp);}fclose(fp);}///////////////////////////////////////////////////////////////////// //////////////////打印模块void PRINT(){char ch[10];READ();printf("\n===================================================================== ======\n");printf(GeShi);for(i=0;i<n;i++)printf(Print);printf("===========================================================================\n");printf("\n 按任意键返回上级菜单: ");gets(ch);}///////////////////////////////////////////////////////////////////// //////////////////查询模块void SEARCH(){char name1[10];//车次char name2[10];//终点char name3[10];//起点char name41[10];//终点char name42[10];//日期char choice;int j;int k;do{system("cls"); //借鉴而来的清屏语句,好用!printf("\n\n ====================欢迎进入查询火车时刻信息界面====================\n");printf("\n ++++++++++++++++++请选择查找方式++++++++++++++++++\n\n");printf(" ----1.显示所有列车信息 2.按车次查询3.按终点查询----\n");printf(" -----4.按起点查询 5.按终点和日期查询6.返回上级菜单----\n");printf("\n 请选择: ");scanf("%d",&j);gets(l);switch(j){case 1:PRINT();break;case 2:printf("\n --- 请输入车次 ---: ");gets(name1);break;case 3:printf("\n --- 请输入终点 ---: ");gets(name2);break;case 4:printf("\n --- 请输入起点 ---: ");gets(name3);break;case 5:printf("\n --- 请输入终点 ---: ");gets(name41);printf("\n --- 请输入日期 ---: ");gets(name42);break;case 6:break;default:WRONG ();break;}READ();k=0;if(j==2){for(i=0;i<n;i++){if(strcmp(T[i].code,name1)==0){printf("\n 按车次查找列车信息成功!\n");printf("\n===================================================================== ======\n");printf(GeShi);break;}}for(i=0;i<n;i++){if(strcmp(T[i].code,name1)==0){printf(Print);k++;}}printf("===================================================================== ======\n");printf("\n --> 共查询到 %d 趟列车信息,请按任意键返回 <-- ",k);gets(l);}if(j==3){for(i=0;i<n;i++){if(strcmp(T[i].ap,name2)==0){printf("\n 按终点查找列车信息成功!\n");printf("\n===================================================================== ======\n");printf(GeShi);break;}}for(i=0;i<n;i++){if(strcmp(T[i].ap,name2)==0){printf(Print);k++;}}printf("===========================================================================\n");printf("\n --> 共查询到 %d 趟列车信息,请按任意键返回 <-- ",k);gets(l);}if(j==4){for(i=0;i<n;i++){if(strcmp(T[i].lp,name3)==0){printf("\n 按起点查找列车信息成功!\n");printf("\n===================================================================== ======\n");printf(GeShi);break;}}for(i=0;i<n;i++){if(strcmp(T[i].lp,name3)==0){printf(Print);k++;}}printf("===================================================================== ======\n");printf("\n --> 共查询到 %d 趟列车信息,请按任意键返回 <-- ",k);gets(l);}if(j==5){for(i=0;i<n;i++){if(strcmp(T[i].ap,name41)==0&&strcmp(T[i].data,name42)==0){printf("\n 按终点和日期查找列车信息成功!\n");printf("\n===================================================================== ======\n");printf(GeShi);break;}}for(i=0;i<n;i++){if(strcmp(T[i].ap,name41)==0&&strcmp(T[i].data,name42)==0){printf(Print);k++;}}printf("===================================================================== ======\n");printf("\n --> 共查询到 %d 趟列车信息,请按任意键返回 <-- ",k);gets(l);}do{system("cls"); //借鉴而来的清屏语句,好用!printf("\n\n -->继续查找(1),返回主菜单(2)<-- ");choice=getchar();gets(l);if(choice!='1'&&choice!='2')WRONG ();}while(choice!='1'&&choice!='2');}while(choice!='2');}///////////////////////////////////////////////////////////////////// //////////////////统计模块void SELECT(){char name1[10];//终点char name2[10];//起点int t,k;char choice;do{system("cls");printf("\n\n ====================欢迎进入统计火车车次界面====================\n");printf("\n -|- -|- -|- -|- 请选择统计方式 -|- -|- -|- -|- \n\n");printf(" 1.按终点统计每日的车次数\n");printf(" 2.按起点统计每日的车次数\n");printf("\n 请选择: ");scanf("%d",&t);gets(l);switch(t){case 1:printf(" 请输入终点: ");gets(name1);break;case 2:printf(" 请输入起点: ");gets(name2);break;default:WRONG();break;}READ();if(t==1){k=0;for(i=0;i<n;i++){if(strcmp(T[i].lp,name1)==0){printf("\n 按终点统计列车信息成功!\n");break;}}for(i=0;i<n;i++){if(strcmp(T[i].lp,name1)==0)k++;}printf("\n --> 共查询到 %d 趟列车信息,请按任意键返回 <-- ",k);gets(l);}if(t==2){k=0;for(i=0;i<n;i++){if(strcmp(T[i].lp,name2)==0){printf("\n 按起点统计列车信息成功!\n");break;}}for(i=0;i<n;i++){if(strcmp(T[i].lp,name2)==0)k++;}printf("\n --> 共查询到 %d 趟列车信息,请按任意键返回 <-- ",k);gets(l);}do{system("cls"); //借鉴而来的清屏语句,好用!printf("\n\n -->继续统计(1),返回主菜单(2)<-- ");choice=getchar();gets(l);if(choice!='1'&&choice!='2')WRONG ();}while(choice!='1'&&choice!='2');}while(choice!='2');}///////////////////////////////////////////////////////////////////// //////////////////纠错模块void WRONG(){system("cls"); //借鉴而来的清屏语句,好用!printf("\n\n ---> ! ! ! 输入错误,请按任意键返回 ! ! ! <--- ");gets(l);}五、测试数据及其结果分析1、菜单模块-选择界面:1、菜单模块-退出2、输入模块2、输入完毕3、查询模块3、查询模块-23、查询模块-43、查询模块-询问3、查询模块-失败4、统计模块-14、统计模块-2 4、统计模块询问出错提示六、调试过程中的问题实验中遇到的问题不少,有以下几点:1.本来一开始做程序时候想使用模块化的,但因外部变量总要声明的缘故被取消。
摘要火车票查询系统是典型的信息管理系统,其开发重要包括后台数据库的建立和维护以及前台应用程序开发两个方面。
对于前者要求建立起数据一致性和完善性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
本系统主要用于用户查询火车基本信息,包括站站查询、站点查询、车次查询等。
用户可以根据需求可以查询出自己所需信息,如:站站查询时,用户输入出发站和目的站就可以查出可以乘坐的火车基本信息。
车次查询时:只要用户输入想要查询的火车车次,就可以查出这列火车所经过的所有站点和到各个站点的时间、票价等。
本系统采用了Struts2编写该系统的后台程序,Struts框架的结构清晰,使此次开发流程一目了然,层次性突出。
且采用MySQL来设计数据库,并使用当前优秀的开发工具MyEclipse,它有着最为灵活的数据库结构,对数据库应用有着良好的支持。
关键词:火车票查询;Struts2;MySQL;MyEclipse李文正:火车票查询系统目录摘要 (1)第1章需求分析 (3)1.1 系统功能 (3)1.2 技术分析 (3)1.3 工程进度计划 (4)第2章系统分析与设计 (5)2.1 系统分析 (5)2.1.1 参与者 (5)2.1.2 用例及用例规约 (5)2.1.3 用例图 (8)2.2 系统设计 (9)2.2.1 顺序图 (9)2.2.2 类图 (12)2.2.3 系统体系结构设计 (12)2.3 数据库设计 (13)第3章实现与测试 (15)3.1站站查询模块 (15)3.1.1 活动图 (15)3.1.2 界面 (15)3.1.3 代码 (16)3.1.4 测试用例 (22)3.2 站点查询模块 (24)3.2.1 活动模块 (24)3.2.2 界面 (24)3.2.3 代码 (25)3.2.4 测试用例 (27)3.3 车次查询模块 (29)3.3.1 活动图 (29)3.3.2 界面 (29)3.3.3 代码 (30)3.3.4 测试用例 (32)第4章总结 (34)第1章需求分析1.1 系统功能主要功能:(1)登陆、注册功能:本系统不是所有人都可以使用的,想要使用本系统必须注册成本系统的注册用户,只有成为注册用户才能使用该系统。