数据结构报告 车票管理系统
时间:2025-04-20
时间:2025-04-20
数据结构报告 车票管理系统
数 据 结 构
课程设计报告
设计题目:
院 系: 专业班级: 姓 名: 学 号: 指导教师:
年 月 日
数据结构报告 车票管理系统
目 录
一.设计内容 .............................................................................................................. 1 1.1车票管理系统需求分析 .................................................................................. 1 1.2设计环境 .......................................................................................................... 1 1.3研究思路与结构图 .......................................................................................... 1
二. 程序设计与源代码 ............................................................................................ 3
三. 系统测试与截图 ................................................................................................ 9 3.1主界面/主菜单 ................................................................................................. 9 3.2插入/订票功能 ............................................................................................... 10 3.3查找/查票功能 ............................................................................................... 10 3.4删除/退票功能 ............................................................................................... 10
四.小结 .................................................................................................................... 10
五.附 录(手工题) ...............................................................................................11
数据结构报告 车票管理系统
一.设计内容
1.1车票管理系统需求分析
该程序实现菜单化、可视化、界面良好的输入和输出效果,各部分之间用模块连接。第一部分模块实现插入(即订票)功能,用户可根据提示按要求(车次、姓名、时间)输入。第二部分模块是查询班次信息功能,可按照3种方式查找。第三部分模块是退票功能。第四部分浏览(遍历)功能。第五部分模块是退出系统功能。
1.2设计环境
操 作 系 统:Windows XP
集成开发环境:Microsoft Visual C++
1.3研究思路与结构图
数据结构报告 车票管理系统
浏览班次信息
查询班次信息
订购车票
查询方法选择
订票选择 订票选择
查询
订票结束 订票结束
主菜单
结 束
2
数据结构报告 车票管理系统
二. 程序设计与源代码
#include<stdio.h> #include<string.h> #include<stdlib.h>
typedef struct lnode {
char name[12]; char time[20]; struct lnode *next; }LNode,*linklist;
typedef struct tnode {
char tic[4];
struct tnode *lchild,*rchild; linklist head; }TNode,*bitree;
//-----------------------------功能1 插入,订票----------------------------- void insert(bitree &T,char tic[],char name[],char time[]) {
bitree p,f; linklist q; p=T; f=NULL;
while(p&&strcmp(p->tic,tic)!=0) { f=p; if(strcmp(tic,p->tic)<0) p=p->lchild; else p=p->rchild; }
if(p){q=(linklist)malloc(sizeof(LNode)); strcpy(q->name,name); strcpy(q->time,time); ->next=p->head;p->head=q; }
else { p=(bitree)malloc(sizeof(TNode)); strcpy(p->tic,tic); p->lchild=p->rchild=NULL; p->head=NULL; q=(linklist)malloc(sizeof(LNode));
//查找插入点
数据结构报告 车票管理系统
strcpy(q->name,name); strcpy(q->time,time); q->next = NULL; p->head = q; if(!T) T=p; else if(strcmp(tic,f->tic)<0) f->lchild=p; else f->rchild=p; } }
//-----------------------------功能2 查询功能----------------------------- void outForSearch(bitree T, char name[12],char time[20]) {
linklist p;
//printf("%s",T->tic); printf("("); p=T->head; while(p) { if(strcmp(name,"-1")!=0 && strcmp(time,"-1")==0 ) { if (strcmp(name,p->name)==0) { printf(" %8s | %8s | %8s \n",T->tic,p->name,p->time); } } else if (strcmp(name,"-1")==0 && strcmp(time,"-1")!=0 ) { if (strcmp(time,p->time)==0) { printf(" %8s | %8s | %8s \n",T->tic,p->name,p->time); } } p=p->next; } //printf(")"); //printf("\n"); }
void preorderForSearch(bitree T , char name[12],char time[20]) { if(T) { outForSearch(T , name , time); preorderForSearch(T->lchild, name ,time);
数据结构报告 车票管理系统
preorderForSearch(T->rchild, name, time); } }
void search(bitree &T) { bitree p = T ; linklist l; int s_choice; char(c); char tic[4],name[6],time[20]; printf("1.按车次查询\n"); printf("2.按姓名查询\n"); printf("3.按时间查询\n"); while ( (c=getchar()) != '\n' && c != EOF ); scanf("%d",&s_choice); if(s_choice==1) { p = T; printf("请输入车次:"); while ( (c=getchar()) != '\n' && c != EOF ); scanf("%s",tic); while(p&&strcmp(p->tic,tic)!=0) //查找点 { if(strcmp(tic,p->tic)<0) p=p->lchild; else p=p->rchild; } if (!p) { printf("未找到"); } else { l = p->head; …… 此处隐藏:5263字,全部文档内容请下载后查看。喜欢就下载吧 ……