C语言课程设计火车票管理系统.docx
《C语言课程设计火车票管理系统.docx》由会员分享,可在线阅读,更多相关《C语言课程设计火车票管理系统.docx(24页珍藏版)》请在冰豆网上搜索。
C语言课程设计火车票管理系统
二、设计内容
设计一个火车票务管理系统,用C语言实现。
对该系统的要求以下:
需求描绘:
1.系统功能
(1)火车时辰信息录入。
包括车次、日期、起点、终点、开车时间、抵达时间、票价。
数据存入数据文件或中。
(2)火车时辰信息查问。
依照车次查问
按终点查问
按起点查问
按终点和日期查问
(3)统计
按终点统计每日的车次数按起点统计每日的车次数
2.系统主界面应有以下功能选项录入火车时辰信息
查问火车时辰信息统计火车车次
退出
三、详尽设计说明
#include<>
#include<>
#include<>
intMENU();ode,T[i].data,T[i].lp,T[i].ap,T[i].lt,T[i].at,T[i].price
入火车时辰信息\n");
printf("
2.
查问火车时辰信息\n");
printf("
3.
统计火车车次\n");
printf("
4.
退出\n");
printf("-----------------------------------------
\n");
printf("
请选择:
");
scanf("%d",&choice);
gets(l);
returnchoice;
}
ode);
printf("日期");
gets(T[i].data);
printf("起点");
gets(T[i].lp);
printf("终点");
gets(T[i].ap);
printf("开车时间");
gets(T[i].lt);
printf("抵达时间");
gets(T[i].at);
printf("票价");
gets(T[i].price);
n++;
i++;
}while(i
WRITE();
system("cls");
printf("\n");
printf("
--------------------------------\n");
printf("
printf("
系统记录的列车信息以下
--------------------------------\n\n");
\n");
PRINT();
}
示所有列车信息
2.按车次查问
3.
按终点查问
----\n");
printf("
-----4.
按起点查问
5.
按终点和日期查问
6.返回
上级菜单
----\n");
printf("\n
请选择:
");
scanf("%d",&j);
gets(l);
switch(j)
{
case1:
PRINT();
break;
case2:
printf("\n
---
请输入车次
---
:
");
gets(name1);
break;
case3:
printf("\n
---
请输入终点
---
:
");
gets(name2);
break;
case4:
printf("\n
---
请输入起点
---
:
");
gets(name3);
break;
case5:
printf("\n---
请输入终点
---:
");
gets(name41);
printf("\n---
请输入日期
---:
");
gets(name42);
break;
case6:
break;
default:
WRONG();
break;
}
READ();
k=0;
if(j==2)
{
for(i=0;i{
if(strcmp(T[i].code,name1)==0)
{
printf("\n按车次查找列车信息
成功!
\n");
printf("\n
===========================================================================\n")
;
printf(GeShi);
break;
}
}
for(i=0;i
{
if(strcmp(T[i].code,name1)==0)
{
printf(Print);
k++;
}
}
printf("
===========================================================================\n")
;
printf("\n-->共查问到%d趟列车信息,请按任意键返
回<--",k);
gets(l);
}
if(j==3)
{
for(i=0;i{
if(strcmp(T[i].ap,name2)==0)
{
printf("\n按终点查找列车信息
成功!
\n");
printf("\n
===========================================================================\n")
;
printf(GeShi);
break;
}
}
for(i=0;i
{
if(strcmp(T[i].ap,name2)==0)
{
printf(Print);
k++;
}
}
printf("
===========================================================================\n")
;
printf("\n-->共查问到%d趟列车信息,请按任意键返
回<--",k);
gets(l);
}
if(j==4)
{
for(i=0;i{
if(strcmp(T[i].lp,name3)==0)
{
printf("\n按起点查找列车信息
成功!
\n");
printf("\n
===========================================================================\n")
;
printf(GeShi);
break;
}
}
for(i=0;i
{
if(strcmp(T[i].lp,name3)==0)
{
printf(Print);
k++;
}
}
printf("
===========================================================================\n")
;
printf("\n-->共查问到%d趟列车信息,请按任意键返
回<--",k);
gets(l);
}
if(j==5)
{
for(i=0;i{
if(strcmp(T[i].ap,name41)==0&&strcmp(T[i].data,name42)==0)
{
printf("\n按终点和日期查找列车
信息成功!
\n");
printf("\n
===========================================================================\n")
;
printf(GeShi);
break;
}
}
for(i=0;i
{
if(strcmp(T[i].ap,name41)==0&&strcmp(T[i].data,name42)==0)
{
printf(Print);
k++;
}
}
printf("
===========================================================================\n")
;
printf("\n-->共查问到%d趟列车信息,请按任意键返
回<--",k);
gets(l);
}
do
{
system("cls");
printf("\n\n-->连续查找
(1),返回主菜单
(2)<--
");
choice=getchar();
gets(l);
if(choice!
='1'&&choice!
='2')
WRONG();
}while(choice!
='1'&&choice!
='2');
}while(choice!
='2');
}
终点统计每日的车次数
\n");
printf("
2.
按起点统计每日的车次数
\n");
printf("\n
请选择:
");
scanf("%d",&t);
gets(l);
switch(t)
{
case1:
printf("
请输入终点:
");
gets(name1);
break;
case2:
printf("
请输入起点:
");
gets(name2);
break;
default:
WRONG();
break;
}
READ();
if(t==1)
{
k=0;
for(i=0;i
{
if(strcmp(T[i].lp,name1)==0)
{
printf("\n
按终点统计列车信息
成功!
\n");
break;
}
}
for(i=0;i
{
if(strcmp(T[i].lp,name1)==0)
k++;
}
printf("\n-->共查问到%d趟列车信息,请按任意键返
回<--",k);
gets(l);
}
if(t==2)
{
k=0;
for(i=0;i
{
if(strcmp(T[i].lp,name2)==0)
{
printf("\n按起点统计列车信息
成功!
\n");
break;
}
}
for(i=0;i
{
if(strcmp(T[i].lp,name2)==0)
k++;
}
printf("\n-->共查问到%d趟列车信息,请按任意键返
回<--",k);
gets(l);
}
do
{
system("cls");
printf("\n\n-->连续统计
(1),返回主菜单
(2)<--
");
choice=getchar();
gets(l);
if(choice!
='1'&&choice!
='2')
WRONG();
}while(choice!
='1'&&choice!
='2');
}while(choice!
='2');
}
///////////////////////////////////////////////////////////////////////////////
////////纠错模块
voidWRONG()
{
system("cls");
printf("\n\n--->!
!
!
输入错误,请按任意键返回!
!
!
<---
");
gets(l);
}