C语言课程设计火车票管理系统Word格式.docx
- 文档编号:20741121
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:16
- 大小:17.27KB
C语言课程设计火车票管理系统Word格式.docx
《C语言课程设计火车票管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《C语言课程设计火车票管理系统Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
voidSELECT();
//统计模块
voidWRITE();
//文件记录模块
voidPRINT();
//打印模块
voidREAD();
//文件读取模块
voidWRONG();
//纠错模块
#defineN1000//最大列车组数
#definePrint"
%s%13s%10s%10s%12s%15s%11s\n"
T[i].code,T[i].data,T[i].lp,T[i].ap,T[i].lt,T[i].at,T[i].price//输出记录格式
#defineWrong"
\n!
!
输入错误,请重新输入!
\n"
#defineGeShi"
车次日期起点终点开车时间到达时间票价\n"
structTrain
{
charcode[10];
//车次
chardata[10];
//日期
charlp[10];
//leftplace起点
charap[10];
//arriveplace终点
charlt[10];
//lefttime开车时间
charat[10];
//arrivetime到达时间
charprice[10];
//票价
}T[N];
/*全局变量*/
inti=0;
//输入计数器
intn=0;
//合计计数器
charl[20];
//纠错空间
///////////////////////////////////////////////////////////////////////////////////////主函数
intmain()
intx;
do
{
x=MENU();
switch(x)
{
case1:
INPUT();
break;
case2:
SEARCH();
case3:
SELECT();
case4:
printf("
\n---------------------------------------"
);
\n正在退出,请按任意键退出"
\n\n"
\n---------------------------------------\n"
break;
default:
WRONG();
}
}while(x!
=4);
return0;
}
///////////////////////////////////////////////////////////////////////////////////////菜单模块
intMENU()
intchoice;
system("
cls"
printf("
\n----------------------------------------------\n"
----------------------------------------------\n"
------\n"
---欢迎进入火车票务管理系统---\n"
----------------------------------------------\n\n"
\n--------------请输入选项-------------\n"
1.录入火车时刻信息\n"
2.查询火车时刻信息\n"
3.统计火车车次\n"
4.退出\n"
-----------------------------------------\n"
请选择:
"
scanf("
%d"
&
choice);
gets(l);
returnchoice;
///////////////////////////////////////////////////////////////////////////////////////输入模块
voidINPUT()
charch;
{
system("
printf("
\n\n====================欢迎进入录入火车时刻信息界面====================\n"
do
\n新建列车信息?
(y/n)"
scanf("
%c"
ch);
gets(l);
if(ch!
='
y'
&
ch!
n'
)
WRONG();
}while(ch!
if(ch=='
---------------------"
\n录入第%d趟列车信息\n"
n+1);
车次"
gets(T[i].code);
日期"
gets(T[i].data);
起点"
gets(T[i].lp);
终点"
gets(T[i].ap);
开车时间"
gets(T[i].lt);
到达时间"
gets(T[i].at);
票价"
gets(T[i].price);
n++;
i++;
}while(i<
N);
WRITE();
\n"
--------------------------------\n"
系统记载的列车信息如下\n"
--------------------------------\n\n"
PRINT();
///////////////////////////////////////////////////////////////////////////////////////文件记录模块
voidWRITE()
{
FILE*fp,*fp1;
if((fp=fopen("
hchsk.txt"
"
w"
))==NULL)
无法创建文件!
\n\n"
getchar();
return;
}
if((fp1=fopen("
N.txt"
))==NULL)//用于记录共几趟车
}
for(i=0;
i<
n;
i++)
if(fwrite(&
T[i],sizeof(structTrain),1,fp)==0)
写入数据失败!
fprintf(fp1,"
n);
fclose(fp);
fclose(fp1);
}
///////////////////////////////////////////////////////////////////////////////////////文件读取模块
voidREAD()
r"
无法打开文件\n"
无法打开文件!
fscanf(fp1,"
n);
i++)
fread(&
T[i],sizeof(structTrain),1,fp);
///////////////////////////////////////////////////////////////////////////////////////打印模块
voidPRINT()
charch[10];
READ();
\n===========================================================================\n"
printf(GeShi);
i++)
printf(Print);
===========================================================================\n"
\n按任意键返回上级菜单:
gets(ch);
///////////////////////////////////////////////////////////////////////////////////////查询模块
voidSEARCH()
charname1[10];
//车次
charname2[10];
//终点
charname3[10];
//起点
charname41[10];
charname42[10];
//日期
charchoice;
intj;
intk;
\n\n====================欢迎进入查询火车时刻信息界面====================\n"
\n++++++++++++++++++请选择查找方式++++++++++++++++++\n\n"
----1.显示所有列车信息2.按车次查询3.按终点查询----\n"
-----4.按起点查询5.按终点和日期查询6.返回上级菜单----\n"
\n请选择:
scanf("
j);
gets(l);
switch(j)
PRINT();
\n---请输入车次---:
gets(name1);
\n---请输入终点---:
gets(name2);
\n---请输入起点---:
gets(name3);
case5:
gets(name41);
\n---请输入日期---:
gets(name42);
case6:
WRONG();
READ();
k=0;
if(j==2)
for(i=0;
{
if(strcmp(T[i].code,name1)==0)
{
printf("
\n按车次查找列车信息成功!
printf(GeShi);
break;
}
}
{
printf(Print);
k++;
\n-->
共查询到%d趟列车信息,请按任意键返回<
--"
k);
if(j==3)
if(strcmp(T[i].ap,name2)==0)
\n按终点查找列车信息成功!
if(j==4)
if(strcmp(T[i].lp,name3)==0)
\n按起点查找列车信息成功!
}
if(j==5)
if(strcmp(T[i].ap,name41)==0&
strcmp(T[i].data,name42)==0)
\n按终点和日期查找列车信息成功!
}
system("
\n\n-->
继续查找
(1),返回主菜单
(2)<
choice=getchar();
if(choice!
1'
choice!
2'
}while(choice!
}while(choice!
///////////////////////////////////////////////////////////////////////////////////////统计模块
voidSELECT()
intt,k;
\n\n====================欢迎进入统计火车车次界面====================\n"
\n-|--|--|--|-请选择统计方式-|--|--|--|-\n\n"
1.按终点统计每日的车次数\n"
2.按起点统计每日的车次数\n"
t);
switch(t)
请输入终点:
请输入起点:
WRONG();
if(t==1)
k=0;
if(strcmp(T[i].lp,name1)==0)
\n按终点统计列车信息成功!
if(t==2)
if(strcmp(T[i].lp,name2)==0)
\n按起点统计列车信息成功!
继续统计
(1),返回主菜单
(2)<
///////////////////////////////////////////////////////////////////////////////////////纠错模块
voidWRONG()
\n\n--->
输入错误,请按任意键返回!
<
---"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 火车票 管理 系统