火车票管理系统 地铁建设问题数据结构实验报告

阅读: 评论:0

计算机科学与技术学院课程设计成绩单
优秀:90分~100分良好:80分~89分中等:70~79分及格:60~69分不及格0分~59分
武汉科技大学计算机科学与技术学院制表
计算机科学与技术学院
蜈支洲岛是谁买下的课程设计报告
课程名称:数据结构
专业:计算机科学与技术班级:计0904班
学号:201113237022 姓名:谈腾
指导老师:赵红武
实验一:火车票务系统的设计与实现
一、需求分析
火车票务管理系统具有以下需求:
(1)列车信息录入:输入列车基本信息。
(2)列车信息删除:删除车次信息。(列车线路停运)
(3)列车信息修改:删除车次信息。(列车时间、票价等信息有变动)
(4)列车信息输出:根据格式对齐输出列车信息。
(5)列车信息查询:可根据车次号、始发站、终点站查询满足条件的列车信息。
(6)列车信息排序:可根据票价对列车信息进行排序并输出。
二、设计分析
火车票务系统根据需求分为界面和6个模块,分别为火车票信息显示模块、输入模块、修改模块、删除模块、查询模块、排序模块。
(1)界面
用户进入火车票务系统首页的界面,出现所有功能选项,可以根据序号进入各个功能模块进行操作。
(2)显示模块
每当需要显示所有车次信息的时候,调用该模块显示出所有车票的信息。
(3)输入模块
进入输入模块之后,系统依次要求输入火车票车次、发车地点、到达地点、票价、发车时间和到达时间信息,当输入完一趟车次的火车票信息后,系统提示是否继续,用户按y
继续,按n退出该模块,回到首页。
(4)修改模块
首先系统显示所有车次信息列表,用户根据需要修改的车次的序号,输入要修改的序号,系统进入修
改程序,依次重新输入车次信息即可。
(5)删除模块
进入修改模块之后,系统自动显示所有车次信息,用户输入需要删除的车次的序号,回车键系统提示是否删除,确认y后该条信息被删除。
(6)查询模块
查询模块提供三种查询方式,1.按终点站查询2.按票价查询3.按车次查询,用户选择序号进入各个子模块,然后再根据提示输入相关信息即可查询到车票信息,每个子模块都有退出功能,方便用户退出该模块系统。
(7)排序模块
系统默认根据票价的升序排列车票信息,用户进入该模块之后自动按排序方式显示出所
有车次车票信息。
三、编码调试
一、主要代码
(1)火车票数据结构
typedef struct ticket
{
char trainnumber[10]; //车次
char startstation[10]; //始发站
char destination[10]; //终点站
int price; //票价
char startime[10]; //发站时间
char endtime[10]; //到站时间
}elemtype;
typedef struct lnode //定义结点
{
elemtype data;
struct lnode *next;
}lnode,* linklist;
(2)显示模块
status dataout_L(linklist&L) //将现有的车票打印出来
{
香格里拉最佳旅游时间linklist p;
int i=1;
p=L->next;
printf("\n\t序号\t车次\t始发站\t终点站\t票价\t发站时间\t到站时间\n");
while(p)
{
printf("\n\t%ld\t%s\t%s\t%s\t%d\t%s\t\t%s\n",i,p-&ainnumber,p->data.startstation,p->d ata.destination,p->data.price,p->data.startime,p-&dtime);
p=p->next;
i++;
}
return 1;
}
(3)插入火车票信息模块,修改模块代码和它类似,首先要查询链表位置。
status createlist_L(linklist&L)
{
char c;int flag=1;
while(flag==1)
{
linklist p;
p=(linklist)malloc(sizeof(lnode));
printf("\n请输入该车票的车次:");
scanf("%s",p-&ainnumber);
printf("\n请输入该车票的始发站:");
scanf("%s",p->data.startstation);
printf("\n请输入该车票的终点站:");
scanf("%s",p->data.destination);
printf("\n请输入该车票的票价:");
怀柔景点排名
scanf("%d",&p->data.price);
printf("\n请输入该车票的发车时间:");
scanf("%s",&p->data.startime);
printf("\n请输入该车票的到站时间:");
scanf("%s",&p-&dtime);
成都特产
p->next=L->next;大理洱海旅游攻略
L->next=p;
printf("\n继续吗?(Y or N):");
scanf("%s",&c);
if(c=='Y'||c=='y')
{
flag=1;
}
else flag=0;
}
return 1;
}
(4)删除模块
status listdelete_L(linklist&L,int i)
{
成都到青城山最佳方案
linklist p,q;
int j=0;
p=L;
while(p->next&&j<i-1)
{
p=p->next;
++j;
}
q=p->next;
p->next=q->next;
free(q);

本文发布于:2023-06-14 20:30:48,感谢您对本站的认可!

本文链接:http://www.035400.com/whly/1/474366.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2024-2030 Comsenz Inc.Powered by © 文化旅游网 滇ICP备2022007236号-403 联系QQ:1103060800网站地图