火车票管理程序.docx

上传人:b****7 文档编号:11017277 上传时间:2023-02-24 格式:DOCX 页数:29 大小:847.83KB
下载 相关 举报
火车票管理程序.docx_第1页
第1页 / 共29页
火车票管理程序.docx_第2页
第2页 / 共29页
火车票管理程序.docx_第3页
第3页 / 共29页
火车票管理程序.docx_第4页
第4页 / 共29页
火车票管理程序.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

火车票管理程序.docx

《火车票管理程序.docx》由会员分享,可在线阅读,更多相关《火车票管理程序.docx(29页珍藏版)》请在冰豆网上搜索。

火车票管理程序.docx

火车票管理程序

《C语言程序设计》

 

题目火车票管理程序

 

一、内容

火车票管理程序

本系统主要实现功能:

根据不同要求进行火车票信息的查询,其中包括火车票有效日期,车次,起始时间和地点,到达时间和地点以及火车票价。

使用方法:

根据界面提示进行。

先录入火车票信息并存入到文件中。

再根据提示,输入数字,选择查询的方法,根据不同的查询方法输入要求输入的数据进行信息查询。

如果输入数字不符合要求,则重新输入。

可使用通过车次,日期和终点,始点,终点进行查询。

二、上机环境

操作系统:

WindowsXP

开发工具:

VC6.0

三、函数调用关系图

 

四、各函数功能说明

1.intmain()主函数

2.voidSearchTrainNum()按照车次号查询

3.voidSearchTrainToPlace()按照火车终点站查询

4.voidSearchTrainFromPlace()按照火车出发点查询

5.voidSearchToPlaceAndDate()按照火车到达时间和地点进行查询

6.fwrite()将火车票信息输入文件中

7.fopen()将存有火车信息的文件打开

8.fclose()将已经打开的文件关闭

9.Heng()在文字中输入一些"=",起分隔作用

五、算法描述或流程图

1、main函数流程图

2.SearchTrainNum()函数的流程图

 

3.SearchTrainToPlace()函数的流程图

4.SearchTrainFromPlace()函数的流程图

5.SearchToPlaceAndDate()函数的流程图

6.Heng()函数的算法:

1.输入“=”;

2.通过for循环语句控制输出的“=”个数,共20个。

7.fwrite()函数的算法:

从结构体中取出一个数据块;

按照提示进行输入信息,并将信息存放到文件中;

8.fopen()函数的算法:

将已经存储的文件打开;

9.fclose()函数的算法:

将已经打开的文件关闭;

六、程序运行结果

1.主菜单及信息输入

.

1.按车次查询

3.按终点查询

4.按起点查询

5.按日期和终点查询

6.退出系统

 

七、总结

1.对界面的要求应该尽量人性化,做到以让用户看懂为原则。

2.对于文件的使用,要分清wb,r,r+,ab,ab+,w,rb等的区别,为信息的存储做好充分准备,否则有可能会使刚输入的信息被抹掉覆盖。

3.遇到问题应尽快解决,否则会越积越多。

不懂得要不断追问,真正搞懂问题的本质。

为什么?

应该成为你的口头禅。

不要认为别人比你学得好,你不好意思问。

其实询问的过程也是互相学习的过程。

所以,不耻下问不是一句空话。

要经常和程序做的不错的同学学习,进行学术交流。

计算机专业是一个很枯燥的专业,但即来之、则安之,只要你努力学,也会发现其中的乐趣的。

4.勇于实践,有些东西在课本上的并不能很好的被接受,反而在实践中如果遇到了并出错了,将会给你带来意想不到的收获。

所以,不要怕犯错,犯错的过程就是学习和改进的过程。

5.在使用循环语句时,一定要注意观察循环语句到达的判断语句的范围,并且分清是那些语句被包含在循环语句中,这样可以使使用界面

变得更加简便和方便。

从现在开始,在写程序时就要养成良好的习惯。

不要漏掉书中任何一个练习题,全部做完并记录下解题思路。

买几本参考书,把书上的程序例子亲手输入到电脑上实践,只有亲自输入程序才会留下印象然后发现解决问题。

6.对事不对人就事论事,明智、真诚、虚心地讨论问题,提出创新方案。

7.编程过程中要把不懂得和易犯错的地方,顺手写在语句后,用标识符括起来,有利于以后分析和观看程序。

8.对于一些较大的程序,最好把它分成几个程序块进行编写,这样才会提高效率,并且不容易混乱。

9.要站在用户的角度思考问题,尽量保证满足每个不同用户对此类程序的需求。

10.当一个程序编完并且运行成功时,不要忘记完善,把程序把给别人看看,让他们发现你没有发现的问题,毕竟自己的思维会产生定式。

这里,就体现了团结协作的作用,几个人如果都能做到这点,那么,就相当于改了几个不同的程序,那么收获不止一点了。

程序在调试的时候出了很多问题,让我认识到了自己对一些基本知识理解的不足。

不过经过不懈的努力,加上老师的耐心指点和同学们的帮助,我在规定时间内完成了本次程序设计。

虽然在运行过程中遇到了“火车车次能不能一样”的问题,但是最终想明白了。

不过由于课程设计的时间较短,还有很多我想要加入的函数功能没有加入,所以程序功能也不是很完备,如果有时间我相信能做的更好!

八、参考文献

[1]李春葆.C语言程序设计课程(第二版).清华大学出版社,2011

 

九、程序清单

#include

#include

#include

#include

voidSearchTrainNum();

voidSearchTrainToPlace();

voidSearchTrainFromPlace();

voidSearchToPlaceAndDate();

voidHeng();

structTRAIN

{

chartrainNum[10];

chardate[30];

charfromPlace[30];

chartoPlace[30];

charfromTime[30];

chartoTime[30];

doubleprice;

};

structTRAINtrain[100];

intmain()

{

system("color3f");

printf("|=--------火车票管理系统--------=|\n");

printf("||\n");

printf("|1.按车次查询|\n");

printf("|2.按终点查询|\n");

printf("|3.按起点查询|\n");

printf("|4.按终点和日期查询|\n");

printf("||\n");

printf("|-----------------网络112班------|\n");

printf("

 

|------------------李硕----------|\n");

printf("|=---------------201107144------=|\n");

intrequest;

charch='Y';

inti=0;

doublemyprice;

FILE*fp;

loop:

Heng();

printf("火车票管理系统界面\n");

printf("1.录入火车时刻信息\n");

printf("2.查询火车时刻信息\n");

printf("3.退出\n");

Heng();

printf("\n");

printf("请输入1~3之间的任意数字:

");

scanf("%d",&request);

switch(request)

{

case1:

{

fp=fopen("c:

\\train.rec","wb");

if(fp==NULL)

{

printf("train.rec文件不能打开\n");

exit

(1);

}

while(ch!

='N')

{

printf("Enter车次日期起点终点");

printf("开车时间到达时间票价\n*****");

scanf("%s%s",train[i].trainNum,train[i].date);

scanf("%s%s",train[i].fromPlace,train[i].toPlace);

scanf("%s%s%lf",train[i].fromTime,train[i].toTime,&myprice);

train[i].price=myprice;

fwrite(&train[i],sizeof(structTRAIN),1,fp);

i++;

printf("continue(Y/N)(Ntoend)?

");

getchar();

scanf("%c",&ch);

}

fclose(fp);

printf("返回主界面吗?

(Y返回)");

getchar();

scanf("%c",&ch);

if(ch=='Y')

{

printf("\n\n\n");

gotoloop;

}

}break;

 

case2:

{

printf("\n\n\n");

printf("*****火车票时刻信息查询*****\n");

printf("1.按车次查询\n");

printf("2.按终点查询\n");

printf("3.按起点查询\n");

printf("4.按终点和日期查询\n");

printf("5.退出\n");

printf("请输入:

");

scanf("%d",&request);

switch(request)

{

case1:

SearchTrainNum();

break;

case2:

SearchTrainToPlace();

break;

case3:

SearchTrainFromPlace();

break;

case4:

SearchToPlaceAndDate();

break;

case5:

exit(0);

break;

}

printf("返回主界面吗?

(Y返回)");

getchar();

scanf("%c",&ch);

if(ch=='Y')

{

printf("\n\n\n");

gotoloop;

}

}break;

case3:

{

Heng();

printf("欢迎下次使用!

\n");

Heng();

}

exit(0);

break;

default:

printf("您输入的数字不符合要求");

printf("请再次输入一个1~3之间的数字\n");

break;

}

return0;

}

//***************************************************************************

voidSearchTrainNum()

{

FILE*fp1;

charnum[20];

charch;

inti=0;

fp1=fopen("c:

\\train.rec","r+");

if(fp1==NULL)

{

printf("train.rec文件不能打开\n");

exit

(1);

}

do

{

rewind(fp1);

printf("输入你要查找的车次号:

\n*****");

scanf("%s",num);

while(!

feof(fp1))

{

fread(&train[i],sizeof(structTRAIN),1,fp1);

if(strcmp(num,train[i].trainNum)==0)

{

printf("Enter车次日期起点终点");

printf("开车时间到达时间票价\n*****");

printf("%-5s%-8s",train[i].trainNum,train[i].date);

printf("%-6s%-6s",train[i].fromPlace,train[i].toPlace);

printf("%-10s%-10s",train[i].fromTime,train[i].toTime);

printf("%.2lf",train[i].price);

printf("\n");

}

i++;

}

printf("continue(Y/N)(Ntoend)?

");

getchar();

scanf("%c",&ch);

}while(ch!

='N');

printf("\n");

fclose(fp1);

}

//****************************************************************************

voidSearchTrainToPlace()

{

FILE*fp2;

charnum[20];

charch;

inti=0;

fp2=fopen("c:

\\train.rec","r+");

if(fp2==NULL)

{

printf("train.rec不能被打开\n");

exit

(1);

}

do

{

rewind(fp2);

printf("输入你要查询的终点:

\n*****");

scanf("%s",num);

while(!

feof(fp2))

{

fread(&train[i],sizeof(structTRAIN),1,fp2);

if(strcmp(num,train[i].toPlace)==0)

{

printf("Enter车次日期起点终点");

printf("开车时间到达时间票价\n*****");

printf("%-5s%-8s",train[i].trainNum,train[i].date);

printf("%-6s%-6s",train[i].fromPlace,train[i].toPlace);

printf("%-10s%-10s",train[i].fromTime,train[i].toTime);

printf("%.2lf",train[i].price);

printf("\n");

}

i++;

}

printf("continue(Y/N)(Ntoend)?

");

getchar();

scanf("%c",&ch);

}while(ch!

='N');

printf("\n");

fclose(fp2);

}

//**********************************************************************

 

voidSearchTrainFromPlace()

{

FILE*fp3;

charnum[20];

charch;

inti=0;

fp3=fopen("c:

\\train.rec","r+");

if(fp3==NULL)

{

printf("train.rec不能被打开\n");

exit

(1);

}

do

{

rewind(fp3);

printf("输入你要查询的起点:

\n*****");

scanf("%s",num);

while(!

feof(fp3))

{

fread(&train[i],sizeof(structTRAIN),1,fp3);

if(strcmp(num,train[i].fromPlace)==0)

{

printf("Enter车次日期起点终点");

printf("开车时间到达时间票价\n*****");

printf("%-5s%-8s",train[i].trainNum,train[i].date);

printf("%-6s%-6s",train[i].fromPlace,train[i].toPlace);

printf("%-10s%-10s",train[i].fromTime,train[i].toTime);

printf("%.2lf",train[i].price);

printf("\n");

}

i++;

}

printf("continue(Y/N)(Ntoend)?

");

getchar();

scanf("%c",&ch);

}while(ch!

='N');

printf("\n");

fclose(fp3);

}

//***********************************************************************

voidSearchToPlaceAndDate()

{

FILE*fp4;

charnum[20];

charnumb[20];

charch;

inti=0;

fp4=fopen("c:

\\train.rec","r+");

if(fp4==NULL)

{

printf("train.rec不能被打开\n");

exit

(1);

}

do

{

rewind(fp4);

printf("输入你要查询的终点与日期:

\n*****");

scanf("%s",num);

scanf("%s",numb);

while(!

feof(fp4))

{

fread(&train[i],sizeof(structTRAIN),1,fp4);

if((strcmp(num,train[i].toPlace)==0)&&(strcmp(numb,train[i].date)==0))

{

printf("Enter车次日期起点终点");

printf("开车时间到达时间票价\n*****");

 

printf("%-5s%-8s",train[i].trainNum,train[i].date);

printf("%-6s%-6s",train[i].fromPlace,train[i].toPlace);

printf("%-10s%-10s",train[i].fromTime,train[i].toTime);

printf("%.2lf",train[i].price);

printf("\n");

}

i++;

}

printf("continue(Y/N)(Ntoend)?

");

getchar();

scanf("%c",&ch);

}while(ch!

='N');

printf("\n");

fclose(fp4);

}

voidHeng()

{

inti;

for(i=0;i<20;i++)

{

printf("=");

}

}

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

当前位置:首页 > PPT模板 > 其它模板

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

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