资源描述
课程设计(论文)任务书
软 件 学 院 学 院 软 件+电气 专 业 2010- 2 班
一、课程设计(论文)题目 火车售票系统
二、课程设计(论文)工作自 2011 年 12 月 26 日起至 2011 年 12 月 30 日止
三、课程设计(论文) 地点: 创 新 大 楼 机 房
四、课程设计(论文)内容要求:
1.本课程设计的目的
⑴训练学生灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,
编写程序求解指定问题;
⑵初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;
⑶提高综合运用所学的理论知识和方法独立分析和解决问题的能力,巩固、深化学生
的理论知识,提升编程水平。
2.课程设计的任务及要求
1)基本要求:
⑴要求从分析题目的需求入手,按设计抽象数据类型、构思算法、通过设计实现抽象
数据类型、编写上机程序和上机调试等若干步骤完成题目,最终写出完整的报告;
⑵在程序设计阶段应尽量利用已有的标准函数,加大代码的重用率;
⑶程序设计语言推荐使用C/C++,程序书写规范,源程序需加必要的注释;
⑷每位同学需提交可独立运行的程序和规范的课程设计报告。
2)课程设计论文编写要求
⑴理论设计部分以课程设计论文的形式提交,格式必须按照课程设计论文标准格式进
行书写和装订;
⑵课程设计报告(论文)包括中文目录、设计任务、需求分析、概要设计、详细设计、
编码实现、调试分析、课设总结、谢辞、参考文献、附录等;
⑶设计部分应包含系统功能模块图,调试分析应包括运行截图等。
3)课程设计评分标准:
⑴学习态度:10分;
⑵系统设计:20分;
⑶编程调试:20分;
⑷回答问题:20分;
⑸论文撰写:30分。
4)参考文献:
⑴严蔚敏,吴伟民. 数据结构(C语言版)[M]. 清华大学出版社. 2010.3
⑵严蔚敏,吴伟民. 数据结构题集(C语言版)[M]. 清华大学出版社. 1999.2
⑶何钦铭,冯燕等. 数据结构课程设计[M]. 浙江大学出版社. 2007.8
5)课程设计进度安排
⑴准备阶段(4学时):选择设计题目、了解设计目的要求、查阅相关资料;
⑵程序模块设计分析阶段(4学时):程序概要设计、详细设计;
⑶代码编写调试阶段(8学时):程序模块代码编写、调试、测试;
⑷撰写论文阶段(4学时):总结课程设计任务和设计内容,撰写课程设计论文。
学生签名: 周波
2011 年 12 月 26
6)课程设计题目具体要求:
火车售票系统
问题描述:
通过此系统可以实现售票、退票、车票剩余情况查询等功能。每张车票包含车次、座位信息。
基本要求:
⑴在售票、退票、查询剩余票等环节中,都必须显示出车票的信息,即车次、座位情况。
⑵为简单起见,在此假设所有出售的车票均为同一车次的车票。
⑶退票时,必须是车站售出的车票才能退,否则视为无效票,不能退票。
课程设计(论文)评审意见
(1)学习态度(10分):优( )、良( )、中( )、一般( )、差( );
(2)系统设计(20分):优( )、良( )、中( )、一般( )、差( );
(3)编程调试(20分):优( )、良( )、中( )、一般( )、差( );
(4)回答问题(20分):优( )、良( )、中( )、一般( )、差( );
(5)论文撰写(30分):优( )、良( )、中( )、一般( )、差( );
(6)格式规范性及考勤是否降等级:是( )、否( )
评阅人: 王英华 职称: 讲师
2012 年 1 月 4 日
目 录
一、概述 4
1.1概述 4
1.2意义 4
二、系统的总体设计 4
3.1系统软件结构设计 4
3.2系统流程图 5
三、 系统的实现与调试 7
四、结束语 8
五、总结与展望 9
参 考 文 献 9
附录 10
火车票售票系统
一、概述
1.1概述
目前火车站售票的状况是仅靠手工操作,以现有的工作人员很难应付车票订购高峰时刻的大量数据处理问题。同时还会出现由此带来的大量记录存放和管理所带来的问题。本次设计拟开发一个火车站网上订票系统,可以降低工作人员的工作量,提高工作人员的工作效率,同时方便顾客订票。
1.2意义
火车站市场的管理和规范问题,是困扰我们多年的一个老问题,也是政府管理中的一个难点,订票是客运业务中的一个最基本的业务,表面上看,它只是火车站业务的一个简单的部分,但是它涉及到管理与客户服务等多方面,因此,过去传统的售票方式已经不能满足现代客运业务流量剧增的客观要求,这就要求一种全新的订票方式——网上订票,来缓解订票高峰时期的客运压力,并为用户提供方便快捷的订票服务。本次设计便是利用开发工具vs005和SQL Server 2008数据库 共同开发的一个火车站网上订票系统,它能方便快捷地运用在火车站订票业务的营运之中。
二、系统的总体设计
2.1系统软件结构设计
2.1.1软件结构
本火车站网上订票系统可划分为信息查询、网上订票、取消订票三个部分。其中信息查询又可分为车次查询和订单查询两个部分。其层次图如图2.1示。
图2.1火车站网上订票系统的层次图
2.2系统流程图
系统顶层流程图如下图2.5所示。图2.6——图2.9为各模块详细系统流程图。
图2.5顶层系统流程
图2.6车次信息查询系统流程图
图2.7订单信息查询系统流程图
图2.8订票系统流程图
退票程序
系统数据库
操作反馈
事务
输入退
票信息
图2.9退票系统流程图
三、 系统的实现与调试
四、结束语
二十一世纪是一个高速、快捷的年代。在这个高速发展的年代里,速度成了我们追求的目标;二是提高工作效率;三是降低成本。因此,办公自动化的高速度、高效率、高便捷、低成本便成了我们的目的,为此开发了这个火车站网上订票系统。本系统可以大大简化退票、订票、查询等十分繁琐的工作,简化办公环节,提高工作效率,而且易学、易用,满足客户需求。
这次系统的设计从最开始的可行性研究,需求分析,到系统的总体设计,详细设计,再到编码、测试等的一个整体过程,使我真正明白了要做一个软件的难度,特别是要做一个真正可用的软件,就更难了。
五、总结与展望
在未来相当长的时间内,火车将成为21世纪最为可靠,快速,便捷的出行方式,同时,随着我国经济快速发展,和经济增长方式逐渐向发展内需方向转变,为中国铁路的发展带来了全新的机遇。对火车票预定与管理系统,我认为将会出现以下几种发展趋势:
1:纸质车票将会被电子车票代替:电子车票的出现将乘客的唯一标识例如指纹或RFID技术作为购票和乘车凭证, 因为免去了纸质车票的传递过程,将更大程度的方便乘客选择火车出行,真正的可以做到足不出户就能完成车票的订购。目前上海已经进入了磁卡火车票,这已经是在原有纸质车票基础上的一个巨大的变化。
2:火车票预定与管理系统功能将更加多元化,系统将更加集中,电子车票的出现将使火车票信息系统的架构发生巨大变化,原来分散的,独立的基于客户机/服务器的结构将转换为浏览器/服务器结构,并且一个主机系统可以服务全国的乘客订票需求。同时因为上百万的用户的在线使用,对火车票预定与管理系统的功能提出一个新的挑战。对系统的可靠性,可用性,性能要求发生质的变化。
参 考 文 献
[1]孙涌.《现代软件工程》.北京希望电子出版社,2003年8月:1-246
[2]萨师煊,王珊.《数据库系统概论》.高等教育出版社,2002年2月:3-460
[3]于松涛.精通SQL server 2000数据库管理与开发[M].北京:人民邮电出版社,2003.10
[4]飞思科技产品开发中心.SQL Server 2000基础与提高[M].北京:电子工业出版社,2001.7
[5]汤庸.软件工程方法与管理[M].北京:冶金工业出版社,2002.10
[6]张虹.软件工程与软件开发工具[M].北京:清华大学出版社,2004.09
附录:
#include <iostream>
#include <ctime>
#include <string>
using namespace std;
class INFORMATION //定义类INFORMATION
{
privateint numb;
char starttime[10];
char begin[21];
char end[21];
int money;
int canload;
int alreadyload;
public:
void static AddInformation();
int static GetHour(char *s);
int static GetMinute(char *s);
void static ShowInformation();
void static SearchbyNum();
void static SearchWay();
void static SearchbyEnd();
void static Buy();
void static Cancel() ;
void static ForTicket();
void static Total()
};
void INFORMATION::AddInformation() //实现添加班次信息功能
{
FILE *fp;
INFORMATION info;
Cout<<"请输入列车信息,输入0返回"<<endl;
Cout<<"请依次输入车次,发车时间,始发站,终点站,票价,总票数,已订票数:"<<endl;
cin>>info.numb;
if(info.numb == 0)
return ;
cin>>info.starttime>>info.begin>>info.end>>info.money>>info.canload>>info.alreadyload;
if((fp = fopen("d:\\information.txt", "a+")) == 0)
{
cout<<"文件打开失败!"<<endl;
exit(0);
}
fprintf(fp, "%d %s %s %s %d %d %d\n", info.numb, info.starttime, info.begin, info.end, info.money, info.canload, info.alreadyload);
fclose(fp);
}
int INFORMATION::GetHour(char *s) //提取现在的时间(小时)
{
char *p, *q;
p = (char *)malloc(10);
strcpy(p, s);
q = p;
while(*q != ':')
{
q++;
}
*q = '\0';
return atoi(p);
}
int INFORMATION::GetMinute(char *s) //提取现在的时间(分钟)
{
char *p;
p = (char *)malloc(10)
strcpy(p, s);
while(*p != ':
{
p++;
}
p++;
return atoi(p);
}
void INFORMATION::ShowInformation() //显示已有的班次信息
{
FILE *fp;
INFORMATION info;
time_t t;
struct tm *timeinfo;
if((fp = fopen("d:\\information.txt", "r+")) == 0) {
cout<< "文件打开失败!"<< endl;
exit(0);
展开阅读全文