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

合集下载

科技馆综合票务及体验运营管理信息化系统方案

科技馆综合票务及体验运营管理信息化系统方案

目录目录 (1)一、前言 (3)二、银科环企介绍 (4)2.1 环企部分著名客户案例 (5)三、科技馆运营管理信息化系统概述 (9)3.1 现场售票子系统 (10)3.1.1 现场售票系统现场打印出票速度 (10)3.1.2 现场门票打印信息 (10)3.1.3 现场售票(当日不进场)操作流程 (11)3.2 团体客户售票子系统 (12)3.2.1 团体客户信息管理 (12)3.2.2 团体客户管理模式 (12)3.3 网上票务子系统 (13)3.3.1 网上票务用户登入 (13)3.3.2 用户网上购票及购(领)票人信息录入 (14)3.3.3 网上付款方式和网银支付接口 (15)3.3.4 入场订单凭证打印 (16)3.4 旅游证件订票子系统 (17)3.5 票务管理子系统 (19)3.5.1 现场订单管理 (19)3.5.2 门票信息管理 (19)3.5.3 门票按钮管理 (19)3.5.4 现场银库管理 (20)3.5.5 售票点明细管理 (20)3.5.6 售票点结算及查询管理 (20)3.6 出、入场控制管理子系统 (21)3.7 科技馆管理子系统 (22)3.7.1 科技馆体验者信息注册 (22)3.7.2 网上(家长)用户信息注册 (23)3.7.3 网上职业经历查询 (23)4、科技馆运营管理信息化系统模块及相关模块选择 (24)5、科技馆运营管理系统项目实施 (26)5.1 项目实施管理及时间表 (26)5.1.1 实施队伍的角色及职责 (26)5.1.2 项目实施执行委员会 (28)5.1.3 项目管理计划 (29)5.1.4 项目进度控制措施 (31)5.2 培训计划 (36)5.2.1 培训资源 (36)5.2.2 培训的组织实施 (37)5.2.3 培训内容 (38)5.2.4 培训考核 (39)5.2.5 场景设计模拟训练 (40)5.2.6 培训记录 (40)5.2.7 附件一培训测评表 (41)5.2.8 附件二培训出席人员清单 (42)5.2.9 附件三培训实习计划 (43)5.2.10 附件四场景模拟训练表 (44)5.2.11 附件五培训考核表 (45)6、售后服务 (46)6.1 售后服务基本原则 (46)6.2 技术支持概况 (47)6.3 售后服务体系 (47)6.4 响应时间 (48)6.5 技术支持服务内容 (49)一、前言科技馆是学习和娱乐的乐园,游客进入科技馆游览。

c语言编程 电影院票务系统

c语言编程 电影院票务系统

电影院票务系统程序设计C语言编程需自行编辑TXT文件1--6#include<stdio.h>#include<stdlib.h>void menu(){FILE *fp;char ch;fp=fopen("menu.txt","r");for(ch=fgetc(fp);ch!=EOF;ch=fgetc(fp))putchar(ch);fclose(fp);}void book(){int a1,b1,c1,d1,m,k;FILE *fp;printf("请输入目标电影序号:(1-6)");scanf("%d",&k);switch(k){case 1:fp=fopen("ticket1.txt","r+");break;case 2:fp=fopen("ticket2.txt","r+");break;case 3:fp=fopen("ticket3.txt","r+");break;case 4:fp=fopen("ticket4.txt","r+");break;case 5:fp=fopen("ticket5.txt","r+");break;case 6:fp=fopen("ticket6.txt","r+");break;default :printf("you enter an wrong number!\n");}fscanf(fp,"%d %d %d %d",&a1,&b1,&c1,&d1);printf(" 电影序号%d 共有座位%d 已卖出%d 剩余%d\n",a1,b1,c1,d1); if(d1<1) printf(" 对不起,票已售完,请下次再来\n");else {printf("确定订票?1(Y)/0(N)\n");scanf("%d",&m);if(m==1) {c1++;d1--;printf(" 谢谢购买!祝您观影愉快!\n"); rewind(fp);fprintf(fp,"%d %d %d %d",a1,b1,c1,d1); }}fscanf(fp,"%d %d %d %d",&a1,&b1,&c1,&d1);fclose(fp);printf(" 电影序号%d 共有座位%d 已卖出%d 剩余%d\n",a1,b1,c1,d1); }void cancel(){int e1,f1,g1,h1,m,w;FILE *fp;printf("请输入目标电影序号:(1-6)");scanf("%d",&w);switch(w){case 1:fp=fopen("ticket1.txt","r+");break;case 2:fp=fopen("ticket2.txt","r+");break;case 3:fp=fopen("ticket3.txt","r+");break;case 4:fp=fopen("ticket4.txt","r+");break;case 5:fp=fopen("ticket5.txt","r+");break;case 6:fp=fopen("ticket6.txt","r+");break;default :printf("you enter an wrong number!\n");}fscanf(fp,"%d %d %d %d",&e1,&f1,&g1,&h1);printf(" 电影序号%d 共有座位%d 已卖出%d 剩余%d\n",e1,f1,g1,h1); if(g1<1) printf(" 对不起您的输入有误,请重试!\n");else {printf("确定退票?1(Y)/0(N)\n");scanf("%d",&m);if(m==1) {g1--;h1++;printf(" 已退票,欢迎下次再来\n"); rewind(fp);fprintf(fp,"%d %d %d %d",e1,f1,g1,h1); }}fscanf(fp,"%d %d %d %d",&e1,&f1,&g1,&h1);fclose(fp);printf(" 电影序号%d 共有座位%d 已卖出%d 剩余%d\n",e1,f1,g1,h1); }void inquire(){int i,j,k,l,t;FILE *fp;printf("请输入目标电影序号:(1-6)");scanf("%d",&t);switch(t){case 1:fp=fopen("ticket1.txt","r+");break;case 2:fp=fopen("ticket2.txt","r+");break;case 3:fp=fopen("ticket3.txt","r+");break;case 4:fp=fopen("ticket4.txt","r+");break;case 5:fp=fopen("ticket5.txt","r+");break;case 6:fp=fopen("ticket6.txt","r+");break;default :printf("you enter an wrong number!\n");}fscanf(fp,"%d %d %d %d",&i,&j,&k,&l);printf(" 电影序号%d 共有座位%d 已卖出%d 剩余%d\n",i,j,k,l);}main(){int c;int w;start:printf(" *************************************\n");printf(" Welcome to our ticket system!\n" );printf(" 1. Movies menu \n");printf(" 2. book the ticket. \n");printf(" 3. cancel the ticket \n");printf(" 4. inquire the ticket \n");printf(" 5. exit \n");printf(" *************************************\n");scanf("%d",&c);switch(c){case 1:menu();break;case 2:book();break;case 3:cancel();break;case 4:inquire();break;case 5:goto end;default :printf("you enter an wrong number!\n");}printf("continue? 1(Y)/0(N) \n");scanf("%d",&w); system("cls");loop:{if(w==1)goto start;else goto end;}end: printf(" Thank you for use my system! Bye!\n\n\n author:percyfan\n\n\n");}。

影城票务系统详细设计

影城票务系统详细设计

1引言 (4)1.1编写目的 (4)1.2背景 (4)1.3定义 (4)1.4参考资料 (5)2程序系统的结构 (5)2.1系统总结构 (5)2.2系统前台运行时序图 (7)2.3系统后台运行时序图 (7)2.4系统接口说明 (8)3信息管理设计说明 (9)3.1程序描述 (9)3.2功能 (9)3.3输入项 (10)3.4输出项 (10)3.5流程逻辑 (10)3.6存储分配 (11)4用户管理设计说明 (11)4.1程序描述 (11)4.2功能 (11)4.3输入项 (11)4.5流程逻辑 (12)4.6存储分配 (12)5购票管理设计说明 (14)5.1程序描述 (14)5.2功能 (14)5.3输入项 (14)5.4输出项 (15)5.5流程逻辑 (15)5.6存储分配 (16)6会员管理设计说明 (16)6.1程序描述 (16)6.2功能 (17)6.3输入项 (17)6.4输出项 (17)6.5流程逻辑 (18)6.6存储分配 (18)7票务管理设计说明 (18)7.1程序描述 (18)7.2功能 (18)7.3输入项 (19)7.5流程逻辑 (19)7.6存储分配 (20)8影片管理设计说明 (22)8.1程序描述 (22)8.2功能 (22)8.3输入项 (22)8.4输出项 (22)8.5流程逻辑 (23)8.6存储分配 (23)9统计结算管理设计说明 (24)9.1程序描述 (24)9.2功能 (24)9.3输入项 (24)9.4输出项 (25)9.5流程逻辑 (25)9.6存储分配 (25)详细设计说明书1引言1.1编写目的根据《需求规格说明书》、《概要设计说明书》,在仔细考虑讨论之后,我们对《影城票务管理系统》软件的功能划分、数据结构、软件总体结构的实现有了进一步的想法。

我们将这些想法记录下来,作为详细设计说明书,为进一步设计软件、编写代码打下基础。

1.2背景随着社会信息量的与日俱增,人们对于精神层面的追求也在不断增长。

完整word版火车站售票管理系统的设计与实现word文档良心出品

完整word版火车站售票管理系统的设计与实现word文档良心出品

山西大学商务学院《软件工程课程设计》报告题目: 火车站售票管理系统的设计与实现班级:10软件G2班组长:景巧鑫一、火车站售票管理系统二、小组成员及任务分配情况1. 开发目的和意义 ........ 1.1研究背景............ 1.2开发目的和意义.… 1.3完成情况 ............ 2. 开发技术及方法 ........ 2.1开发环境和开发工具 2.2技术及方法 .......... 2.2.1 B/S 模式 ........ 2.2.2 .NET ........... 2.2.3 ........ 3. 系统分析 .............. 3.1可行性分析 .......... 3.1.1 3.1.2 3.1.3 经济可行性技术可行性 操作可行性 3.2需求分析..... 3.2.1 功能需求 3.2.2数据需求 3.2.3性能需求 4. 系统设计 ....... 4.1总体设计..... 4.2详细设计..... 4.2.1过程设计 4.3数据库设计.. 4.3.1 4.3.2 4.3.3 4.3.4 用户表 ........ 车次详细信息表 订票纪录表 —— 退票纪录表 ……5.系统实现 .......5.1系统登录界面.2..3..3 ..3 ..3 ..3 ..4 ..5 ..5 ..5 ..5 ..5 ..5 ..5 ..8 ..9 10 10 10 10 16 16 17 17信息学院《软件工程课程设计》报告-II -5.2系统管理员登录界面 5.3票务管理员登录界面 5.4乘客登录界面........ 6. 系统测试 .............. 6.1测试方法 ............ 6.2测试过程 ............ 6.3测试结果 ............ 7. 总结 ................... 7.1小结 ................ 7.2实践感想 ............ 参考文献 ................ 附录 附录 附录 附录 1 2 3 4 可行性分析文档 需求分析文档 详细设计文档 系统测试文档19 20 21 22 22 22 22 24 24 24 26 27 30 33 391.开发目的和意义1.1研究背景用信息化推动工业化,用信息技术改造传统产业,这是我国迫切要完成的一项战略性任务。

c语言课程设计售票系统

c语言课程设计售票系统

c语言课程设计售票系统一、教学目标本章节的教学目标是使学生掌握C语言基础知识,能够运用C语言设计一个简单的售票系统。

具体目标如下:1.理解C语言的基本语法和数据类型。

2.掌握函数的定义和调用。

3.了解面向过程的编程思想。

4.能够使用C语言编写简单的程序。

5.能够运用面向过程的编程思想设计程序。

6.能够独立完成一个简单的售票系统的设计和实现。

情感态度价值观目标:1.培养学生的编程兴趣,提高学生对计算机科学的热爱。

2.培养学生解决问题的能力,提高学生的自主学习能力。

3.培养学生团队合作的精神,提高学生的沟通协作能力。

二、教学内容本章节的教学内容主要包括C语言基础知识、函数的定义和调用、面向过程的编程思想以及售票系统的设计和实现。

具体内容如下:1.C语言基础知识:数据类型、变量、运算符、表达式等。

2.函数的定义和调用:函数的定义、返回值、参数、函数调用等。

3.面向过程的编程思想:顺序结构、分支结构、循环结构等。

4.售票系统的设计和实现:系统需求分析、功能模块设计、程序实现等。

三、教学方法为了达到本章节的教学目标,我们将采用以下教学方法:1.讲授法:通过讲解C语言基础知识、函数的定义和调用、面向过程的编程思想等,使学生掌握相关概念和理论。

2.案例分析法:通过分析实际案例,使学生了解售票系统的设计和实现过程。

3.实验法:让学生动手编写程序,培养学生的实际编程能力。

4.讨论法:学生进行分组讨论,促进学生之间的交流与合作。

四、教学资源为了支持本章节的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:C语言程序设计教程,用于引导学生学习C语言基础知识。

2.参考书:C语言编程实践,用于为学生提供更多的编程案例和实践指导。

3.多媒体资料:教学PPT、视频教程等,用于辅助讲解和演示。

4.实验设备:计算机、编程环境等,用于学生动手实践和编写程序。

五、教学评估本章节的教学评估将采用多元化的评估方式,以全面、客观地评价学生的学习成果。

数据库课程设计实验报告火车票售票管理系统.doc

数据库课程设计实验报告火车票售票管理系统.doc

数据库课程设计报告 -------火车售票管理信息系统软件学院软件工程2013级x班姓名: xx学号:2013xxxxxxxx目录一、系统开发平台 (1)四、需求分析 (2)4.1 用户需求说明 (2)4.1.1 数据需求 (2)4.1.2 事务需求 (3)4.2 系统需求说明 (4)五、数据库逻辑设计 (4)5.1 ER图 (4)5.2 数据字典 (5)5.3 关系表 (7)六、数据库物理设计 (7)6.1 索引 (7)6.2 视图本节可选 (8)6.3 安全机制 (8)七、应用程序设计 (8)7.1 功能模块 (8)7.2 界面设计 (15)7.3 事务设计 (15)八、测试和运行 (16)九、总结 (16)一、系统开发平台题目:对火车站的售票进行管理。

主要功能:车次管理(车次、起止地点、到达时间、开车时间)、每一车次的车票管理(车厢号、座位号)、售票、退票、查询、异常处理。

开发工具:eclipse数据库:mysql操作系统:windows8.1二、数据库规划2.1 任务陈述:做一个火车票售票管理系统:对火车站的售票进行管理。

主要功能:车次管理(车次、起止地点、到达时间、开车时间)、每一车次的车票管理(车厢号、座位号)、售票、退票、查询、异常处理。

2.2 任务目标完成一个火车票售票管理系统,要实现管理员对车票的增添以及删改功能,同时需要实现用户对车票的查询购买,以及出现调整之后的退票服务。

三、系统定义3.1 系统边界管理员:可以对车票以及车次进行删改操作。

用户:可以买票,但是不可以对火车票进行添加操作3.2 用户视图3.2.1 管理员视图(1)列车管理:包括列车的录入、查询、修改和删除。

(2)用户管理:包括系统使用用户的添加、查询、修改、删除等。

在线支付用户身份信息用户注册车次设置管理员车次信息录入用户信息管理票务系统车站实际情况(3)系统数据处理:数据查询,根据关键字过滤,查看当前车次信息,车票信息,用户信息以及处理历史。

基于微信小程序的电影票购票系统设计与实现

基于微信小程序的电影票购票系统设计与实现

基于微信小程序的电影票购票系统设计与实现基于微信小程序的电影票购票系统设计与实现引言:如今,随着互联网技术的发展,各行各业都在不断地进行数字化和智能化转型。

电影票购票系统作为电影行业数字化转型的一个典型代表,已经逐渐成为了现代化的必备电影观影方式。

而微信小程序作为目前最受欢迎的智能终端之一,具备强大的用户基础和丰富的功能,成为了电影票购票系统不可忽视的平台。

本文旨在探讨基于微信小程序的电影票购票系统的设计与实现。

一、系统需求分析1. 用户需求用户在使用电影票购票系统时,主要需求包括查询电影信息、选择场次、购买电影票、座位选择、付款等。

此外,用户也希望能够获得相关的电影资讯、影评和评分等信息。

2. 影院需求影院需要管理影片、场次、座位以及票务信息,提供给用户更好的购票体验,同时需要进行票务结算和统计。

二、系统设计1. 系统架构基于微信小程序的电影票购票系统的系统架构主要包括前端展示、后台管理和数据存储三个模块。

前端展示模块负责用户的电影浏览和购票操作界面;后台管理模块负责影院人员管理影片、场次和票务信息;数据存储模块负责信息的存储和管理。

2. 功能设计(1)用户功能:用户通过微信小程序登录后,可以浏览电影信息,查询正在上映和即将上映的电影,选择场次并购票,支持实时座位选择和购票支付功能。

同时,用户也可以查看电影资讯、影评和评分等信息,并参与相关讨论和活动。

(2)影院功能:影院人员通过后台管理界面,可以管理影片、场次和票务信息。

包括添加、修改、删除影片,设置场次和票价等。

同时,影院人员也可以查看票务销售统计和结算信息。

(3)系统管理功能:系统管理员可以对系统进行运营管理,包括用户管理、权限管理、数据备份与恢复等。

3. 技术选型(1)前端技术:采用微信小程序原生框架进行开发,其中包括HTML、CSS和JavaScript等技术。

(2)后端技术:采用Node.js作为后台语言,搭配Express框架进行构建,同时使用MySQL数据库进行数据存储与管理。

影院票务信息管理系统

影院票务信息管理系统
4
(二)系统开发目的和意义随着社会的不断发展,电影摄影及放映技术也与时俱进,特别是是近年来轰动全世世界观众的 3D 电影《阿凡达》的问题,促使群众对电影的观看从家里观看 DVD 慢慢的转向了高级的影城去观看电影。近年来随着去电影院观看电影的人数的增多,电影票的订购以及管理的问题亦越来越突出的摆在了工作人员的面前,所以万达影院迫切的需要一套完整售票管理系统来帮助我们解决这些繁杂的事情。
数据流编号:D2数据流名称:进行退票数据流来源:客户数据流去向:退票处理数据流组成:I01_07+I01_08+I01_09+I01_19+I01_20+I01_21
数据流编号:D3数据流名称:进行检票数据流来源:客户数据流去向:检票处理数据流组成:I01_10+I01_11+I01_12+I01_19+I01_20+I01_21
15
16
图6 数据库 E-R图
17
图7 系统模块总体设计图
18
19
图8 系统前台功能模块图
20
图9 系统后台模块设计
21
系统登录实现流程:管理员开始输入密码然后判断输入的密码是否正确,如果正确则登录成功否则将重新输入密码进行判断,如图所示。
图9 系统登录程序流程图
22
系统后台管理模块需要登入后才能使用,管理员用户登录的用户名:Admin,密码Admin。,登入后后台首页管理界面,以简洁大方、方便操作为设计思路:后台登入界面如图所示。
5
(三)系统设计思想 一个方便用户使用的软件应该具备软件体积小,操作界面友好,基本功能稳定,运行速度较快,通过计算机技术及网络技术结合开发以便方便、快捷、清晰的进行数据传输和简易通讯功能。1)实用性2)先进性3)可靠性4)安全性5)可维护性 方便维护6)可扩展性及灵活性
  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.datvoid Write2(chepiao *start); //把内存中的车票信息写入sort.datvoid 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 <iostream>#include <string>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 <fstream>#include <time.h>using namespace std;void Output(); //输出number.dat内容void Output2(); //输出sort.dat内容void Write(chepiao *start) ; //把内存中的车票信息写入number.datvoid Write2(chepiao *start); //把内存中的车票信息写入sort.datvoid 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="中国江苏找南邮";//默认的管理员密保问题int main(){Getpassword();int ways;//登陆方式Show1();cin>>ways;if(ways==1){string inname; //键盘输入的管理员账号string inpassword; //用于键盘输入管理员密码string inQ1; //用于键盘输入管理员密保问题char bbb='N'; //用于键盘输入是否使用密保问题int aaa=1; //用于循环,每三次密码错误,提示一次是否使用密保问题bool judge=false; //用于判断是否输入正确cout<<"请输入管理员账号:";cin>>inname;if (inname==name)judge=true;else{while(!judge){cout<<"输入错误,请重新输出管理员账号:";cin>>inname;if (inname==name)judge=true;}}judge=false;cout<<"请输入管理员密码:";cin>>inpassword;if (inpassword==password)judge=true;else{while(!judge){if(aaa%3==0){cout<<"是否使用密保问题重置密码?(Y/N)";cin>>bbb;if(bbb=='Y'||bbb=='y'){cout<<"编程技术哪家牛?"<<endl;cin>>inQ1;if(inQ1==Q1){cout<<"回答正确!请输入新密码"<<endl;cin>>password;Resetpassword();cout<<"请牢记密码"<<endl;break;}else{cout<<"密保问题验证失败。

"<<endl;}}}cout<<"密码错误,请重新输入管理员密码:";cin>>inpassword;aaa++;}}//*****************************分割线**********************************//*****************************分割线**********************************ofstream fout("number.dat",ios::out|ios_base::app);//定义输出数据流,以输出方式打开,打开位于文件尾if(!fout){cerr<<"open error!"<<endl;exit(1);}//*****************************分割线**********************************//*****************************分割线**********************************string a,b,c; //用于储存即将输入的车票的车次、起点和重点int d1,d2,e,f,g; //用于储存即将输入的发车时间小时、分钟、行车时间、额定载量、余票数量cout<<"请输入需要增加的车票数"<<endl;int x,i; //用于循环判断是否输入完毕cin>>i;cout<<"请逐个输入车票的如下信息"<<endl;cout<<"车次发车时间(小时)发车时间(分钟)起点站终点站行车时间额定载量余票数量"<<endl;for(x=0;x<i;x++){cin>>a>>d1>>d2>>b;cin>>c>>e>>f>>g;fout<<a;fout<<" ";fout<<d1;fout<<" ";fout<<d2;fout<<" ";fout<<b;fout<<" ";fout<<c;fout<<" ";fout<<e;fout<<" ";fout<<f;fout<<" ";fout<<g;fout<<" ";}cout<<"录入成功"<<endl;//*****************************分割线**********************************//*****************************分割线********************************** fout.close();//关闭文件return 0;}else if(ways==2){chepiao cp;//车票类链表的第一个空链对象,仅为了方便操作,无实际意义chepiao* start=&cp;//用于储存链表头chepiao* p=start;//用于对链表进行操作//*****************************分割线**********************************//*****************************分割线********************************** struct tm *newtime;//时间类对象time_t long_time;time( &long_time ); //Get time as long integernewtime = localtime( &long_time );int h = newtime->tm_hour;//得到当前时间的小时int m = newtime->tm_min;//得到当前时间的分钟sj=60*h+m;//*****************************分割线********************************** //*****************************分割线********************************** ifstream infile("number.dat",ios::out);//定义输入数据流,以输入方式打开if(!infile){cerr<<"open error!"<<endl;exit(1);}chepiao *q=start;//用于对链表进行操作int num=1;//用于记录这是读入的第N个数据,用于判断数据类型string y;//用于记录第一个读入的车次for(;;num++){if(num%8==1)if(!(infile>>y))break;else{q->left=new chepiao [1];sum++;q=q->left;q->CC=y;}switch(num%8){case 2:infile>>q->FCSJh;break;case 3:infile>>q->FCSJm;break;case 4:infile>>q->QD;break;case 5:infile>>q->ZD;break;case 6:infile>>q->XCSJ;break;case 7:infile>>q->EDZL;break;case 0:infile>>q->YPSL;break;}}infile.close();//关闭文件//*****************************分割线********************************** //*****************************分割线********************************** int yh;//用于读入用户需要的操作的序号while(1){Show2();cin>>yh;switch (yh){case 1:Output();break;case 2:Find(start);break;case 3:;Sort(start);Write2(start);Output2();break;case 4:if(Check()){Buy(start);}if(mp){Setnumber();}Write(start);break;case 5:Refund(start);Write(start);break;case 6:Buy2(start);if(gq){Refund2(start);}Write(start);gq=false;break;case 7:break;default:Shout();system("pause");return 0;}if(yh==7){Delete(start);break;}}return 0;}else{Shout();system("pause");}return 0;}//*****************************分割线**********************************//*****************************分割线**********************************void Write(chepiao *start){chepiao *p=start->left; //用于对链表进行操作ofstream fout("number.dat",ios::out|ios::trunc); //定义输出数据流,清空并打开if(!fout){cerr<<"open error!"<<endl;exit(1);}while(p!=NULL){fout<<p->CC<<" "<<p->FCSJh<<" "<<p->FCSJm<<" "<<p->QD<<" "<<p->ZD<<" "<<p->XCSJ<<" "<<p->EDZL<<" "<<p->YPSL<<endl;p=p->left;}fout.close();//关闭文件}//*****************************分割线**********************************//*****************************分割线**********************************void Write2(chepiao *start) //本函数内各变量作用同前{chepiao *p=start->left;ofstream fout("sort.dat",ios::out|ios::trunc);//定义输入数据流,清空并打开if(!fout){cerr<<"open error!"<<endl;exit(1);}while(p!=NULL){fout<<p->CC<<" "<<p->FCSJh<<" "<<p->FCSJm<<" "<<p->QD<<" "<<p->ZD<<" "<<p->XCSJ<<" "<<p->EDZL<<" "<<p->YPSL<<endl;p=p->left;}fout.close();//关闭文件}//*****************************分割线**********************************//*****************************分割线**********************************void Sort(chepiao *start){chepiao* L; //用于链表排序的交换步骤chepiao* M; //用于chepiao* N; //用于int i,j; //用于排序L=start;M=start->left;N=M->left;for(i=0;i<sum-2;i++){for(j=0;j<sum-1-i;j++){if(((M->FCSJh*60)+M->FCSJm)>((N->FCSJh*60)+N->FCSJm)){if(N->left!=NULL){L->left=N;M->left=N->left;N->left=M;L=N;M=L->left;N=M->left;}else{L->left=N;N->left=M;M->left=NULL;continue;}}else{if(N->left!=NULL){L=M;M=L->left;N=M->left;}else{continue;}}}L=start;M=L->left;N=M->left;}}//*****************************分割线**********************************//*****************************分割线**********************************void Output(){int j=1,a,b; //j用于记录输出的是第几个数据,用于判断类型;a,b为时间的小时数和分钟数string temp; //用于逐个读出数据ifstream infile("number.dat",ios::out); //定义输入数据流,以输入方式打开if(!infile){cerr<<"open error!"<<endl;exit(1);}while(1){if(j%8!=2)if(!(infile>>temp))break;if(j%8==2){infile>>a;infile>>b;j++;cout<<a<<":";if(b<10)cout<<"0";cout<<b<<" ";if(a*60+b<sj)cout<<"(此车已发出)"<<" ";elsecout<<"(此车未发出)"<<" ";}elsecout<<temp<<" ";//输出显示if(j%8==0)cout<<endl;j++;}infile.close(); //关闭文件}//*****************************分割线********************************** //*****************************分割线********************************** void Find(chepiao *start){chepiao *o;//用于对车票链表操作bool c=false;//用于记录是否找到相应车次string Cc;//用于输入需要寻找的车次或终点站cout<<"请输入车次或终点站:"<<endl;cin>>Cc;o=start;o=o->left;while(o){if(o->CC==Cc||o->ZD==Cc){cout<<o->CC<<" "<<o->FCSJh<<":";if(o->FCSJm<10)cout<<"0";cout<<o->FCSJm;if((o->FCSJh*60+o->FCSJm)<sj)cout<<"(此车已发出)"<<" ";elsecout<<"(此车未发出)"<<" ";cout<<o->QD<<" "<<o->ZD<<" "<<o->XCSJ<<" "<<o->EDZL<<" "<<o->YPSL<<endl;c=true;}o=o->left;}if(!c)cout<<"未找到目标车次或终点站。

相关文档
最新文档