C语言课程设计火车票系统源代码Word下载.docx

上传人:b****3 文档编号:18248752 上传时间:2022-12-14 格式:DOCX 页数:17 大小:17.93KB
下载 相关 举报
C语言课程设计火车票系统源代码Word下载.docx_第1页
第1页 / 共17页
C语言课程设计火车票系统源代码Word下载.docx_第2页
第2页 / 共17页
C语言课程设计火车票系统源代码Word下载.docx_第3页
第3页 / 共17页
C语言课程设计火车票系统源代码Word下载.docx_第4页
第4页 / 共17页
C语言课程设计火车票系统源代码Word下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

C语言课程设计火车票系统源代码Word下载.docx

《C语言课程设计火车票系统源代码Word下载.docx》由会员分享,可在线阅读,更多相关《C语言课程设计火车票系统源代码Word下载.docx(17页珍藏版)》请在冰豆网上搜索。

C语言课程设计火车票系统源代码Word下载.docx

);

scanf("

%d"

&

s->

num);

起点和终点:

%s"

s->

name);

出发时间:

time);

printf("

车票价格:

scanf("

price);

剩余数量:

amount);

r->

next=s;

r=s;

Continue?

(Y/N)"

choice);

}while(choice=='

Y'

||choice=='

y'

return(head);

}

//将单链表中的信息保存到文件1.txt中//

voidsave(structNode*h)

{

structNode*s;

FILE*fp;

charfilename[10]="

1.txt"

;

fp=fopen("

"

wt"

if(fp==NULL)

\n写文件出错,按任意键退出!

getchar();

exit

(1);

}

for(s=h->

next;

s!

=NULL;

s=s->

next)

fprintf(fp,"

%d%s%s%d%d\n"

num,s->

name,s->

time,s->

price,s->

getchar();

fclose(fp);

//从文件1.txt中读取信息并存入单链表中//

structNode*read()

structNode*head,*r,*s;

charfilename[10]="

zl.txt"

rt"

if(fp==NULL)

{

printf("

读文件错误,按任意键退出!

}

while(!

feof(fp))

fscanf(fp,"

%d%s%s%d%d"

time,&

price,&

r=s;

fclose(fp);

returnhead;

//将链表中的数据输出//

voidprint(structNode*h)

structNode*s;

\n火车票信息如下:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"

编号起点和终点出发时间车票价格剩余票数:

for(s=h->

next!

%d%10s%5s%10d%6d\n"

//链表查询//

structNode*find(structNode*h)

inti,j;

chars[20];

\t\t查询方法有以下几种:

\t\t1.火车票编号\n"

\t\t2.起点和终点\n"

\t\t3.出发时间\n"

\t\t4.车票价格\n"

\t\t5.剩余票数\n"

请输入您要查询的方法的序号:

i);

switch(i)

case1:

请输入你要查询火车票的编号:

j);

while(h->

=NULL)

h=h->

if(h->

num==j)

returnh;

returnNULL;

break;

case2:

请输入您要查询火车票的起点和终点:

s);

if(strcmp(h->

name,s)==0)

case3:

请输入您要查询火车票的时间:

{

h=h->

if(strcmp(h->

time,s)==0)

returnh;

returnNULL;

break;

case4:

请输入你要查询火车票的价格:

while(h->

price==j)

returnh;

break;

case5:

请输入你要查询火车票的剩余票数:

amount==j)

returnNULL;

//修改信息//

change(structNode*h,intk)

intj;

structNode*p;

p=find(h);

-------------------------------------------\n"

\t您要修改哪一项?

\t1.火车编号\n"

\t2.起点和终点\n"

\t3.出发时间\n"

\t4.车票价格\n"

\t5.剩余票数\n"

\t0.退出系统\n"

请输入您要修改项的编号:

switch(j)

修改后的火车编号:

scanf("

p->

printf("

修改后的起点和终点:

scanf("

p->

修改后的出发时间:

printf("

修改后的车票价格:

修改后的剩余票数:

case0:

break;

//删除信息//

delete(structNode*h)

structNode*p;

请输入您要删除的火车票的编号:

p=h->

if(p==NULL)

return0;

while(p!

if(p->

h->

next=p->

free(p);

return1;

h=p;

p=p->

return0;

//添加信息//

voidappend()

at+"

写文件出错,按任意键返回.\n"

exit

(1);

}

请输入要添加的火车票的信息:

火车编号,起点和终点,出发时间,车票价格,剩余票数:

%d%s%s%d%d"

num,p->

name,p->

%d%s%s%d%d\n"

time,p->

price,p->

//数据的统计//

voidcount(structNode*h)

s=h;

inti,j,k,n=0;

*****************************************************************************\n"

\t\t请选择您要统计项目的序号:

\t\t1.车票价格\n"

\t\t2.剩余票数\n"

\t\t0.退出界面\n"

switch(i)

case1:

请输入您要统计车票的价格的标准:

\t\t请选择低于或高于标准:

\t\t1.价格低于%d的个数\n"

j);

\t\t2.价格高于%d的个数\n"

k);

if(k==1)

{

for(s=h->

if(s->

price<

j)

n++;

printf("

车票价格低于%d的个数有%d个.\n"

j,n);

}

else

for(s=h->

if(s->

price>

n++;

break;

case2:

请输入您要统计剩余票数的数量:

\t\t请选择低于或高于所输票数:

\t\t1.票数低于%d的个数\n"

\t\t2.票数高于%d的个数\n"

if(k==1)

for(s=h->

amount<

n++;

剩余票数低于%d的个数有%d个.\n"

else

amount>

剩余票数高于%d的个数有%d个.\n"

}

//保存用户和密码到文件2.txt中//

voidsave_user()

charfile[10]="

2.txt"

charname[20];

charpwd[10];

\n写文件出错,按任意键退出.\n"

请输入用户名:

name);

请输入密码:

pwd);

%s%s\n"

name,pwd);

用户注册成功!

//检验用户和密码是否匹配//

intcheck(char*name,char*pwd)

charname1[20];

charpwd1[10];

if((fp=fopen("

))==NULL)

读文件出错,按任意键退出!

getchar();

exit

(1);

fscanf(fp,"

%s%s"

name1,pwd1);

if(strcmp(name1,name)==0&

&

strcmp(pwd1,pwd)==0)

return1;

//数据排序//

voidsort(structNode*h)

structNode*s,*p,*m,*n;

intt,t1,t2,t3;

chars1[20];

chars2[10];

车票价格由小到大排序如下:

for(p=s->

p=p->

if(s->

price)

t1=s->

num;

num=p->

num=t1;

t2=s->

price;

price=p->

price=t2;

t3=s->

amount;

amount=p->

amount=t3;

strcpy(s1,s->

strcpy(s->

strcpy(p->

name,s1);

strcpy(s2,s->

time,s2);

}

print(h);

\n\n剩余车票数量由多到少排序如下:

for(p=s->

if(s->

amount)

voidmain()

structNode*head,*p;

inti,j,k;

\n***************欢迎进入火车票管理系统******************\n"

\t\t1.用户登录\n"

\t\t2.用户注册\n"

\t\t0.退出系统

请输入所选序号:

switch(k)

scanf("

if(check(name,pwd))

{

密码正确.\n"

\n\n\t\t*********************欢迎进入火车票管理系统***********************\n"

\t\t1.录入火车票信息\t\t2.添加火车票信息\n"

\t\t3.修改火车票信息\t\t4.删除火车票信息\n"

\t\t5.打印火车票信息\t\t6.查询火车票信息\n"

\t\t7.统计火车票信息\t\t8.火车票销售排行\n"

\t\t0.退出系统\n"

请输入您要进入菜单的序号(0-8):

switch(i)

case1:

请录入火车票信息\n\n"

head=creat();

save(head);

head=read();

case2:

append();

case3:

请输入您要修改的火车票的编号:

change(head,j);

save(head);

case4:

head=read();

if(delete(head))

{

已正确删除!

}

要删除的结点不存在!

break;

print(head);

case6:

请输入您要查询火车票的编号(以0结束):

{

p=find(head);

%d%10s%5s%10d%6d\n"

请继续输入序号(以0结束):

case7:

head=read();

count(head);

case8:

sort(head);

************************谢谢使用!

*****************************\n"

}while(i!

=0);

else

密码错误或用户名不存在.\n"

save_user();

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

当前位置:首页 > 幼儿教育 > 少儿英语

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

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