C语言程序设计_火车订票系统程序设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计题目:火车订票系统设计
专业:电子信息工程
班级: 09级3班
姓名:
学号:
目录
一总体设计(包含几大功能模块) (1)
二详细设计(各功能模块的具体实现算法——流程图) (2)
三调试分析(包含各模块的测试用例,及测试结果) (3)
3.1源程序 (6)
3.2调试与测试 (31)
四总结 (33)
一总体设计(包含几大功能模块)
1.Insert a train information(插入火车信息)
2.inquire a train jinformation(查询火车信息)
3.Book a train ticket(订票)
4.Update the train information(更新火车信息)
5.Advice to you about the train (建议)
6.Save information to file(储存信息归档)
7.Quit the system(退出系统)
二、详细设计(各功能模块的具体实现算法——流程图)
2.1各函数的功能和实现
1.Insert a train information(插入火车信息):输入包括火车
班次,最终目地,始发站,火车到站时间,车票价格,
所定票号。可用函数void input来实现此操作
2.inquire a train jinformation(查询火车信息):没有任何记
录
3.Book a train ticket(订票):输入你想要去的城市
4.Update the train information(更新火车信息):可用void find()来实现
5.Advice to you about the train (关于火车对你的建议)
6.Save information to file(储存信息归档)
7.Quit the system(退出系统):可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。
流程图
详见A4纸上手绘
三调试分析(包含各模块的测试用例,及测试结果)
3.1源程序
#include
#include
#include
#include
int shoudsave=0 ;
int count1=0,count2=0,mark=0,mark1=0 ;
/*定义存储火车信息的结构体*/
struct train
{
char num[10];/*列车号*/
char city[10];/*目的城市*/
char takeoffTime[10];/*发车时间*/
char receiveTime[10];/*到达时间*/
int price;/*票价*/
int bookNum ;/*票数*/
};
/*订票人的信息*/
struct man
{
char num[10];/*ID*/
char name[10];/*姓名*/
int bookNum ;/*需求的票数*/ };
/*定义火车信息链表的结点结构*/ typedef struct node
{
struct train data ;
struct node * next ;
}Node,*Link ;
/*定义订票人链表的结点结构*/ typedef struct people
{
struct man data ;
struct people*next ;
}bookMan,*bookManLink ;
/* 初始界面*/
void printInterface()
{
puts("********************************************************"); puts("* Welcome to use the system of booking tickets *"); puts("********************************************************"); puts("* You can choose the operation: *"); puts("* 1:Insert a train information *"); puts("* 2:Inquire a train information *"); puts("* 3:Book a train ticket *"); puts("* 4:Update the train information *"); puts("* 5:Advice to you about the train *"); puts("* 6:save information to file *"); puts("* 7:quit the system *"); puts("********************************************************"); }
/*添加一个火车信息*/
void InsertTraininfo(Link linkhead)
{
struct node *p,*r,*s ;
char num[10];
r = linkhead ;
s = linkhead->next ;
while(r->next!=NULL)
r=r->next ;
while(1)
{
printf("please input the number of the train(0-return)"); scanf("%s",num);
if(strcmp(num,"0")==0)
break ;
/*判断是否已经存在*/
while(s)
{
if(strcmp(s->data.num,num)==0)
{
printf("the train '%s'has been born!\n",num);
return ;