火车订票系统课程设计
- 格式:doc
- 大小:68.00 KB
- 文档页数:20
《UML面向对象分析》课程设计报告项目名称:火车票订购系统姓名:学号:指导教师:2011年11 月10 日目录1 需求分析 (1)1.1 需求概述 (1)1.2 需求分析 (2)1.3 需求模型(用例图) (5)2 静态模型 (6)2.1 类图 (6)2.2 对象图 (6)2.3 包图 (7)3 动态模型 (8)3.1 时序图 (8)3.2 状态图 (8)3.3 协作图 (8)3.4 活动图 (8)4 项目组成员分工说明 (9)5 总结 (10)6 参考资料 (11)1需求分析1.1 需求概述线上预订火车票系统是一款功能强大、操作简便、易维护的、具有良好人机交互界面的线上订票系统,它包括用户管理模块、系统参数设置模块、票务信息模块(提供票价、列车的实时信息)、订票管理模块(提供订票和退订功能)、实时信息提示模块(提供车况、路况、列车晚点等实时信息)、数据管理模块(提供数据备份、数据操作功能)。
实现火车票线上预定的自动化的计算机系统,为旅客提供准确、精细、迅速的火车票销售信息和方便、简单的订票功能。
线上预订火车票系统主要是对于订票信息的统一管理,满足了中小型线上订票网站对于用户的管理,订票信息的收集和处理方面的要求。
用现代化的方式取代以前的传统模式,更有利于信息的流通,资源的宏观管理。
具有体积小,代码简洁,易维护、易修改的优点。
1.2 需求分析●用户管理模块用户管理模块包括如下几个部分。
(1)添加用户信息:管理员可以对用户信息进行添加操作。
(2)删除用户信息:管理员可以对已有用户信息进行删除操作。
(3)查看用户信息权限:每个用户都具有一定的权限,管理员可以查看用户的管理权限。
(4)修改用户信息权限:管理员可以修改用户的管理权限。
(5)删除管理权限:管理员在权限管理中可以删除管理权限。
(6)添加管理权限:管理员在权限管理中可以添加管理权限。
●系统参数设置模块系统参数设置模块有如下几个部分。
(1)用户信息:管理员可以修改用户信息并保存。
一、课程设计的原始资料及依据在现代社会,火车以其安全,舒适以及其服务的周到使愈来愈多的人选择了火车为长距离出行的交通工具,这就使火车公司以及车站的工作量愈来愈大,若仍然使用文件或者人工来管理公司、车站、火车、列班、路线、客户以及售票的信息,那无疑在效率上会大打折扣。
21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。
利用计算机来储存和管理公司、车站、火车、列班、车线、客户以及售票的信息成为了首选,在这种情况下,火车订票系统就显得非常重要了。
两个客户名单可分别由线性表和队列实现。
为查找方便,已订票客户的线性表应按客户姓名有序,并且,为插入和删除方便,应以链表作存储结构。
由于预约人数无法预计,队列也应以链表作存储结构。
整个系统需汇总各条路线的情况登录在一张线性表上,由于路线基本不变,可采用顺序存储结构,并按车次有序或按终点站名有序。
每条路线是这张表上的一个记录,包含上述8个域,其中乘员名单域为指向乘员名单链表的头指针,等候替补的客户名单域为分别指向队头和队尾的指针。
队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表。
用队列来进行客户信息的存储。
编辑用户使用菜单,内容包括:输入列班信息,保存列班信息,读取列班信息,查找列班信息,删除列班信息,订票信息,退票信息以及修改信息。
二、课程设计主要内容及要求1. 列车基本信息管理:输入所有列班信息。
每条路线所涉及的信息有:终点站名、车次号、车厢号、开车周日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、座位等级1,2或3)以及等候替补的客户名单(包括姓名、所需的票量)。
2.列车基本信息查询:按车次号查找,按抵达站查找,按路线查找三种查找方式进行查找。
3. 订票管理:客户对想要购买的票进行订票。
3. 退票管理:将不想要的票进行退票。
三、对课程设计说明书撰写内容、格式、字数的要求1.课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:设计题目、设计目的、设备器材、设计原理及内容、设计步骤、遇到的问题及解决方法、设计总结、设计小组评语、参考文献等。
java+web+mysql火车票管理系统课程设计
火车票管理系统是一个非常常见的项目,可以用Java语言编写。
以下是一个简单的课程设计框架示例:
1. 系统需求分析
- 确定系统的基本功能需求,如用户登录、车票查询、订单
管理等。
- 确定系统的非功能需求,如界面友好、响应快速等。
2. 数据库设计
- 设计系统所需的数据库表结构,如用户表、车次表、订单
表等。
- 设计表之间的关系,如用户表与订单表的关联关系。
3. 界面设计
- 设计系统的用户界面,包括登录界面、主界面、查询界面、订单管理界面等。
- 界面应该直观、易用,符合用户的操作习惯。
4. 功能开发
- 编写用户登录功能,实现用户的注册、登录、注销等操作。
- 编写车票查询功能,实现按日期、起点站、终点站等条件
进行查询。
- 编写订单管理功能,实现订单的新增、修改、删除等操作。
5. 数据库操作
- 使用Java的JDBC接口操作MySQL数据库。
- 编写数据库访问层,封装数据库操作,提供给其他模块使用。
6. 系统集成测试
- 对各个模块进行集成测试,确保系统的功能正常运行。
- 测试用户登录、车票查询、订单管理等功能。
7. 系统部署与运行
- 部署系统到服务器,确保能够正常运行。
- 测试系统在实际环境下的稳定性和性能。
以上仅为简单的课程设计框架示例,具体的项目实现细节和功能需求需要根据自己的具体情况进行调整和完善。
希望对你的课程设计有帮助!。
网上订票系统课程设计【专业版】(文档可以直接使用,也可根据实际需要修订后使用,可编辑放心下载)课程设计报告开课学期:2021-2021学年第1学期课程名称:企业软件开发流程学院:信息科学与工程学院专业:计算机科学与技术班级:学号:姓名:设计题目:火车票网上预订系统设计任课教师:2012 年11 月15 日课程设计基本要求一、设计内容1、设计一个基于Web的火车票网上预订系统,原型参考铁道部12306网站(:// 12306/mormhweb/kyfw/reg/);2、要求写出该系统的需求分析和设计文档,作为《企业软件开发流程》的课程设计报告;3、系统基本业务至少包含:系统注册、系统登录(注意该业务需要满足高并发可用)、火车票预订(注意该业务需要满足高并发可用)、余票查询(该业务不要求实时显示,每小时或每半小时更新一次即可)、列车时刻查询、正晚点查询和客票代售点查询;4、需求部分必须包含该系统的原型图、数据流图、用户用例图等,并给出具体业务的详细需求分析;5、设计部分必须包含该系统的E/R图和流程图等,并给出具体业务的设计;6、该系统业务逻辑可以参考12306网站(:// 12306 /mormhweb/kyfw/reg/),设计部分可以参考12306NG项目论坛();7、需求分析、概要设计、详细设计部分可以参考案例文件(参考模板.zip)。
二、实验要求1、上交文件以学号+姓名.doc为名,在12周周末前交给每班课代表,要求1份电子版,1份纸质版;2、该课最终成绩由出勤成绩或博客(10%)、作业成绩(5%+5%)、课程设计报告成绩(20%)、最终闭卷笔试成绩(60%)共同组成。
3、对实验室的使用严格遵照学院实验室管理有关规定执行,对实验设备的规范试用将计入考核范围;4、课程设计完毕需要提交课程设计报告,须严格按照所发模版统一格式,报告格式也将作为设计考核的内容。
三、其它要求1、报告正文采用小四号宋体书写;2、按照实验的方案、需求分析、概要设计、详细设计撰写报告内容;3、版面要整齐,布局要合理;4、严禁抄袭和雷同,一经发现,成绩即定为0分。
课程设计报告课程设计题目: Linux下的火车系统专业:软件工程班级:姓名:学号:指导教师:20 16年 7月 1日(一)实验题目Linux下的火车售票系统(二)实验时间,地点2016.6.27到2016.6.30,软件楼506(三)实验目的在linux下做一个火车售票系统(四)实验要求要求采用多线程编程,实现车票信息的查询,录入,更新,车次的修改;实现用户注册登录,订票查询、火车票预订、退票申请以及后台方面的列车车次信息发布更新、车票生成、提供取票服务。
(五)实现思路该算法用c语言编写,再在linux下用vi建立文档,gcc后生成可行文件后,./运行。
C语言实现思路为1.把ticket,user,定义为结构,其中ticket中有四个数据。
User1和user2一开始都是为空2.定义开始地点四个,终点4个3. 定义数组c1.c2,daaress.uname1,pass1.uname1,uname24.写个选择页面,共有5个页面。
5. 如果用户选择1购票,下面for循环控制路线。
如果用户选择2注册,把输入的数据存入数组如果用户选择3查询,建立for循环如果用户选择4购票,用if判断语句判断用户输入的是否在数组里如果用户选择5购票.用exit退出流程图:实现过程:定义结构,再加while if等循环实现代码#include <stdio.h>Struct ticket /*定义火车票为结构体 */ {char* starName;char* endName;int number;};struct user /*定义用户为结构体*/{char* userName;char* passWord;};struct ticket tickets[4] ;/* 火车票里有4个对象 */ struct user user1={NULL,NULL};/* 用户初始为空*/ struct user user2={NULL,NULL} ;int lq_index();/*定义数组*/void gotolq_Index();void main(){int i =0 ;char* starNames[4]={"南昌","深圳","广州","九江"};/*4个起点*/char* endNames[4]={"深圳","南昌","九江","广州"};/*4个终点*/for(i=0;i<4;i++){tickets[i].starName=starNames[i];tickets[i].endName=endNames[i];tickets[i].number=rand()%21+30; }/*for(i=0;i<4;i++){printf("%s-%snumber:%d\n",tickets[i].starName,tickets[i].endName,tickets[i]. number);}*/printf("\t**********欢迎使用火车票系统**********\n");/*输出主页面*/while(1==1){if(lq_index()==5)break;}}int lq_index(){int i=0,j=0;char yn;char c1[20];/*2个数组*/char c2[20] ;charaddress[20],uname1[20],pass1[20],uname2[20],pass2[20];printf("\n [1] 购票 [2] 注册 \n" );printf(" [3] 查询 [4] 登录 \n" );printf(" [5] 退出 \n" );printf("请输入编号");scanf("%d",&i);if(i==1) {printf("输入目的地和出发地:");scanf("%s %s",c1,c2); /*接受用户输入的数据*/j=0;for(i=0;i<4;i++){j++;if(strcmp(tickets[i].starName,c1)==0&&strcmp(tickets[i].endN ame,c2)==0)/*判断是否有票*/{if(tickets[i].number>0){printf("您的选择的线路%s-%s 还剩%d张票是否确定购买(y/n) : ",c1,c2,tickets[i].number);scanf(" %c",&yn);if(yn=='y'||yn=='Y'){if(erName!=NULL){tickets[i].number -- ;printf("恭喜您购票成功! ");}else{printf("登录后才能购票! ");}/*如果没登录显示用户登录*/gotolq_Index();/*选择路线*/}else if(yn=='n'||yn=='N'){gotolq_Index();}else{printf("输入有误!\n");i--;j--;continue;}return 1;}else{printf("抱歉您的选择的线路%s-%s 已无票出售!",c1,c2);/*如果无票就提示*/gotolq_Index();return 1;}}else if(j==4)/*路线不存在提示*/{printf("您的选择的线路%s-%s 系统中不存在!",c1,c2);gotolq_Index();return 1;}}}else if(i==2){printf("输入账号:");/*注册账号*/ scanf("%s",uname1) ;erName=uname1;printf("输入密码: ");scanf("%s",pass1);user1.passWord=pass1;printf("恭喜%s用户注册成功!",erName);gotolq_Index();}else if(i==3){printf("输入要查询的地点:"); /*查询车票*/scanf("%s",address);printf("始发站\t终点站\t票数\n");i=0;for(i=0;i<4;i++){if(strcmp(tickets[i].starName,address)==0){printf(" %s\t %s\t %d\n",tickets[i].starName,tickets[i].endN ame,tickets[i].number);}else{j++;}if(j==4){printf("未找到相应数据!\n");}}gotolq_Index();return 1;}else if(i==4){printf("输入账号:");/*用户登录与已经注册的判断*/scanf("%s",uname2) ;erName=uname2;printf("输入密码: ");scanf("%s",pass2);user2.passWord=pass2;if(erName!=NULL){if(strcmp(erName,erName)==0&&strcmp(user1.pa ssWord,user2.passWord)==0){printf("欢迎%s用户使用本系统!",erName);}else{erName=NULL;user2.passWord=NULL;printf("输入账号或者密码不一致!");}}else{printf("请先注册用户!");/*不一致提示注册*/ }gotolq_Index();}else if(i==5){printf("欢迎再次使用本系统!");return 5 ;}return 1 ;}void gotolq_Index(){printf("任意键返回首页!");/返回*/printf("\n**************************************\n"); }。
课程设计课程名称SQL数据库系统课程设计题目名称火车订票管理系统专业班级学生姓名学号指导教师火车订票管理系统摘要:本文针对火车站的订票实际情况,按照软件工程的结构化设计思想,经过项目的可行性研究和需求分析、总体设计、详细设计,以及编码实现和调试等步骤设计开发了火车订票管理系统。
并运用数据流图和数据字典、开发了火车订票管理系统。
并运用数据流图和数据字典、E-R E-R 图和数据库逻辑结构、层次图、系统流程图、以及程序流程图,对该系统的数据需求、数据库、系统软件结构、系统流程、以及处理过程等进行了分析和设计。
工具软件利用Visual Studio 2010软件和SQL Server 2008数据库来设计这个火车订票管理系统,并用C#C#语言设计后台代码。
语言设计后台代码。
该系统要解决的是火车订票工作所要解决的问题,可以满足火车订票的基本要求,包括用户查询、订票、退票和管理员增加车票等几个方面的功能。
方面的功能。
关键词:订票管理;火车订票;SQL Server 2008Ordering Tickets Management System feasibility research of Abstract:After a long time observation of booking a train ticket and a online ticket booking a online train ticket booking system,i have build system in the following software cycle:requirement analysis,architecture and detail design,coding and testing.In the design phase,i present the system with data follow chart,data dictionary,E-R graphic,database logical structure,and typical UML modeling facility such as Class diagram,Activity diagram,Use case diagram and Sequence diagram.This product is developed in java(the latest jdk 1.6),and the DBMS is sql server 2005 express edition.it's build to help you to book a train ticket online.On this website ,you can inquire ticket information,book a ticket and refund your ticket.For the supervisor,it provides additional right(protected by admin priviledge) to maintain the system including train data creating,importing and cleaning up Keywords: Ticketing management ;Ticket selling system;SQL Server2008 目 录录蚌埠学院计算机科学与技术系课程设计任务书 ................................. 1 蚌埠学院计算机科学与技术系本科课程设计成绩评定表 (2)1 系统总体方案................................................................... 3 1.1开发背景....................................................................................................................................... 3 1.2意义................................................................................................................................................ 3 1.3系统相关知识介绍 .. (3)2 设计思路与主要步骤........................................................... 5 2.1系统需求....................................................................................................................................... 5 2.2功能需求....................................................................................................................................... 5 2.2.1查询 .. (5)2.2.2.2.2.2.购票购票.................................................................................................................................. 5 2.2.3.2.2.3.退票退票.................................................................................................................................. 6 2.3数据库逻辑结构......................................................................................................................... 6 2.4数据库中的约束......................................................................................................................... 7 2.4.1主键约束 .......................................................................................................................... 7 2.4.2外键约束 .......................................................................................................................... 7 2.4.3 CHICK 约束. (7)2.4.4 DEFAULT 约束................................................................................................................. 8 2.4.5长度约束 .. (8)3 各功能模块和流程图 ............................................................9 3.1系统软件结构设计 (9)3.2系统流程图.................................................................................................................................. 9 4 系统的详细设计................................................................ 14 4.1登录界面..................................................................................................................................... 14 4.2游客模块..................................................................................................................................... 14 4.2.1列车信息查询............................................................................................................... 14 4.2.2网上用户注册............................................................................................................... 15 4.3用户模块..................................................................................................................................... 16 4.3.1购票 (17)4.3.2退票 (19)4.3.3查看用户信息............................................................................................................... 21 4.3.4用户修改密码............................................................................................................... 21 4.3管理员模块................................................................................................................................ 22 5 设计代码 ......................................................................24 总结 (34)谢辞............................................................................. 35 参考文献 ........................................................................36蚌埠学院计算机科学与技术系课程设计任务书课 程程 SQL 数据库系统课程设计程设计班级班级指导教师指导教师题 目目火车订票管理系统火车订票管理系统完成时间完成时间 2014年12月1日至2015年1月 1日主要内容功能要求:功能要求: 1.1.游客功能模块游客功能模块游客功能模块::列车信息查询、用户注册。
数据库原理及应用课程设计报告题目:火车票售票系统所在学院:信息工程学院班级:学号:姓名:指导教师:2013年1月3日目录一、概述 -------------------------------------- 3二、需求分析 ---------------------------------- 3三、概念设计 ---------------------------------- 5四、逻辑设计 ---------------------------------- 7五、系统实现 ---------------------------------- 9六、小结 ------------------------------------- 14一、概述数据库技术是20世纪60年代末在文件系统基础上发展起来的数据管理新技术,它解决了过去对数据管理和组织中存在的数据冗余和独立性问题,实现了数据的共享性、完整性、安全性、有效性目标。
数据库技术的发展和广泛使用,为人类社会进入信息化社会奠定了坚实的基础。
随着社会和经济不断的发展,数据和信息也随之快速增长起来,为有效地组织和管理庞大的数据和信息,严密科学合理的数据管理技术也就成为迫切的技术问题之一。
现在人们更多的使用火车作为出行交通工具,因此车票票务市场也在快速发展。
人们希望车票销售手段也能相应地有所调整,并对如何能经济、方便和及时地购买到自己所需要的车票表现出极大的关注。
随着社会的不断进步,国内外铁路运输事业的飞速发展,各国铁路运营部门对票务管理的要求也在不断的提高,本系统就是针对这种日益增长的需求而进行开发的。
随着旅游业的逐渐的成熟发达,铁路客运量大幅度的提高,国内旅游专线的增加,这些都对铁路的售票管理系统提出了更高的要求,所以要不断的完善更新铁路售票系统,提高铁路售票系统的工作效率。
铁路运输系统中,售票系统是很重要的一个环节,要想提高整个铁路运营部门的工作效率,就要先提高售票系统的工作效率和安全性,故而研发此系统,此系统能够为售票工作提供方便快捷的售票服务,广大的客户可以得到更好的票务服务。
火车票管理系统―课程设计(附源代码)计算机科学与技术系信息管理与信息系统专业《程序设计综合课程设计》报告(2021/2021学年第一学期)学生姓名:学生班级:学生学号:指导教师: 2021年 1 月 8 日目录第一章课程设计的目的和要求 (1)1.1课程设计的目的 ................................................ 1 1.2 课程设计的基本要求............................................ 1 第二章课程设计任务内容 . (2)2.1 简介.......................................................... 2 2.2 功能说明...................................................... 2 第三章详细设计说明 .. (3)3.1 模板设计图.................................................... 3 3.2主函数流程图.................................................. 4 3.3 子函数流程图.................................................. 5 第四章编码与调试 (7)4.1 软件使用说明.................................................. 7 4.2运行结果及截图................................................ 7 第五章课程设计心得与体会 .......................................... 11 附录一参考文献 ..................................................... 12 附录二程序清单 ..................................................... 13 附录三录入文件 (27)I程序设计综合课程设计火车票管理系统第一章课程设计的目的和要求高级语言课程设计的主要目的是培养学生能够提高综合应用语言的能力,通过课程设计的训练,使学生能及时巩固已学的知识,补充未学的但有必要的内容,掌握应用计算机解决实际问题的基本方法,熟悉程序开发的全过程,提高综合应用语言的能力。
火车票网上购票管理系统数据 库系统分析与设计课程设计课程设计(论文)课程名称: 数据库系统分析与设计 题 目: 火车票网上购票管理信息系统数据库设计与实现西安建筑科技大学课程设计(论文)任务书专 业 班 级 : 信 管 101学生姓名:指导教师(签名):一、课程设计(论文)题目火车票网上购票管理信息系统数据库设计与实现二、本次课程设计(论文)应达到的目的 数据库系统分析与设计课程设计是信息管理与信息系统专业集中实践性环节之一,是学习完《数据库数据库系统原理及技术》及《数据库系统 分析与设计》课程后进行的一次全面的综合练习。
其目的在与加深对数据 库基础理论和基本知识的理解,掌握借助PowerDesigner开发和设计一个 小型数据库系统时设计数据库系统模型的基本方法,提高运用数据库解决 实际问题的能力。
三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术 参数、设计要求等)要求学生能独立完成一个数据库模型的设计与实现,包括: 1) 数据库系统需求分析; 2) 数据库概念模型设计; 3) 数据库逻辑模型设计; 4) 数据库物理模型的实现; 5) 完成不少于6000字的课程设计报告撰写。
四、应收集的资料及主要参考文献:[1] 王珊, 萨师煊. 数据库系统概论(第4 版). 北京:高教出版社,2006年5月. [2] 赵韶平等.PowerDesigner系统分析与建模(第2版). 北京:清华大学出版社, 2010. [3] Data Modeling and Relational Database Design. Oracle Inc. 2001.五、审核批准意见教研室主任(签字)设计总说明本次课程设计是要设计一个火车票网上购票管理信息系统数据 库的设计与实现。
其中数据库设计的主要内容包括管理员信息管理、 用 户 信 息 管 理 、乘 客 信 息 管 理 、车 票 信 息 管 理 、订 单 信 息 管 理 、列 车 信息管理等。
火车订票系统课程设计德州学院计算机系课程设计报告实习名称课程设计报告设计题目火车票订票系统实习时间 2012年3月 12日-3月18日专业班级计算机科学与技术指导老师沙焕滨教学单位(盖章) 小组分工情况:学号姓名分工 201101001064 张旭 C语言程序编辑 201101001052 刘燕君 C 语言程序调试、报告编写2012年5月25日德州学院计算机系 C语言课程设计报告目录一( 实验目的 ------------------------------------------------------- 1 二( 需求分析 ------------------------------------------------------- 1 三( 概要设计 ------------------------------------------------------- 2 四( 详细设计 ------------------------------------------------------- 2 五( 调试与测试结果分析 --------------------------------------------- 6 六( 使用说明 ------------------------------------------------------- 7 七( 感想总结 ------------------------------------------------------- 8 八( 参考文献 ------------------------------------------------------- 9 九( 附录 ----------------------------------------------------------- 9 德州学院计算机系 c语言课程设计报告一( 实验目的当今计算机在各行各业领域中其重要作用,不仅代替人力物力财力也节省了大量的时间,提高了工作的效率。
生活中,银行的存款取款转账等各种系统、超市中的物品录入系统、中国13亿人口的信息管理系统、校园中学生信息的管理等等,都离不开计算机的应用。
现今,乘坐火车也成为一种流行的交通工具,方便舒适快捷。
可怎样管理好乘客乘坐信息也一件至关重要的事情,首先坐车就要先设计一个乘客订票系统,使乘客订票更加方便快捷,以免出现不必要的麻烦。
二( 需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为八个模块,每一个模块对应一个函数。
在这些函数当中,添加车次数据函数、售票函数、查询总额函数的实现严格按照题目的要求,而显示时间函数和显示车次函数属于附加功能。
读取文件函数和保存信息函数对其它函数的实现起辅助作用,主函数及菜单函数控制程序的整体运行。
1. 添加车次函数主要实现程序最初运行时车次的录入2. 旅客买票函数实现的功能是按照旅客所需车次几所购买车票的数目3. 查询车票总额按照题目的具体要求实现的是总额的查询4. 显示函数实现的是显示目前所有的有效车次信息除上面介绍的功能之外,程序还具有显示当地时间,以及退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。
每一个车次都包含车次、日期,始发、终点以及所受票数和所需费用,在程序当中,将车次类型定义为结构体类型,添加的车次信息直接写入E盘的train.txt文件中,其它函数每次对车次记录的访问,其数据来源都是train.txt文件,这样做不但可以保证学生数据的一致性,而且可以对车次数据进行永久保存,保证每次运行程序都可以采用原来的数据。
1德州学院计算机系 C语言课程设计报告三( 概要设计本程序主要由九个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其它函数来实现要求的所有功能。
在这些函数当中,添加学生数据函数、删除数据函数和排序函数是程序中较为核心的部分。
每一个模块对应一个函数,在需求分析中已提到每个模块相关的应用及作用。
火车订票系统显示当前车次信息统计某日显示旅客买票退出时间录入金额图一火车订票系统的功能示意图四( 详细设计下面分别对每个模块进行说明分析:4.1函数及数据成员在定义成员函数时要注意成员函数的实现与调用,数据成员注意成员的类型,在定义数组时注意数组的要求,数组只能逐个引用数组元素而不能一次引用整个数组。
字符数组的输入、输出可以将整个字符串依次输入或输出。
{ int num;int date ;char[0] ;char ter[20];int maipiao;2德州学院计算机系 C语言课程设计报告float tickeprice;};void menu();int reads(struct train tra[N]); void save(struct train tra[N],int n); void add();void sell();void show();void localtimes();void all();4.2 编写进入订票系统的程序首先编写一个主程序,定义整型的车次数,利用while语句,“输入您要选择的操作序号,按回车键确认”,然后再利用switch语句选择需要进入的项目。
具体程序操作如下:void main(){int n;while(1){menu();printf("\n 请输入您要选择的操作序号,按回车键确认:");scanf("%d",&n);switch(n){case 1: localtimes();break;case 2: add();break;case 3: show();break;case 4: sell();break;case 5: all();break;3德州学院计算机系 C语言课程设计报告case 6: exit(0);default: printf("输入错误,请输入列表中存在的序号~\n ");}}}void menu(){printf(" ************************* 北京西站火车订票系统************************ ");printf("\n 1 显示当前时间");printf("\n 2 车次信息录入");printf("\n 3 显示");printf("\n 4 旅客买票");printf("\n 5 统计某日销售金额");printf("\n 6 退出"); }4.3 录入车次信息函数录入车次信息,首先由程序创建一个新文件,并将录入的车次信息写入该文件(e:\\train.txt)当中。
具体的程序段如下:if((fp=fopen("e:\\train.txt","a"))==NULL) //如果文件已经存在,可以追加车次信息{if((fp=fopen("e:\\train.txt","w"))==NULL) // 文件不存在时,创建新文件,输入车次信息{printf("文件打开失败~\n");return;}4德州学院计算机系 C语言课程设计报告}printf("请输入要车次的数量,按回车键确认:");scanf("%d",&n);for(i=1;i<=n;i++){printf("\n请输入第%d个车的车次,日期,始发,终点,用空格分开,并n",i); 按回车键确认:\scanf("%d%d%s%s",&tra.num,&tra.date,tra.from,tra.ter);printf("\n请输入第%d个卖出的数量,车次所需的费用,用空格分开,并按回车键确认:\n",i);scanf("%d%f",&tra.maipiao,&tra.tickeprice);fprintf(fp,"%d %d %s %s %d%f\n",tra.num,tra.date,tra.from,tra.ter,tra.maipiao,tra.tickeprice);}fclose(fp);}4.4 旅客买票函数对于买票,这部分程序然调用了reads函数,首先应输入旅客所买车次,然用if函数进行比较,如果成立就进行一下售票以及金额运算,最后调用save函数进行更新。
具体程序如下:n=reads(tra);printf("\n请输入待查询的车次号,按回车键确认:\n");scanf("%d",&num);for(i=0;i<n;i++)if(num==tra[i].num) break;if(i>=n){printf("没有找到该车次信息~\n");5德州学院计算机系 C语言课程设计报告return;}elseprintf("\n请输入所买票数,按回车键确认:\n");scanf("%d",&j);tra[i].maipiao=tra[i].maipiao+j;printf("\n购买成功\n");printf("\n%12d%11d%11s%11s%11d%11.2f\n",tra[i].num,tra[i].date,tra[i ].from,tra[i].ter,tra[i].maipiao,tra[i].tickeprice);save(tra,n);4.5 查询销售总额对于也使用比较日期的方法实现的,这部分程序仍然调用了reads函数,整个排序过程在文件中实现,然后用for循环进行运算,把查询这一天的总额算出。
具体程序如下:if((fp=fopen("e:\\train.txt","r"))==NULL) { printf("读取错误,不能打开该文件!!\n"); return; }elsefor(i=0;i<N;i++)fscanf(fp," %d %d %s %s %d%f\n",&tra[i].num,&tra[i].date,tra[i].from,tra[i].ter,&tra[i].maipiao,&tra[i].tickeprice);printf("请输入你要查询的日期:\n"); scanf("%d",&temp.date);for(i=0;i<N;i++)if(temp.date==tra[i].date){sum=sum+tra[i].maipiao*tra[i] .tickeprice;j=1; } if(j==0) printf("无此日期销售信息,请重新输入") elsepintf("今天的总销售额为:%f\n",sum);fclose(fp);五( 调试与测试结果分析在程序编写完成后,进行了调试,发现了大量的错误,我从提示中对程序进行了修改,但是还存在很多错误。