


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计课程:数据结构专业班级:xx 软件工程 xx 班姓名: xx学号: xxx姓名: xxx学号: xxx设计时间: xxx指导老师: xxx课程设计题:飞机订票系统一、 设计目的1 掌握结构体数组的表示和存储。2. 掌握链表的存储和操作。3 掌握文件的操作。二、设计内容和要求1. 任务:通过此系统可以实现如下功能:录入: 可以录入航班情况(数据可以存储在一个数据文件中,数 据结构、具体数据自定)查询: 可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否 满仓);可以输入起飞抵达城市,查询飞机航班情况;订票: 订票情况可以存在一个数据文件中
2、,结构自己设定。可以订票,如果该航班已经无票,可以提供相关可选择航班;退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要 有编号。修改航班信息: 当航班信息改变可以修改航班数据文件。要求: 根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能 设计思想:管理操作系统,主要考虑的是信息的录入,这里利用文件的读写完成该 功能;输出,查询以及删除,利用结构数组存储航班与客户信息,依次 对订票,退票,查询及相关操作编写成子程序,然后再主程序中调用, 这样程序看起来相当简练,而且易读懂;算法设计分析:(次系统运行环境为 VC6.0)1.txtbeij
3、ing shanghai 1 1 12 0 1 1 18 06 100 2shanghai wuhang 2 2 12 0 2 2 14 02 110 1wuhang chibi 3 3 13 0 3 3 14 01 50 2(此文件是程序执行航班信息录入时自动生成,在信息读取时需要调 用)首先是航班于客户信息的存储,结构数组的利用很好的解决该问题; 其次是文件的操作,在主函数中利用文件的读与写;下面介绍订票退票以及查询操作的实现。1 订票:首先输入出发地与目的地,查找是否有相应的航班信息,在航 2班票数足够的情况下,录入客户信息,提示操作成功;否则失败。3 退票:输入退票客户的姓名与身份号码
4、,查找到该客户信息后进行退 票操作,完成后对应航班票数加1;若没有该客户信息,提示查无此人。查询:输入客户姓名与身份号码,若查到有该客户信息,显示该客户的 航班情况;否则提示差无此人。/ 飞机定票管理系统#include<stdio.h>#include<windows.h>#define N 10struct flightchar start10;/ 出发地int s_month;/ 出发时间月份 ,天,小时 ,分钟 int s_day;int s_hour;int s_minute;int d_month;/ 到达时间月份 , 天,小时 ,分钟int d_day;i
5、nt d_hour;int d_minute;int coast_t;/ 历时多久int coast_m;/ 票价int num;/ 剩余票数/int bianhao;/ 机票编号airN;/ 结构体数组存储航班信息/ 客户信息struct conint number;/ 定票者的证件号码char start10;/ 出发地char end10;/ 目的地int s_month;/ 出发时间月份 ,天,小时 ,分钟int s_day;int s_hour;int s_minute;int d_month;/ 到达时间月份 , 天,小时 ,分钟int d_day;int d_hour;int d
6、_minute;int coast_t;/ 历时多久int coast_m;/ 票价/ int bianhao;/ 机票编号people100;/ 定票,输出发地与目的地 ,时间,反馈剩余票 ,票价book(int t)int i,month,day,p,q,k=0;/k 为判断输入的信息是否有误/ 输入查询的航班信息 ,以便搜索while(k=0)printf(" 请输入出发地 , 目的地 , 出发日期 :n");/*gets(start);gets(end); /* 这里输入时应注意用回车键 否则默认字符串存入 start*scanf("%d,%d"
7、,&month,&day);/*/scanf("%s,%s,%d,%d",start,end,&month,&day);/ getchar();printf("%s,%s,%d,%d",start,end,month,day);/ 扫描信息 ,搜索与所查询的航班匹配信息for(i=0;i<N;i+)p=strcmp(start,airi.start);q=strcmp(end,airi.end);if(p=0&&q=0&&month=airi.s_month&&day=
8、airi.s_day)k=1;/ 信息输入无误 ,即找到匹配信息为 dn",airi.start,airi.e nd,airi.s_mo nth,airi.s_day,airi.coast_m,airi. nu m);/ 更新信息 , 将客户信息存储if(airi.num=0)printf(" 票已售完 ,如有不便请谅解 !nnnn");elseairi.num=airi.num-1;printf(" 请输入您的证件号码与姓名 :n");scanf("%d,%s",&peoplet.number,peoplet.na
9、me); getchar();strcpy(peoplet.start,airi.start);strcpy(peoplet.end,airi.end);peoplet.s_month=airi.s_month;peoplet.s_day=airi.s_day;peoplet.s_hour=airi.s_hour;peoplet.s_minute=airi.s_minute;peoplet.d_month=airi.d_month;peoplet.d_day=airi.d_day;peoplet.d_hour=airi.d_hour;peoplet.d_minute=airi.d_minute
10、;peoplet.coast_t=airi.coast_t;peoplet.coast_m=airi.coast_m;printf(" 恭喜您定票成功 !nnnn"); t+;/ system("pause");if(k=0)printf(" 信息输入有误 n");printf(" 是否继续定票 ?0为继续 1为退出 n"); scanf("%d",&k);getchar();return t;/ 退票,并将客户信息栏中该客户信息清楚 ,所乘航班票数加 1 re_ti(int t)int
11、 i,j,nu_mber,k=0;/k 为判断是否查找到客户信息char na_me10;printf(" 请输入证件号码与客户姓名 :n");scanf("%d,%s",&nu_mber,na_me);getchar();for(i=0;i<100;i+)if(nu_mber=peoplei.number&&strcmp(na_me,)=0) k=1;/ 找到该客户信息/退票后 ,与该客户对应航班票数增 1for(j=0;j<N;j+)if(strcmp(peoplei.start,airj.
12、start)=0&&strcmp(peoplei.end,airj.end)=0&&peoplei.s_month=airj.s_month&&peoplei.s_day=airj.s_day)airj.num=airj.num+1;/ 将客户信息依次向前移动for(j=i;j<100;j+)/ printf(" 成功删除该客户信息 !n");peoplej.number=peoplej+1.number;strcpy(,peoplej+1.name);strcpy(peoplej.start,p
13、eoplej+1.start);strcpy(peoplej.end,peoplej+1.end);peoplej.s_month=peoplej+1.s_month;peoplej.s_day=peoplej+1.s_day;peoplej.s_hour=peoplej+1.s_hour;peoplej.s_minute=peoplej+1.s_minute;peoplej.d_month=peoplej+1.d_month;peoplej.d_day=peoplej+1.d_day;peoplej.d_hour=peoplej+1.d_hour;peoplej.d_minute=peopl
14、ej+1.d_minute;peoplej.coast_t=peoplej+1.coast_t;peoplej.coast_m=peoplej+1.coast_m;t=t-1;/ 删除该客户信息后 ,客户记录减去 1if(k=0)printf(" 查无此人 !n");printf("nnnn");return t;/ 查询信息,出入所要查询的顾客的航班信息,并给出错误处理check()int i,nu_mber,k=0;/k 为判断是否查找到客户信息char na_me10;printf(" 查询 :n");printf("
15、 请输入证件号码与客户姓名 :n");/ getch();/fflush(stdin);scanf("%d,%s",&nu_mber,na_me);for(i=0;i<100;i+)if(nu_mber=peoplei.number&&strcmp(na_me,)=0)k=1;printf(" 以下是该客户信息 :n");printf("证件号:d;姓名:s;出发地:s;目的地:s;出发时 间:%d月%d日%d时%d分n",peoplei.number,peoplei.n
16、ame,peoplei.start,peoplei.end,peoplei.s_month, peoplei.s_day,peoplei.s_hour,peoplei.s_minute);printf("nnnn");if(k=0)printf(" 查无此人 !nnnn");main()/ 使用文件初始化信息int s,p,q=0,i;/p,q 为循环判断变量int t=0;/*FILE *fp;char name="1.txt"if(!(fp=fopen("1.txt","w")printf(
17、"error!n");for(i=0;i<3;i+)fprintf(fp,"%15s%15s%4d%4d%4d%4d%4d%4d%4d%4d%4d%4d%4dn",airi.start,airi.end,airi.s_month,airi.s_day,airi.s_hour,airi.s_minute,airi.d_month,airi.d_day,airi.d_hour,airi.d_minute,airi.c oast_t,airi.coast_m,airi.num);fclose(fp);*/FILE *fp;char name="
18、1.txt"if(!(fp=fopen("1.txt","r")printf("error!n");for(i=0;i<3;i+)fscanf(fp,"%15s%15s%4d%4d%4d%4d%4d%4d%4d%4d%4d%4d%4dn",&airi.start,&airi.end,&airi.s_month,&airi.s_day,&airi.s_hour,&airi.s_minute,&airi.d_month,&airi.d_da
19、y,&airi.d_hour,&airi.d_minute,&airi.coast_t,&airi.coast_m,&airi.num);fclose(fp);/char name;/read conument while(q=0)printf(H*n);printf(" 请选择服务种类 :n1 为定票 ;2 为退票 ;3 查找信息 ;0 为退出 n");printf(H*n);scanf("%d",&s);getchar();switch(s)case 1:t=book(t);/ 订票操作break;case 2:t=re_ti(t);/ 退票操作break;case 3:check();/ 查找客户信息是否存在break;case 0:printf(" 航空集团祝福您旅途愉快 !");printf(" 您确定离开界面 ?1/0n");scanf("%d",&p);if(p=1)q=1;else q=0;躍簪芻鳖:;信;退出LiiXs发地丐的地岀发日期n I JI IbeijingshanghaiLi,b° ij inff, Shanghai,1 1由be i j inglJsTiansrhai时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国广电银川市2025秋招网申填写模板含开放题范文
- 雅安市中石化2025秋招面试半结构化模拟题及答案油品分析质检岗
- 鸡西市中石化2025秋招面试半结构化模拟题及答案安全环保与HSE岗
- 邢台市中石油2025秋招面试半结构化模拟题及答案安全环保与HSE岗
- 音乐老师招考试题及答案
- 中国移动通辽市2025秋招笔试行测题库及答案通信技术类
- 常州市中储粮2025秋招面试专业追问题库基建工程岗
- 永州市中储粮2025秋招面试典型题目及答案
- 2025年经典理论考试题及答案
- 中国移动郴州市2025秋招笔试行测题库及答案综合管理类
- 2025-2030中国豆奶行业营销动态及消费状况分析报告
- QGDW11703-2017电力视频监控设备技术规范
- 军工涉密项目管理制度
- 16949体系培训计划
- T/CAZG 003-2019亚洲象饲养管理技术规范
- 《智慧仓储管理》课程标准
- 火锅店股东协议合同协议
- 电梯曳引钢丝绳维护保养制度
- 沪教版(五四学制)(2024)六年级下册单词表+默写单
- 茶叶加工工(中级)模拟试题与答案
- 高考语文复习【高效课堂精研】打造议论文分论点+课件
评论
0/150
提交评论