一个简单的火车票售票管理系统0001Word文件下载.docx

上传人:b****7 文档编号:22555108 上传时间:2023-02-04 格式:DOCX 页数:14 大小:17.91KB
下载 相关 举报
一个简单的火车票售票管理系统0001Word文件下载.docx_第1页
第1页 / 共14页
一个简单的火车票售票管理系统0001Word文件下载.docx_第2页
第2页 / 共14页
一个简单的火车票售票管理系统0001Word文件下载.docx_第3页
第3页 / 共14页
一个简单的火车票售票管理系统0001Word文件下载.docx_第4页
第4页 / 共14页
一个简单的火车票售票管理系统0001Word文件下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

一个简单的火车票售票管理系统0001Word文件下载.docx

《一个简单的火车票售票管理系统0001Word文件下载.docx》由会员分享,可在线阅读,更多相关《一个简单的火车票售票管理系统0001Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。

一个简单的火车票售票管理系统0001Word文件下载.docx

search_date_all(TNODE*,TIME);

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

print_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"

\t

1.车次信息管理\n"

2.售票记录管理\n"

3.售票记录查询\n"

4.售票记录一览\n"

5.退出系统\n"

N;

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

"

fflush(stdin);

scanf("

%d"

&

func);

switch(func){

case1:

\n\n车次信息管理>

>

printf("

\n\t

1.增加新的车次"

2.取消车次"

3.返回上级菜单\n"

"

scanf("

create();

\n售票信息更新成功!

\n\n"

break;

case2:

del();

case3:

main();

default:

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

请重新输入!

}break;

case2:

\n\n售票记录管理>

for(i=0;

1.增加新的售票记录"

2.退票"

t=search();

if(t!

=NULL)t->

head=insert_c_more(t->

head);

需要退票的票号:

no);

t->

head=del_c(t->

head,search_c(t->

head,no));

case3:

\n\n售票记录查询>

1.按票号搜索"

2.按购票者证件号搜索"

3.按购票日期搜索"

4.返回上级菜单\n"

fflush(stdin);

switch(func){

t=search();

=NULL){

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

c=search_c(t->

head,no);

if(c==NULL)printf("

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

该票还未售出或为废票!

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

}

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

search_c_id_all(root,no);

搜索完毕!

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

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)

if(d.z<

30&

d.z>

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售票记录一览>

1.仅浏览车次"

2.指定车次已售票记录"

3.所有车次已售票记录"

4.测试:

先序遍历车次"

5.返回上级菜单\n"

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

if(root==NULL)printf("

[错误]无车次纪录!

else{inorder(root);

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

print_c_all(t->

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

else{inorder_all(root);

\n+++测试:

先序遍历车次\n"

else{preorder(root);

}break;

case5:

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

exit

(0);

}main();

}void

ino「der_a=(TNODE*pf「)宀if(pfrHNULL)宀inorder_a=(p7v-ch=d)_云=p7vdaar)八prinflcla--(pfTvhead)八prinmn)

ino「der_a--(pf7v「chi-d)pvoidino「de「(TNODE*p50f(pf「HNULL)Qnos.e「(p7v-ch=dx

prinff(=%dw「pTvdafa)八ino「de「(pf7v「ch=d)pvoidp「eo「de「(TNODE*pf「)宀if(pfrHNULL)宀prinff(二%2f

「pf7vdas-xpreos.er(pf7v-ch=d)八p「eos.e「(pf7v「chi-d)p

voidprinflcoNODE*fkf)宀

if(fkfHNULL)

prinff(>

%2f%2f%d—%d—%CArrJkf—vnoJkf—vdJkf—vda(D.XJkf—vda(D.yJkf—vdafe.zxvoidp「inflcla=(CNODE*head)宀

infnpli-o八

if(headHHNULL)宀p「inff>

nffi^RH)}一krmefuln〉

fo「(noxNT+)p「inff(f=)八

p「inff>

nNO齐渦加諄齐wlflB轄肓£

—s云》

fo「(noxNT+)prinffcJ八fo「5rqheadHNULLj++)宀

 

\n%d"

j);

print_c(head);

head=head->

next;

}printf("

-"

\n总计%d条记录\n"

}voidcreate(){intn,i;

intk[MAX];

\n您所希望增加车次的数量:

n);

n;

i++){

新增第%d列车次:

i+1);

k[i]);

}for(i=0;

i++)

insert(k[i]);

}voidinsert(intm){TNODE*p1,*p2;

if(root==NULL){root=(TNODE*)malloc(sizeof(TNODE));

root->

data=m;

lchild=root->

rchild=NULL;

head=NULL;

}else{p1=root;

while(m!

=p1->

data){if((m<

p1->

data)&

(p1->

lchild!

=NULL))p1=p1->

lchild;

elseif((m>

rchild!

rchild;

elseif((m<

lchild==NULL)){p2=(TNODE

*)malloc(sizeof(TNODE));

p2->

lchild=p2->

lchild=p2;

return;

}elseif((m>

rchild==NULL)){p2=(TNODE

rchild=p2;

}}

\n[错误]未能成功增加车次%d,车次号%d已存在!

m,m);

}}TNODE*search(){

intkey;

TNODE*p;

p=root;

\n输入您所要查找的车次编号:

key);

while(p!

=NULL&

p->

data!

=key){

if(key<

data){p=p->

elseif(key>

}}if(p==NULL)printf("

\n该车次不存在!

return(p);

}voiddel(){

TNODE*p1,*p2,*p3,*temp;

p1=p2=root;

p3=temp=NULL;

\n请输入您想要取消的车次编号:

while(p2!

data){p1=p2;

p2=p2->

data){p仁p2;

p2二p1->

}}if(p2==NULL){printf("

\n错误]该车次不存在!

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

elseif(p2->

lchild==NULL&

rchild==NULL){if(p1->

lchild==p2)

lchild=NULL;

if(p1->

rchild==p2)p1->

temp=p2;

if(root==p2){temp=root;

root=NULL;

}}else{

if(p2->

rchild==NULL){

temp=p2->

data=temp->

data;

lchild=temp->

rchild=temp->

}elseif(p2->

lchild==NULL){temp=p2->

}else{

p3=p2;

while(temp->

=NULL){p3=temp;

temp=temp->

}p2->

if(p3==p2)p3->

elsep3->

free(temp);

printf(”车次%d已取消!

key);

}CNODE*insert_c(CNODE*head){CNODE

*k,*p;

k=(CNODE*)malloc(sizeof(CNODE));

\n车票编号:

k->

p=search_c(head,k->

if(p!

=NULL)printf("

\n[错误]该票已被购买!

请重新选择!

}while(p!

=NULL);

购票者证件号:

id);

购票日期(格式:

date.x,&

date.y,&

date.z);

k->

next=head;

head=k;

return(head);

}CNODE*insert_c_more(CNODE*head){intn,i;

\n请输入批量新增售票记录数:

i++)head=insert_c(head);

\n售票记录更新成功!

}CNODE*search_c(CNODE*head,intid){CNODE*temp,*s;

s=temp=head;

while(temp!

temp->

id!

=id){s=temp;

print_c(temp);

if(temp!

=NULL)return(s);

elsereturnNULL;

}voidsearch_c_id(CNODE*head,intid){

CNODE*s,*head_s;

s=head_s=NULL;

if(head==NULL)printf("

无该证件号纪录!

while(head!

if(head->

id==id){

s=(CNODE*)malloc(sizeof(CNODE));

s->

no=head->

no;

id=head->

id;

date=head->

date;

next=head_s;

head_s=s;

}head=head->

}print_c_all(head_s);

}voidsearch_c_id_all(TNODE*ptr,intid){

if(ptr!

search_c_id_all(ptr->

lchild,id);

\n车次:

%d\n"

ptr->

data);

search_c_id(ptr->

head,id);

rchild,id);

voidsearch_date(CNODE*head,TIMEt){

if(t.x==head->

date.x)

if(t.y==head->

date.y)

if(t.z==head->

date.z){s=(CNODE*)malloc(sizeof(CNODE));

}voidsearch_date_all(TNODE*ptr,TIMEt){

if(ptr!

search_date_all(ptr->

lchild,t);

search_date(ptr->

head,t);

rchild,t);

CNODE*del_c(CNODE*head,CNODE*p){

CNODE*temp;

if(p==NULL)printf("

[错误]该票未售出或为废票!

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

elseif(p==head){head=NULL;

free(p);

else{

temp=p->

next=temp->

}return(head);

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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