数据结构课程设计火车票务系统的设计与实现 地铁建设问题1Word文档格式.docx

上传人:b****1 文档编号:13340350 上传时间:2022-10-09 格式:DOCX 页数:24 大小:155.32KB
下载 相关 举报
数据结构课程设计火车票务系统的设计与实现 地铁建设问题1Word文档格式.docx_第1页
第1页 / 共24页
数据结构课程设计火车票务系统的设计与实现 地铁建设问题1Word文档格式.docx_第2页
第2页 / 共24页
数据结构课程设计火车票务系统的设计与实现 地铁建设问题1Word文档格式.docx_第3页
第3页 / 共24页
数据结构课程设计火车票务系统的设计与实现 地铁建设问题1Word文档格式.docx_第4页
第4页 / 共24页
数据结构课程设计火车票务系统的设计与实现 地铁建设问题1Word文档格式.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

数据结构课程设计火车票务系统的设计与实现 地铁建设问题1Word文档格式.docx

《数据结构课程设计火车票务系统的设计与实现 地铁建设问题1Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计火车票务系统的设计与实现 地铁建设问题1Word文档格式.docx(24页珍藏版)》请在冰豆网上搜索。

数据结构课程设计火车票务系统的设计与实现 地铁建设问题1Word文档格式.docx

(列车线路停运)

(3)列车信息修改:

(列车时间、票价等信息有变动)

(4)列车信息输出:

根据格式对齐输出列车信息。

(5)列车信息查询:

可根据车次号、始发站、终点站查询满足条件的列车信息。

(6)列车信息排序:

可根据票价对列车信息进行排序并输出。

【需求分析】

一 根据题目要求系统主界面应有以下几个功能:

1录入信息

2显示信息

3查询信息

4增加信息

5修改信息

6删除信息

7排序

对于各种有关信息操作,必须包括有车次、始发站、终点站、发车时间、到站时间、票价

二查询包括:

由车次,起点站和终点站的分别查询

三排序:

由票价排序

【设计分析】

头文件:

#include<

stdio.h>

malloc.h>

#defineMAX100

#defineN50

typedefstructtime//时间类型

{

intx,y,z;

//分别对应年,月,日

}TIME;

typedefstructcnode//票信息类型

intno;

//票号

intid;

//购票人证件号

TIMEdate;

//购票日期

structcnode*next;

}CNODE;

typedefstructtnode//车次信息类型

chardata;

//车次编号

structtnode*lchild,*rchild;

CNODE*head;

}TNODE;

voidcreate();

//按车次建立二叉排序树

voidinsert(int);

//增加新的车次(二叉排序树的插入)

voiddel();

//取消车次(二叉排序树节点删除)

voidinorder(TNODE*);

//中序遍历车次二叉排序树(仅显示车次信息)

voidinorder_all(TNODE*);

//中序遍历车次二叉排序树(显示车次及售票信息)

voidpreorder(TNODE*);

//先序遍历车次二叉排序树(仅显示车次信息)

TNODE*search();

//按车次编号搜索

CNODE*insert_c(CNODE*);

//插入新的售票信息(单张)

CNODE*insert_c_more(CNODE*);

//插入新的售票信息(批量)

CNODE*del_c(CNODE*,CNODE*);

//退票处理(删除售票信息)

CNODE*search_c(CNODE*,int);

//按票号查询

voidsearch_c_id(CNODE*,int);

//按购票人证件号搜索(限定某车次)

voidsearch_c_id_all(TNODE*,int);

//按购票人证件号搜索(所有车次)

voidsearch_date(CNODE*,TIME);

//按购票日期搜索(限定某车次)

voidsearch_date_all(TNODE*,TIME);

//按购票日期搜索(所有车次)

voidprint_c(CNODE*);

//输出售票纪录(单张)

voidprint_c_all(CNODE*);

//输出售票纪录(批量)

TNODE*root=NULL;

voidmain()

inti,func,no,ok;

TNODE*t;

CNODE*c;

TIMEd;

printf("

\n\n\n"

);

for(i=0;

i<

15;

i++)printf("

="

列车售票信息管理系统"

\n"

\t1.车次信息管理\n"

\t2.售票记录管理\n"

\t3.售票记录查询\n"

\t4.售票记录一览\n"

\t5.退出系统\n"

N;

\n请选择您所需要的功能:

"

fflush(stdin);

scanf("

%d"

&

func);

switch(func){

case1:

\n\n车次信息管理>

>

\n\t1.增加新的车次"

\n\t2.取消车次"

\n\t3.返回上级菜单\n"

create();

\n售票信息更新成功!

\n\n"

break;

case2:

del();

break;

case3:

main();

default:

printf("

\n[错误]功能号输入有误!

请重新输入!

}

\n\n售票记录管理>

\n\t1.增加新的售票记录"

\n\t2.退票"

t=search();

if(t!

=NULL)t->

head=insert_c_more(t->

head);

需要退票的票号:

no);

t->

head=del_c(t->

head,search_c(t->

head,no));

\n\n售票记录查询>

\n\t1.按票号搜索"

\n\t2.按购票者证件号搜索"

\n\t3.按购票日期搜索"

\n\t4.返回上级菜单\n"

=NULL){

\n请输入您所要查询的票号:

c=search_c(t->

head,no);

if(c==NULL)printf("

[错误]没有该票号的纪录!

该票还未售出或为废票!

自动返回上级菜单\n..."

}

\n请输入您所要查询的购票者证件号:

search_c_id_all(root,no);

搜索完毕!

do{

\n请输入您所要查询的日期(格式:

yy-mm-dd):

%d-%d-%d"

d.x,&

d.y,&

d.z);

if(d.y<

13&

&

d.y>

0){

if(d.y==1||d.y==3||d.y==5||d.y==7||d.y==8||d.y==10||d.y==12)

if(d.z<

32&

d.z>

0)ok=1;

elseif(d.z==2)

30&

else

31&

elseok=0;

if(!

ok)printf("

\n[错误]日期输入有误!

}while(!

ok);

\n指定车次吗?

(1->

是,0->

否):

if(ok)search_date(search()->

head,d);

elsesearch_date_all(root,d);

case4:

\n\n售票记录一览>

\n\t1.仅浏览车次"

\n\t2.指定车次已售票记录"

\n\t3.所有车次已售票记录"

\n\t4.测试:

先序遍历车次"

\n\t5.返回上级菜单\n"

\n+++仅浏览车次\n"

if(root==NULL)printf("

[错误]无车次纪录!

else{inorder(root);

printf(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1