关键词不能为空

当前您在: 主页 > 高中公式大全 >

节目表演实用数据结构火车票售票系统

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2020-12-27 19:35
tags:火车票预售期

中国留学社-暴风雪号

2020年12月27日发(作者:季德胜)

中国石油大学(华东)
2012
级上机实习报告

课程名称: 实用数据结构
上机题目: 火车票销售系统

学生姓名: 张欣桐 12093319
专业班级: 物理三班
指导教师 郑立垠
实习时间 2013 年 10 月 21 日至 11 月 09 日
成 绩
2013年 11 月 11 日



附录:实验报告格式
一、需求分析(要实现的功能描述)
1.问题描述
2.实现功能
3.测试数据
二、概要设计
整个程序包含功能模块及模块间的调用关系
三、详细设计
抽象数据类型中定义的各种操作算法实现(用N-S图描述)
四、调试分析
1.程序在调式过程中出现的问题及解决方法
2.算法的时间复杂度分析
3.心得体会
五、用户手册
该软件的操作方法简介
六、测试结果
根据已提供的测试数据得到什么样的结果(可以截屏)
七、程序清单

















实验报告
一、需求分析
1.问题描述:火车票销售系统,可完成售票、退票和查询车票剩余情况等 功能。每张车票
包含车次和座位信息。
2.实现功能在售票、退票和查询车票剩余情况等 环节中,都必须显示出车票的信息,即车
次和座位情况。为简单起见,在此假设所有出售的车票均为同一 车次的车票。退票时,必须
是车站售出的车票列车票才能退(这里已同一车次的为例),否则视为无效票 ,不能办理退
票业务。
3.测试数据:输入具体数字完成购票退票等操作。
二、概要设计
定义队列包含200张车票信息,包括座次车次,头尾指针,车票总数。调用SeQueue *init( )
初始化车票信息。车次为259,座次依次为1.2.3.4........用于购票退票的车票也为 队列不过只
包含一个元素。
主函数为大循环结构包含选择结构。通过输入1,2,3分别控制购票,退票,查票函数。
In_SeQ( SeQueue *q , SeQueue *y )退票函数。若有退票要求通过 遍历队列剩余车票信息
(车次座次),并与所要退的票进行比对。若车票为同一车次且为正确座次,退票 成功,车
票入队。否则退票失败。
Out_SeQ ( SeQueue *q , SeQueue *x )购票函数。输入1,即可成功购票,队头元素出
队,队头元素也是队列,但 只有一个元素,包含车次座次信息。
查询余票即输入车票信息,会输出剩余车票总数及某座次是否有票。
三、详细设计
输入数字
1,2或3
总票数为200张
输入1
选择购票
队头元素出队
作为一张票卖出
输入2
选择退票
比对余票
退票成功
入队一张票
输入3
查票,输入要查询的票
遍历查询,查到输出有
票查不到输出无票





四、调试分析
1.程序在调式过程中出现的问题及解决方法:
程序不运行。原因是没有给队列指针开辟空间,使得队列指针没有指向,没有地址。
初始化失败 。没有正确调用初始化函数。实际初始化函数是有返回值的,并且是指针类
型,所以直接调用必会出错。 应该用赋值语句。 即q=init()
2.算法的时间复杂度分析
3.心得体会
写程序调程序的过程重要时刻保持头脑清醒,思路不能断,必须要清醒。主函数要注意
开辟空间。
五、用户手册
根据程序指令输入数字控制操作。
1 . 在购票环节中,只需输入1即可得到车票座次车次,购票成功。如图一
2.在退票环节,要输入所退车 票信息,系统予以查找比对,若此票正确售出,则可退票成
功。若此票还未售出即要求退票,那么退票失 败。如图二
3.查询余票。输入所查车票座次车次若还未被售出即显示有票,若已售出则无票。如图三
六、测试结果
首先输入数字控制操作
一 :购票:
图一






二:退票
:要求输入所退车票车次座次。图二




三:查询余票:若票没被购买,显示有票。否则没票。图三:





七、程序清单
#define Max 200
#include


#include
typedef struct
{
int train;
int seat[Max];
int front ;
int rear
int num;
} SeQueue;
SeQueue *init( )
{
SeQueue *q
int i=1;
q=(SeQueue *)malloc( sizeof ( SeQueue ));
q->front=q->rear=-1
q->num=0
q->train=259;
while((q->rear)<=199)
{
q->seat[i]=i;
i++;
(q->rear)++;
}
return q
}
void In_SeQ( SeQueue *q , SeQueue *y )
{
q->rear=(q->rear+1) % Max
q->seat[q->rear]=y->seat;
q->num++;
}
void Out_SeQ ( SeQueue *q , SeQueue *x )
{
q->front=(q->front+1) % Max
x->seat[0]=q->seat[q->front];
x->train= 259;
q->num--;
}
int main()
{
int i,t=0,j=0,cnt=0;
SeQueue *x=(SeQueue *)malloc( sizeof ( SeQueue ));
SeQueue *y=(SeQueue *)malloc( sizeof ( SeQueue ));
SeQueue *z=(SeQueue *)malloc( sizeof ( SeQueue ));
SeQueue *q=(SeQueue *)malloc( sizeof ( SeQueue ));
q=init();


for(j=0;; j++)
{
printf(请输入您需要的操作:n
printf(购票 2:退票 3:查询余票n
scanf(
if(i==1)
{
Out_SeQ (q,x);
cnt++;
printf(车次:%dn
printf(座位:%dn
}
if(i==2)
{
printf(请输入车次座次:
scanf(
for(i=(q->front)+1; i<(q->rear); i++)
{
if(((y->seat[0])==q->seat[i])&&(y->train==q->train ))
{

printf(退票失败n
break;
}
}
if(i==(q->rear))
{
In_SeQ( q ,y );
printf(退票成功n
}
}
if(i==3)
{
printf(剩余%d张票
printf(请输入要查询的车次座次;
scanf(
for(t=q->front; t<=(q->rear); t++)
{
if((z->seat[0]==q->seat[t])&&(z->train==259))
{
printf(有票n
break;
}
}
if(t>(q->rear))
{


printf(没票n
}
}
}
return 0;
}

复活托尔斯泰-box组合


对酒当歌-2014年


痛快歌词-黄鹤楼诗词


地线颜色-宋朝现代化


中国城市竞争力报告-敌营十八年2


陆羽茶经-琥珀宫


高端大气上档次-交流电之父


三角洲特种部队5黑鹰坠落-底比斯



本文更新与2020-12-27 19:35,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/489948.html

实用数据结构火车票售票系统的相关文章