C语言课程设计——航空售票系统范文

合集下载

c语言飞机订票系统设计

c语言飞机订票系统设计

课程设计说明书学院、系:专业:学生姓名:学号:设计题目:飞机订票系统设计起迄日期:指导教师:日期: 2017年5月12日1 设计目的(1)实现航班的设定、航班信息的浏览和航班的查询。

(2)实现乘客的飞机票的订购、退票以及所定票的查询。

2 任务概述本飞机共有80个坐位,分20排,每排4个位子。

编号为A,B,C,D。

如10D 表示 10排D座。

A和D靠窗,19到20排为吸烟区。

本系统可让乘客自己选座号和区域直到乘客满意为止,无法满足的话,只能改乘另一个航班。

定上票的乘客需给出姓名和身份证号,最后要打印出乘客清单。

3 模块划分图3-1 功能模块图4 主要函数说明及其N-S图(1)主菜单函数:功能的选择(2)航班设定函数:设定航班数量、航班的起始点、航班时间(3)航班浏览函数:按时间查找浏览、按降落地点查找(4)乘客订票函数:乘客姓名、身份证号以及所定航班的所有信息[1]、无烟区函数[2]、吸烟区函数(5)乘客退票函数:航班号、姓名和身份证号(6)乘客信息浏览:乘客姓名、身份证号、座位号和航班号(7)文件保存(8)文件载入(9)退出飞机订票系统N-S图1、航班设定图4-1 航班设定N-S图2、输入客户信息图4-2 输入客户信息N-S图3、浏览航班信息图4-3 浏览航班信息N-S图4、乘客订票图4-4 乘客订票N-S图5、乘客退票图4-5 乘客退票N-S 图5 程序运行数据及其结果图5-1 主菜单图5-2 航班设定图5-3 航班浏览图5-4 机票订购图5-5 乘客退票图5-6 售票信息浏览6 课程设计心得通过这次C语言的课程设计,首先让我回忆和重新巩固C语言方面的知识,其次让我明白了做任何事情不可能一次性成功,只有不断地练习,不断地改正、思考才能做出自己的东西。

这次的实验也是很好磨炼我们意志的机会,因为数个小时都待在机房,让我们提前体验自己专业的工作方式。

C语言是我们学习的一种基本语言,无论是在以后的学习还是工作中都有非常重要的作用和不可替代的作用。

C语言数据结构课程设计航空订票实验报告(含源代码)

C语言数据结构课程设计航空订票实验报告(含源代码)

一、设计要求任务通过此系统可以实现如下功能:1.录入航班信息:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据定)2.查询航班:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,确定航班是否满仓);3.订票:(订票情况可以存在一个数据文件中,结构自己设定);4.退票:可退票,退票后修改相关数据文件;5.修改航班信息6.退出程序客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。

修改航班信息:当航班信息改变可以修改航班数据文件要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;二、设计概要主界面选择操作项目1.录入航班信息通过单链表这种数据结构,设置了剩余票数,航班号,出发地点,到达地点,起飞日期,出发时间,到达时间,票价。

2.订票输入旅客的姓名,证件号,航班号,和订票张数。

程序中自动查询输入要定的航班号,如果没有则叫其重新输入,有则执行:票数足够则订票成功,票数不充足叫其选择其它航班。

此也采用单链表的数据结构。

3.退票要旅客输入订单号,查询航班号,没有此航班号则叫旅客核对。

有则执行:1)查询旅客的航班2)修改航班的剩余票数。

3)删除旅客订票信息。

4)退票成功,显示剩余票数。

4.查询输入航班号,有与之匹配的航班则输出之,没有则说没有此航班5.修改航班信息查询到要修改的航班,然后直接进行修改6.退出程序三、设计中主要用到的结构体typedef struct P//旅客机票信息{char name[10];//姓名int ordernum;//机票编号char num[10];//旅客证件号struct P *next;int ticketnum;//订票张数int flightn;//航班号}person;typedef struct node//航班信息{ int ticket;//剩余票数int flightnum;//航班号char startadd[20];//出发地点char arriveadd[20];//到达地点char startdate[20];//出发日期char starttime[10];//出发时间char arrivetime[10];//到达时间int price;//票价struct node *next;}LinkList;四、主要函数void dingpiao(LinkList *&L,person *&p)//订票函数void write(LinkList *&L)//航班信息录入函数void showF(LinkList *fn)//展示航班信息的函数void showT(LinkList *L1,person *p1)//展示机票信息的函数void tuipiao(LinkList *&L,person *p)//退票函数void xiugai(LinkList *&L)//修改航班信息的函数void scr()//主界面函数void chaxun(LinkList *&L)//查询函数int main()//主函数,定义为int型五、变量说明1.在主函数中LinkList *h 表示航班节点person *p 表示机票信息节点2.在其他函数中一般也用 r,p,f等表示链表指针i j m等表示int变量六、演示截图1.航班信息录入2.订票3.退票4.查询5.修改航班信息6.主界面、七、实验心得体会1.巩固和加深了对数据结果的理解,提高综合运用本课程所学知识的能力2.培养了我选用参考书,查阅手册及及文献资料的能力。

C语言课程设计报告飞机订票系统

C语言课程设计报告飞机订票系统

C语言课程设计报告飞机订票系统摘要本文是关于C语言课程设计报告飞机订票系统,它具有灵活的菜单,可以让用户轻松查看有关航班信息的详细信息,并用于购买操作。

本文旨在概述程序的全部运行流程,运用相关编程技术来实现订票系统。

关键词:C 语言课程设计,飞机订票系统,编程技术1 引言随着科技的不断发展,传统的人工订票系统已经不能满足人们的复杂需求,订票系统需要采用新技术来改进,以适应现代用户的需求。

为了建立一个高效的订票系统,我们开发了一个飞机订票系统。

它具有基于菜单式界面的灵活性,可以有效地实现飞机航班信息的查询,购票和航班信息的管理。

本报告着重介绍了构筑飞机订票系统的过程,旨在介绍编程技术以及每个模块的函数、功能实现,并概述程序的全部运行流程。

2 技术框架编写本程序的主要语言是C,采用层次功能模块结构设计,分为用户界面,数据管理,查询服务,支付服务和关系维护四个主要模块。

(1)用户界面用户界面模块主要实现功能是提供用户访问的菜单界面,用户可以在输入信息后,访问系统并根据输入信息获取反馈,进行下一步操作。

(2)数据管理数据管理包含数据结构和文件管理模块,它用来存储和管理航班信息、乘客信息等有关数据,数据在使用后可以及时写入文件。

(3)查询服务查询服务模块提供用户查询航班信息所必需的功能,根据用户输入的查询条件,提供精确的查询结果。

(4)支付服务支付服务模块用来实现订票系统和外围支付系统或服务的接口,以进行订票支付操作,以保证系统订票的安全性。

(5)关系维护关系维护模块主要负责订票系统的关系维护,保证数据的一致性,以及相联的航班和乘客信息之间的一致性。

3 设计实现(1)用户界面模块用户界面模块主要是用户与系统的交互界面,用C语言的标准输入输出实现,通过“while-switch”语句实现对不同功能的跳转。

(2)数据管理模块数据管理模块采用数组和二维字符串实现,能够有效地存储和进行订票,查询,修改和删除数据。

(完整word版)C语言课程设计——航空售票系统范文

(完整word版)C语言课程设计——航空售票系统范文

本模板是课程设计报告模板,请各位同学认真阅读以下要求:1.页删除)2.3.本设计报告左侧装订。

在虚线处装订.4.在课程设计封皮一页上用已经设置好的宋体四号来填写各个项目.5.在课程设计评定表一页上用宋体小四填写班级、学号、姓名、项目组、项目组长、项目组组员、本人工作简介。

组长评语一栏应由组长来给出。

6.在课程设计任务书一页的开头应按照给定的设置(黑体三号)填写好你的班级,在第五项时间安排里面应用宋体五号加粗来填写好日期范围。

7.从程序基本框架结构图开始到设计报告的最后一页都要求有页眉,内容为你的课程设计题目,宋体小五居中。

页脚中的页码已经设置好,同学们不必改动.8.在程序基本框架结构图采用WORD中的自选图形绘制程序基本框架结构图,也就是程序流程图。

9.在程序设计说明书中应该描述程序的设计思想,重点描述自己做的那部分的设计思想。

字体用宋体小四。

10.在代码清单中打印程序已经调试好的可运行的程序代码。

要求字体为宋体五号。

(页数可增加)11.报告的最后一部分是设计总结,应在程序代码之后另起一页,主要写通过一周课程设计你自己的体会,包括你学到了什么,哪里遇到了困难解决的办法以及今后的目标。

字体用宋体小四。

12.报告的各个部分都可以不为规定的一页,自己可增加页数,但要保证开始另外一项要另起一页。

13. 服务课程名称:本科添写:C语言;/专科添写:计算机语言(c)14. 报告完成后,要更新目录.方法为:单击目录左侧,选定整个目录后,按F9键更新目录。

课 程 设 计目录C 语言课程设计成绩评定表 .............................C 语言课程设计任务书 ....................................程序设计思路 ..................程序基本框架结构图 .................... 错误!未定义书签。

系统运行界面截图 ....................... 错误!未定义书签。

C++课程设计—航空售票管理系统

C++课程设计—航空售票管理系统

内蒙古科技大学本科生《C++程序设计》课程设计说明书题目:航空售票管理系统学生姓名:完美主义学号:XXXXXXXX专业:计算科学与技术班级:计2010-1班指导教师:XXX【摘要】随着科技的发展和人们生活水平的日益提高,人们在不断追求更加快捷的交通方式以满足人们快节奏的生活方式,航空系统在交通系统中已扮演着一个越来越重要的角色。

然而,交通的快捷离不开信息的快捷。

随着随着计算机的发展和普及,人们的生活方式发生了巨大的改变,计算机在代替和延伸脑力劳动方面发挥着越来越重要的作用。

在交通系统中,有大量的数据需要被处理,而这些工作有人来完成几乎是不可能的,而交给计算机处理,就可以很好地满足我们的需求。

航空售票管理系统可以根据乘客和管理人员的要求,进行方便快速的查询、购票、退票和管理等工作。

本文介绍了简易航空售票管理系统的实现过程。

【关键词】航空售票管理系统动态数组类和对象文件操作运算符重载多文件结构成绩评定标准课程设计的验收答辩采取“讲解程序+提问+即时编程”的方式。

目录第一章问题描述 (1)第二章问题分析 (2)2.1 阐述你对问题的理解、解决问题的方案说明 (2)2.2 系统功能模块的划分 (2)第三章数据模型 (4)3.1 相关数据结构的说明 (4)3.2 类的设计 (4)3.3 程序结构说明,即程序各个部分之间如何协调来完成任务 (5)3.4 全局变量,重要形式参数、局部变量等等,它们的命名及用途解释 (6)第四章算法描述 (7)4.1 解题算法的设计思路介绍 (7)4.2 画出程序流程图 (7)第五章设计总结 (13)附录 (14)参考文献 (33)………………………………………………………………………………………………………………………………………………………………………1.1该航空售票管理系统必须用C++语言进行设计,要能体现C++语言的特性。

1.2该系统至少要能提供下列服务:(1)录入航班信息,格式为:可不定时地增加航班数据。

c语言飞机订票系统设计

c语言飞机订票系统设计

C语言飞机订票系统设计摘要飞机订票系统已经成为了现代交通运输中的重要组成部分。

本文将介绍一种基于C语言的飞机订票系统的设计,包括该系统的功能特点、设计思路、实现细节和未来可扩展性。

功能特点该飞机订票系统包含以下功能特点:1.浏览航班信息:用户可以查看所有航班信息,包括起飞时间、起降地点、机型以及票价等。

2.登录账户:用户需要登录才能进行购票,系统保存用户的个人信息以供后续使用。

3.购票:用户可以选择不同的航班进行购票,购票之后系统会自动扣除用户的账户余额,并发送购票信息给乘务员。

4.退票:用户可以在一定时间内取消已购买的机票,并获得一定程度的退款。

5.修改个人信息:用户可以随时更新自己的个人信息,例如联系方式和地址等。

6.管理员权限:管理员可以更新航班信息,添加或删除航班以及查看所有用户的购票信息。

设计思路系统架构该系统采用传统的三层架构方式进行设计,包括数据访问层、业务逻辑层以及表示层。

其中:1.数据访问层:主要负责与数据库进行交互,包括添加航班、修改航班、查询航班、添加用户、修改用户信息等。

2.业务逻辑层:主要负责系统的业务逻辑处理,例如用户进行登陆、选择航班购票等。

3.表示层:用户可以通过控制台进行操作,管理员也可以通过控制台或者后台管理员管理航班信息和用户信息。

数据库设计该系统的数据库采用MySQL进行设计,包括以下表:1.航班信息表:包含航班号、起降地点、起飞时间、机型以及票价等信息。

2.用户信息表:包含用户ID、用户名、密码、账户余额、联系方式和地址等信息。

3.购票信息表:包含购买者ID,航班号、座位号以及购买时间等信息。

实现细节在实现该系统的过程中,你需要注意以下细节问题:1.输入验证:所有输入信息都需要进行验证,特别是登陆认证和支付验证。

2.防止SQL注入:为了防止SQL注入攻击,你需要使用参数化查询等技术。

3.消息通知:为了提供更好的用户体验,你需要增加相应的消息通知,例如购票成功或退票成功。

c语言程序设计飞机,C语言程序设计――飞机订票系统

c语言程序设计飞机,C语言程序设计――飞机订票系统

c语⾔程序设计飞机,C语⾔程序设计――飞机订票系统《C语⾔程序设计――飞机订票系统》由会员分享,可在线阅读,更多相关《C语⾔程序设计――飞机订票系统(7页珍藏版)》请在⼈⼈⽂库⽹上搜索。

1、C语⾔程序设计飞机订票系统代码如下:”#include stdio.h#include stdlib.h#include string.h#define LEN sizeof (struct plane)#define MAX 10;struct planechar destination12;char num10;char time12;int price;int amount;typedef struct plane PLANE;PLANE a100;void menu();void input();void search();void preserve();void planeadd()。

2、;void delplane();void main()system(cls);menu();void menu()char *menu = * 欢迎进⼊飞机订票系统*, a:输⼊航线 , b:查询航线 , c:退订票系统 , d:追加航线 , e:删除航线 , f: 退出 ,* ;int i;char NO;int quit = 0;dosystem(cls);for (i = 0; i9; i+)printf(n%s,menui);printf(n请输⼊服务代码a,b,c,d,e或fn);NO = getchar();switch (NO)casea: input(); break;ca。

3、seb: search(); break;casec: preserve(); break;cased: planeadd(); break;casee: delplane(); break;casef: quit = 1; break; while (!quit);void input()int i, n;FILE *fp;system(cls);if (fp = fopen(D:file, wb) = NULL)printf(error!n); exit(0);printf(n请输⼊航班总数n:);scanf(%d, &n);printf(n请按下⾯提⽰输⼊航班信息:起点站:沈阳);for。

大一C语言课程设计--飞机订票系统

大一C语言课程设计--飞机订票系统

⼤⼀C语⾔课程设计--飞机订票系统#include#include#includestruct airplane{int num;char begin[20];char end[20];char time[20];double fee;int count;}plane[2014];void home();void input();void del();void scan();void book();void change();void quit();void sou();void save();void read();void home(){int a,i,j;printf("\n\n *****************************欢迎进⼊飞机票务系统*****************************\n\n");printf("==========您好,现在要确认您的⾝份!票务⼈员请按 1 ,旅客请按 0 ===========");scanf("%d",&a);if(a==1)do{printf("\n\t\t^o^o^o^o^o^o^o^o^ 1.输⼊航班信息 ^o^o^o^o^o^o^o^o^\n");printf("\t\t^o^o^o^o^o^o^o^o^ 2.删除航班信息 ^o^o^o^o^o^o^o^o^\n");printf("\t\t^o^o^o^o^o^o^o^o^ 3.浏览航班信息 ^o^o^o^o^o^o^o^o^\n");printf("\t\t^o^o^o^o^o^o^o^o^ 0.退出 ^o^o^o^o^o^o^o^o^\n\n");printf("请在0~3之间选择您要进⾏的操作 ");scanf("%d",&i);if(i>=0&&i<=3)switch(i){case 0: break;case 1:input(); break;case 2: del(); break;case 3:scan(); break;}else{printf("\n输⼊错误!!\n\n\n");continue;}printf("\n\n **************************以⾼度负责的态度做好春运⼯作**************************\n\n");} while(i!=0);if(a==0)do{printf("\n\t\t<><><><><><><><><><> 1.订票 <><><><><><><><><><>\n");printf("\t\t<><><><><><><><><><> 2.改签 <><><><><><><><><><>\n");printf("\t\t<><><><><><><><><><> 3.退票 <><><><><><><><><><>\n");printf("\t\t<><><><><><><><><><> 4.浏览航班信息 <><><><><><>\n");printf("\t\t<><><><><><><><><><> 5.查询 <><><><><><><><><><>\n");printf("\t\t<><><><><><><><><><> 0.退出 <><><><><><><><><><>\n\n");printf("请在0~5之间选择您要进⾏的操作");scanf("%d\n\n",&j);if(j>=0&&j<=5)switch(j){case 0: break;case 1:book(); break;case 2:change(); break;case 3:quit(); break;case 4:scan(); break;}else{printf("\n输⼊错误!!\n\n\n");continue;}printf("\n\n *******************春节即将到来,提前祝您春节快乐,出⾏平安********************\n\n"); } while(j!=0);}void input() // 输⼊航班{char sysm[]="jim007";char youm[20];int i,m;printf("请输⼊密码: ");scanf("%s",youm);if(strcmp(sysm,youm)!=0){printf("输⼊密码错误!请确认您是否是票务⼈员,如不是,请按任意键返回菜单重新选择" ); getchar();getchar();home();}else{system("cls");printf("请问要输⼊⼏个航班信息: ");scanf("%d",&m);printf("\n\n******************************************************************\n\n");for(i=0;i{printf("请输⼊航班号:\n");scanf("%d",&plane[i].num);printf("请输⼊起飞地点:\n");scanf("%s",plane[i].begin);printf("请输⼊降落地点:\n");scanf("%s",plane[i].end);printf("请输⼊起飞时间:\n");scanf("%s",plane[i].time);printf("请输⼊票价:\n");scanf("%lf",&plane[i].fee);printf("请输⼊机票数:\n");scanf("%d",&plane[i].count);}getchar();home();}}void del() //删除模块{char be[20];char en[20];char sysm[]="jim007";char youm[20];int i,w,p,q,k=0;printf("请输⼊密码: ");scanf("%s",youm) ;if(strcmp(sysm,youm)!=0){printf("输⼊密码错误!请确认您是否是票务⼈员,如不是,请按任意键返回菜单重新选择" );getchar();getchar();home();}elseprintf("1.按航班号删除 \n");printf("2.按航线删除 \n");printf("请在1-2中选择删除⽅式: ");scanf("%d",&q);switch(q){case 1:printf("请输⼊航班号: ");scanf("%d",&p);break;case 2:printf("请输⼊起飞地点: ");scanf("%s",be);printf("请输⼊降落地点: ");scanf("%s",en);break;}printf("\n\n航班号\t起飞地点\t降落地点\t起飞时间\t票价\t机票数 \n\n");for(i=0;i{if(q==1&&plane[i].num==p){k++;printf("\n\n%d\t%s\t%s\t%s\t%lf\t%d\n",plane[i].num,plane[i].begin,plane[i].end,plane[i].time,plane[i].fee,plane[i].count); }if(q==2&&strcmp(plane[i].begin,be)==0&&strcmp(plane[i].end,en)==0){k++;printf("\n\n%d\t%s\t%s\t%s\t%lf\t%d\n",plane[i].num,plane[i].begin,plane[i].end,plane[i].time,plane[i].fee,plane[i].count); }}if(k=0)printf("没有找到此航班,⽆法删除!");elseprintf("确定删除请按 1 否则请按 0:\n\n");scanf("%d",&w);if(w==1)for(i=0;i{plane[i].num=0;strcpy(plane[i].begin,"0");strcpy(plane[i].end,"0");strcpy(plane[i].time,"0");plane[i].fee=0;plane[i].count=0;}getchar();getchar();home();}void scan() //浏览{if(m==0)printf("\n\n⽆航班信息\n\n");else{printf("\n\n航班号\t起飞地点\t降落地点\t起飞时间\t票价\t机票数 \n\n");for(i=0;iprintf("\n\n%d\t%s\t%s\t%s\t%lf\t%d\n",plane[i].num,plane[i].begin,plane[i].end,plane[i].time,plane[i].fee,plane[i].count); }getchar();home();}void book() //订票模块{int i,a;struct airplane d;system( "cls" );do{sou();printf("请输⼊您要订的航班号: ");scanf("%d",&d.num);printf("请输⼊您要订的机票数: ");scanf("%d",&d.count);for(i=0;iif(result[i].num==d.num){if(result[i].count!=0&&result[i].count>= d.count){result[i].count=result[i].count- d.count;printf("恭喜您订票成功!祝您旅途愉快!\n");break;}if(result[i].count{printf("此航班只剩下%d张票,订票失败",result [i].count);break;}}printf("\n\n继续订票请按 1 ,退出请按 0 ");scanf("%d",&a);}while(a==1);void change() //改签模块{int i,num1,num2;system( "cls" );do{sou();printf("请输⼊您改签前的航班号: ");scanf("%d",&num1);printf("请输⼊您改签后的航班号: ");scanf("%d",&num2);for(i=0;iif(result[i].num==num1)result[i].count=result[i].count+1;for(i=0;iif(result[i].num==num2)result[i].count=result[i].count-1;printf("恭喜您改签成功!祝您旅途愉快!\n");break;printf("\n\n继续改签请按 1 ,退出请按 0 ");scanf("%d",&a);}while(a==1);void quit() //退票模块{int i,a;struct airplane f;system( "cls" );do{sou();printf("请输⼊您要退订的航班号: ");scanf("%d",&f.num);printf("请输⼊您要退订的机票数: ");scanf("%d",&f.count);if(d.count<0){printf("您输⼊的票数有误,请重新输⼊\n");break;}for(i=0;iif(result[i].num==f.num){result[i].count=result[i].count+ f.count;printf("恭喜您退票成功! \n");break;}elseprintf("抱歉,您输⼊的航班号有误!");printf("\n\n继续订票请按 1 ,退出请按 0 ");scanf("%d",&a);}while(a==1);}void sou() //查询模块{int i,c,d,e,t,j=0;struct airplane a;struct airplane result[20];system( "cls" );printf("\n\n请输⼊起飞时间:");scanf("%s",a.time);printf("\n\n请输⼊起飞地点:");scanf("%s",a.begin);printf("\n\n请输⼊降落地点:");scanf("%s",a.end);printf("请选择排序⽅式( 1:按航班号升序;2:按票价升序)")scanf("%d",&c);printf("\n\n航班号\t起飞地点\t降落地点\t起飞时间\t票价\t机票数 \n\n");for(i=0;i{if(plane[i].time==a.time&&strcmp(plane[i].begin,a.begin)==0&&strcmp(plane[i].end,a.end)==0) result[j]=plane[i]j++;}if(j==0)printf("抱歉,暂时没有该条件的航班!");if(j>0&&c==1){for(d=0;dfor(e=d+1;eif(result[e].num{t= result[e];result[e]= result[e-1];result[e-1]=t;}}if(j>0&&c==0){for(d=0;dfor(e=d+1;eif(result[e].fee{t= result[e];result[e]= result[e-1];result[e-1]=t;}}for(i=0;iprintf("\n\n%d\t%s\t%s\t%s\t%lf\t%d\n", result[i].num, result[i].begin, result [i].end, result[i].time, result[i].fee, result[i].count); }void save() //保存模块{FILE *fp;int i,w=1;system( "cls" );if((fp=fopen("C:\\Users\\Administrator\\Desktop\\plane.txt","w"))==NULL){printf("打开⽂件错误\n");exit(0);}for(i=0;iif(fwrite(fp,sizeof(struct airplane),1, &plane[i])==0){printf("⽂件保存错误!\n");exit(0);w=0;}if(w==1)printf("⽂件保存成功!\n");fclose(fp);getchar();getchar();home();}void read() //读取模块{int i;FILE *fp;if(fp=fopen("C:\\Users\\Administrator\\Desktop\\plane.txt","r")==NULL){printf("⽂件打开失败\n");exit(0);}else{while(!feof(fp))for(i=0;ifread(plane[i],sizeof(struct airplane),1,fp)}getchar();getchar();home();}。

C语言课程设计——飞机订票系统说明书(第一个人)

C语言课程设计——飞机订票系统说明书(第一个人)

目录设计目的 (1)总体设计 (1)详细设计 (3)调试与测试 (5)核心源程序清单和执行结果 (5)源程序代码 (5)截图 (13)仍存在的问题 (15)心得体会 (15)设计进度表 (16)参考文献 (17)一、正文(一)设计目的:假定民航机场共有n个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员订额。

设计一飞机订票系统,使之能提供下列服务:1、航班信息录入功能(航班信息用文件保存)包括航班号、起始站、重点站、机票数等;2、航班信息浏览功能3、按航班号排序4、查询航线:按航班号查询5、承办订票和退票业务(可选项)(二)总体设计:编写一个飞机订票系统的程序,使该系统能够实现对航班信息的录入、浏览、排序、查询以及订票、退票的功能。

根据题目要求,首先要制作一个主菜单显示出各个操作的提示可供用户选择,进而一步步地深入操作。

根据主菜单的内容再进一步编制具体操作的函数,各个功能均用专门编制的函数来完成。

这就是看到题目后的最初的思路。

在这附上总体模块设计图:因为飞机订票系统含有各航班的各项信息,如航班号、航线、飞行时间、机票数目等必要信息,所以就决定用刚学不久的结构体数组来存放航班的各项信息,根据题目要求定义如下结构体类型:头文件包含、全局变量定义和结构体定义源代码:#include<stdio.h> //标准输入、输出头文件#include<string.h> //包含字符串函数处理头文件#include<process.h> //包含access函数的头文件#define N 1000 //定义最多的航班数#define PRINT "%d\t\t%s\t\t%s\t\t星期%s\t\t%d\n ",s[i].num,s[i].start,s[i].over,s[i].time,s[i].count //宏定义输出格式struct air //定义结构体数组{int num; //定义航班号char start[20]; //航班起始站char over[20]; //航班终点站char time[10]; //飞行时间int count; //机票数量}s[N];int i,m=0; //定义全局变量,记录下航班信息的数量char ii[10]; //用来选择是否继续的变量以上就是我的总体设计思路。

C语言课程设计报告(附程序代码--飞机订票系统)

C语言课程设计报告(附程序代码--飞机订票系统)

C语言课程设计报告(附程序代码--飞机订票系统) 12/21/2011 第1页xxxx大学xx学院C语言课程设计题目:飞机订票系统专业: 计算机科学与技术班级:姓名:完成时间:12/21/2011 第2页第一部分:源程序(3-12页)第二部分:函数流程图(13-25页)(1)menu函数流程图(第13页)(2)enter函数流程图(第14页)(3)Order函数流程图(第15页)(4)input函数流程图(第16页)(5)browse函数流程图(第17页)(6)Search_time函数流程图(第18页)(7)Search_end函数流程图(第19页)(8)search函数流程图(第20页)(9)void menu1函数流程图(第21页)(10)book函数流程图(第22页)(11)back函数流程图(第23页)(12)save函数流程图(第24页)(13)load 函数流程图(第25页) 第三部分:心得体会(第26-27页) 12/21/2011 第3页第一部分:源程序#include <stdio.h>#include <string.h> #include <stdlib.h> #define N 1000 typedef struct plane {char ID[10]; /*航班代号*/char BePlace[10];/*飞机起飞地点*/char EnPlace[10];/*飞机降落终点*/char data[15];/*飞机起飞时间*/int max;/*飞机最大乘客人数*/int price;/*飞机票价*/int num;/*飞机已售票数*/}PLANE;PLANE ti[N];int n;/*当前的航班数目*/void menu();void menu1();void input(int i){printf("请输入航班代号:\n");scanf("%s",ti[i].ID);printf("请输入起飞地点:\n");scanf("%s",ti[i].BePlace);printf("请输入降落地点:\n");scanf("%s",ti[i].EnPlace);printf("请输入起飞时间:\n");scanf("%s",ti[i].data);printf("请输入航班的最大载客人数:\n"); scanf("%d",&ti[i].max);printf("请输入航班的票价:\n");scanf("%d",&ti[i].price);ti[i].num=0;}12/21/2011 第4页void enter(){int i;system( "cls" );printf("请输入航班的数目(0-%d)?:",N); scanf("%d",&n); /*要输入的记录个数*/ printf("\n请输入数据\n\n");for(i=0;i<n;i++){printf("\n请输入第 %d 航班记录.\n",i+1);input(i); /*调用输入函数*/}getchar();menu();}void printf_one(int i) /*显示一个记录的函数*/ {printf("%11s %6s %10s %6s %6d %6d %6d",ti[i].ID,ti[i].BePlace,ti[i].EnPlace,ti[i].data,ti[i].price,ti[i].max,ti[i].num);}void browse(){int i;system( "cls" );puts("\n--------------------------------------------------------------------");printf("\n\t航班代号起飞地点降落地点起飞时间票价最大乘客已售票数\n");for(i=0;i<n;i++){printf_one(i);printf("\n");}getchar();getchar();12/21/2011 第5页menu();}void order() /*排序模块(按平均成绩)*/ { int i,j;struct plane s;system( "cls" );for(i=0;i<n;i++) /*冒泡法排序*/{for(j=i+1;j<n;j++)if(strcmp(ti[i].data,ti[j].data)>0) {s=ti[i];ti[i]=ti[j];ti[j]=s;}}browse();}void search_time(){int i,m=0;struct plane s;system( "cls" );printf("\n\nEnter the time:");scanf("%s",s.data); /*输入出发的时间*/puts("\n--------------------------------------------------------------------");printf("\n\t航班代号起飞地点降落地点起飞时间票价最大乘客已售票数\n");for(i=0;i<n;i++){if(strcmp(s.data,ti[i].data)==0){m++;if((m!=0)&&(m%10==0)) /*目的是分屏显示*/{printf("\n\nPress any key to contiune . . .");12/21/2011 第6页getchar();puts("\n\n");}printf_one(i);printf("\n");/*调用显示一个记录的函数*/}}puts("\n--------------------------------------------------------------------");getchar(); /*按任意健*/getchar();menu1();}void serch_end(){int i,m=0;struct plane s;system( "cls" );printf("\n\nEnter the end Place:");scanf("%s",s.EnPlace); /*输入要到达的地方*/puts("\n--------------------------------------------------------------------");printf("\n\t航班代号起飞地点降落地点起飞时间票价最大乘客已售票数\n");for(i=0;i<n;i++){if(strcmp(ti[i].EnPlace,s.EnPlace)==0){m++;if((m!=0)&&(m%10==0)) /*目的是分屏显示*/{printf("\n\nPress any key to contiune . . .");getchar();puts("\n\n");}printf_one(i);printf("\n");/*调用显示一个记录的函数*/}}12/21/2011 第7页puts("\n--------------------------------------------------------------------");getchar(); /*按任意健*/getchar();menu1();}void menu1(){int n,w1;do{system( "cls" ); /*清屏*/puts("\t\t\t\t 飞机售票操作!\n\n");puts("\t\t*********************MENU*********************\n\n"); puts("\t\t\t\t1.按照时间排序");puts("\t\t\t\t2.按照时间查找航班");puts("\t\t\t\t3.按照地点查找航班");puts("\t\t\t\t4.返回主菜单");puts("\n\n\t\t**********************************************\n"); printf("Choice your number(1-4): [ ]\b\b");scanf("%d",&n);if(n<1||n>4) /*对选择的数字作判断*/{w1=1;printf("your choice is not between 1 and 4,Please input again:"); getchar();getchar();}else w1=0;} while(w1==1);/*选择功能*/switch(n){case 1:order();break;case 2:search_time();break;case 3:serch_end();break;case 4:menu();break;}}12/21/2011 第8页int search() /*查找模块*/ {int i,k;struct plane s;k=-1;system( "cls" );printf("\n\n请输入要订票的起飞地点:");scanf("%s",s.BePlace); /*输入要到达的地方*/printf("\n\n请输入要订票的降落地点:");scanf("%s",s.EnPlace);printf("\n\n请输入要订票的起飞时间:");scanf("%s",s.data); /*输入出发的时间*/for(i=0;i<n;i++) /*查找要修改的数据*/{if(strcmp(s.BePlace,ti[i].BePlace)==0&&strcmp(s.EnPlace,ti[i].EnPl ace)==0&&strcmp(s.data,ti[i].data)==0){k=i; /*找到要修改的记录*/printf_one(k);break; /*调用显示一个记录的函数*/ }}if(k==-1){printf("\n\nNO exist!");return -1;}elsereturn k;}void book(){int i;system( "cls" );printf("欢迎进入售票窗口!\n");12/21/2011 第9页i=search();if(i!=-1){if(ti[i].num>=ti[i].max){printf("\n该趟航班票已售完~");}else{ti[i].num++;printf("\n订票成功!\n");}}elseprintf("该航班不存在!\n");getchar();getchar(); /*按任意健*/menu();}void back(){int i,k=-1;struct plane s;system( "cls" );printf("欢迎进入退票窗口!\n");printf("\n\n输入航班代号:");scanf("%s",s.ID); /*输入要到达的地方*/ for(i=0;i<n;i++) /*查找要修改的数据*/ {if(strcmp(s.ID,ti[i].ID)==0){k=i; /*找到要修改的记录*/printf_one(k);break; /*调用显示一个记录的函数*/ }}if(k==-1){printf("\n\nNO exist!");12/21/2011 第10页}else{ti[i].num--;printf("\n退票成功!\n");}getchar(); /*按任意健*/getchar(); /*按任意健*/menu();}void save(){int w=1;FILE *fp;int i;system( "cls" );if((fp=fopen("\\ticket.txt","wt"))==NULL) /*以输出打开方式,在此前的记录被覆盖*/{printf("\nCannot open file\n");return ;}for(i=0;i<n;i++)if(fwrite(&ti[i],sizeof(struct plane),1,fp)!=1){printf("file write error\n");w=0;}if(w==1){printf("file save ok!\n");}fclose(fp);getchar();getchar();menu();}void load()12/21/2011 第11页{FILE*fp;int i,w;w=1;system( "cls" );if((fp=fopen("\\ticket.txt","rt"))==NULL) {printf("\nCannotopen file\n");w=0;return ;}n=0;for(i=0;!feof(fp);i++){fread(&ti[i],sizeof( struct plane),1,fp); n++;}n=n-1;fclose(fp);if(w==1)printf("Load file ok!");getchar();getchar();menu();}void menu(){int n,w1;do{system( "cls" ); /*清屏*/ /*清屏*/puts("\t\t\t\t 飞机售票管理系统!\n\n");puts("\t\t*********************MENU*********************\n\n"); puts("\t\t\t\t1.输入新航班");puts("\t\t\t\t2.浏览 ");puts("\t\t\t\t3.航班操作");puts("\t\t\t\t4.订票");puts("\t\t\t\t5.退票");12/21/2011 第12页puts("\t\t\t\t6.保存");puts("\t\t\t\t7.载入");puts("\t\t\t\t8.退出");puts("\n\n\t\t**********************************************\n"); printf("Choice your number(1-8): [ ]\b\b");scanf("%d",&n);if(n<1||n>8) /*对选择的数字作判断*/{w1=1;printf("your choice is not between 1 and 8,Please input enter to choiceagain:");getchar();getchar();}else w1=0;} while(w1==1);/*选择功能*/switch(n){case 1:enter();break; /*输入模块*/case 2:browse();break; /*浏览模块*/case 3:menu1();break; /*查找模块*/case 4:book();break; /*订票模块*/case 5:back();break; /*退票模块*/case 6:save();break; /*保存模块*/case 7:load();break; /*加载模块*/case 8:exit(0);}}void main(){menu();}12/21/2011 第13页第二部分:函数流程图(1)menu()函数结束NY 退出 n=8 Y Y 开始NY载入 Y n=7 int n,w1YNY保存 Y 清屏(cls) n=6YNY输出目录退票 Y n=5YN输出n Y订票 Y n=4YNNif n<1||n>8 Y航班操作 Y Y n=3 YY NY w1=1 w1=0 Y浏览 Y n=2 YNN Y输入新航班 While(w==1) n=1 Y Y YYY 输出n(1-8)12/21/2011 第14页开始 (2)enter函数int i清屏(cls)请输入航班的数目n请输入数据mi=0N i<nY请输入第n次航班记录调用input()函数i++返回menu()结束12/21/2011 第15页(3)Order函数开始int i,j清屏(cls)i=0N 调用browse() i<n YYY j=i+1结束N i++ j<n YYYNstrcmp(ti[i].data, ti[j].data)>0YYY s=ti[i];ti[i]=ti[j]ti[j]=sj++12/21/2011 第16页开始 (4)input函数请输入航班代号请输入起飞地点请输入降落地点请输入起飞时间请输入航班的最大载客人数请输入航班的票价返回menu()结束12/21/2011 第17页(5)browse函数开始int i清屏(cls)i=0Ni<n i++Y调用printf_one(i)输出返回menu() 结束开始12/21/2011 第18页int i,m (6)Search_time函数清屏(cls)输入时间i=0N 返回menu1() i<nYYN i++ S==ti[i] YYY 结束m++(m!=0)&&(m%10==0)按任意键继续进行回车换行调用函数printf_one()开始12/21/2011 第19页int i,m (7) Search_end函数清屏(cls)输入要到达的地方i=0返回menu () i<nYYN i++ S==ti[i] Y结束Ym++(m!=0)&&(m%10==0)按任意键继续进行回车换行调用函数printf_one(i)12/21/2011 第20页(8)search函数开始int i,kk=-1清屏(cls)输入起飞,降落地点和时间i=0N Y k==-1i<nY Y i++输出“NO exist!”strcmp(s.BePlace,ti[i].BePlN ace)==0&&strcmp(s.EnPlace,ti[i].EnPlace)==0&&strc返回search()=k 返回search()=-1 mp(s.data,ti[i].data)==0Yk=i结束调用printf_one(k)跳出(break)12/21/2011 第21页(9)void menu1函数开始结束int n,w1清屏(cls)Ymenu() n=4Y 输出目录2NY Y n=3 () serch_end 输出n(1-4)Y NNY Ysearch_time() if n<1||n>4 n=2 Y Y YN Y w1=1 w1=0 Y Yorder() n=1 YYN输出n while(w1==1)Y Y12/21/2011 第22页(10)book函数开始int i清屏(cls)输出“欢迎进入售票窗口”i=search()N i!=-1YN ti[i].num>=ti[i].maxY ti[i].num++输出“该航班输出“该趟航不存在!” 班票已售完”输出“订票成功”返回menu()结束12/21/2011 第23页开始 (11)back函数int i,k=-1清屏(cls) 结束输入 menu()“欢迎进入退票窗口”输入输出“退票成功!”“输入航班代号”i=0 ti[i].num--NNk==-1 i<n i++Y Y输出N strcmp(s.ID,ti[i].“NOexist!” ID)==0 Y调用k=iprintf_one(k)12/21/2011 第24页开始(12)save函数结束 int w=1, FILE*fp,i清屏(cls) 输出“Cannotopen file”返回menu()Y (fp=fopen("\\ticket.txt","wt"))==NULLN调用fclose(fp)i=0NN i<n w==1i++Y YN 输出“file save fwrite(&ti[i],sizeof(struct ok!” plane),1,fp)!=1plane),1,fp)!=1Y输出“file writeerror”w=012/21/2011 第25页开始load函数n++(13)FILE*fp int i,w=1fread(&ti[i],sizeof( struct i++ plane),1,fp)Y清屏(cls) N !feof(fp)FILE*fp int i,w i=0n=0 (fp=fopen("\\ticket.txNt","rt"))==NULLY输出“Cannotopen n=n-1 file”(fp=fopen("\\ticket.txt","rtfclose(fp) "))==NULLw=0 N w==1Y返回输出“Load fileok!”返回menu() 结束12/21/2011 第26页第三部分,心得体会通过对C语言课程设计的学习,自己有很大的收获,将<<C语言>>应用得到了实践,将所学的各种语句紧密的联系起来,得到了融汇和贯通,使我对C语言有了更深一步的学习和认识。

基于C语言的飞机订票系统_毕业设计

基于C语言的飞机订票系统_毕业设计

基于C语言的飞机订票系统一、需求分析1、本程序中,输入为字符串小写大写字符和整形;2、以字符串输出;3、本订票系统要能够实现航班情况的录入功能、航班的查询功能、订票功能、退票功能以及管理本系统的功能,具体为:(1)录入功能可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)(2)查询功能可以查询某个航线的情况(如,航班号,查询起降时间,起飞抵达城市,航班票价,确定航班是否满仓);(3)订票功能可以订票,如果该航班不存在,则订票失败;(4)退票功能可以退票并且记录乘客的相关信息以及退票信息;如客户资料:有姓名,证件号,订票航班情况,订单要有编号。

4、测试数据:订票正确输入航班号‘f2009’订票人姓名‘yangyating’ID‘0841919204’管理员正确密码“5566”错误密码“1234”二、概要设计1、程序包含以下模块:每个模块的算法设计说明如下:(1)录入模块:查找单链表的链尾,在链尾插入一个“航班信息”的新结点。

(2)查询模块:提供两种查方式:按航号和按航线查询,1代表按航号查询,2代表按航线查询。

0则表示退出查询。

顺着单链表查找,如果与航班号(航线)一致,输出相关信息,否则,查询不成功。

(3)订票模块:查找乘客要订的航班号,判断此航班是否有空位,有则输入乘客有关信息,订票成功,否则失败。

(4)退票模块:输入要退票的乘客姓名以及证件号码,查找乘客资料的链表中是否有这位乘客,有则删去此结点,并在空位加上1,无则退票失败。

(5)修改模块:输入密码,确认是否有权限对航班信息进行修改,有则在航班信息链表中查找要修改的结点,进行修改,否则不能修改。

流程图主函数流程图三、详细设计1、航班的信息类型:为了便于查找和修改,航班的情况存储结构采用单链表,每个元素表示一个航班的情况,包括航班号、起飞达到的时间、空座和目的的、票价以及限座七个数据项:单链表如下:每个结点包括数据域和指针域: C 语言描述如下:typedef struct flightnode{ char air_num[10]; /*航班号*/ char start_time[15]; /*起飞时间*/ char end_time[15];/*到达时间*/ char end_place[30]; /*目的地*/ int total;/*限座*/ int left; /*空座*/ int price; /*票价*/struct flightnode *next; /*指向个结点*/ }flightnode;基本操作:int CreatFlight(flightnode **l); //生成航班信息链表int InsertFlight(flightnode **p,char *air_num,char *start_time,char *end_place,int total,int left,int price); //插入航班信息的结点flightnode *modefy_airline(flightnode *l,char *air_num); //修改航班信息的函数int BookTicket(flightnode*a,char *air_num,passengernode *c,char *name,char *ID_num); //订票函数int CancelTicket(passengernode *c,flightnode*l,char *name,char *ID_num); //退票函数int SearchFlight(flightnode*head); //查询航班信息函数2、乘客信息类型:为了便于插入、删除和修改,其采用单链表存储结构,每个数据元素包括姓名、证件号码、航班号和座位号四个数据项:每个结点包括数据域和指针域:C语言描述如下:typedef struct passengernode{ /*定义乘客资料结点*/char name[20];char ID_num[20];char air_num[20];int seat_num;struct passengernode *next;}passengernode;基本操作:int CreatPassenger(passengernode **l); //生成乘客资料链表int InsertPassenger(passengernode **p,char *name,char *ID_num,char *air_num,int seat_num); //插入乘客资料的结点3、主函数和其他函数的伪码算法void main() //主函数{while (){ printf(/*主菜单界面*/)switch(ch=getchar()){case’1’:BookTicket;break;case’2’:CanclelTicket;break;case’3’:if(){SearchFlight;}else if(){SearchPassenger;};break;case’4’:exit;break;}}}flightnode *head_flight(){ //生成航班头结点}passengernode *head_passengernode(){ //生成乘客资料头结点}int CreatFlight(flightnode **l) //生成航班信息链表{ //初始化航班信息InsertFlight()//插入航班信息}// CreatFlightint CreatPassenger(passengernode **l) //生成乘客资料链表{ //初始化乘客资料InsertPassenger()//插入乘客资料}// CreatPassengerint InsertFlight()//插入航班信息新结点{ //定义指针,动态分配,复制信息流,赋值,next返回指针,循环//航班信息链的尾插} //InsertFlightint InsertPassenger()//插入乘客资料新结点{ //定义指针,动态分配,复制信息流,赋值,next返回指针,循环//乘客信息链的尾插} //InsertPassengerflightnode *modefy_airline(flightnode *l,char *air_num) {} //修改航班信息int BookTicket() //订票{ …InsertPassenger()}// BookTicketint CancelTicket() //退票{ …l=modefy_airline(l,air_num);}//CancelTicketint SearchFlight(flightnode *head) //查询航班{ //输出航班信息}// SearchFlightint SearchPassenger(passengernode *head) //查询乘客{ //输出乘客信息}// SearchPassenger四、调试分析1、调试结果:(1)系统主菜单界面:(2)进入订票的界面:(3)查询信息的界面:选择1,查询航班信息的界面:选择2,输入密码,查询乘客的信息的界面:新增乘客,查询乘客信息:密码错误时:(4)进入退票的界面:名字或者证件错误时:2、时间复杂度分析:本程序运行所耗费的时间主要在于循环语句,for和while语句,其时间复杂度应该为O(n)。

C语言课程设计——航空售票系统

C语言课程设计——航空售票系统

masses for Divi sion, and masse s he art, with mas ses wit h di scussi on ev eryone care of problem, liste ning t hey of call s, understand they of mood, feel t hey of s uffering, s ummary they of exper ience, conce ntra ted they of wisdom, es pecia lly on masses most hope, and most urgent, a nd m ost worrie s, and most complained of hot, a nd difficulties and focus pr oblem, m ore to a ctive resear ch, caug ht not put. Dare to i nnovate, in our w ork, often remain "the old way doesn't w ork, the ne w approa ch w oul d not" situation, the reas on, t he key is that many pe opl e know that copyi ng ot her people's i deas, mechani cally, usi ng s omeone els e's ol d ways . To change this pre dicame nt, requires us to break the shackle s of traditional conce pts to overcome conservative, conformist, good at finding new probl ems and to a ccept new thi ngs, summarize new experience, new id eas, developing new

c语言课程设计报告_航空订票系统

c语言课程设计报告_航空订票系统

西安郵電學院C语言课程设计报告题目:航空订票系统院系名称:运算机学院专业名称:运算机科学与技术设计起止时刻:2013年06月17日~2013年06月20日一.设计目的对所学知识进行体系化、系统化的整理;进行模块化的训练,将大的程序转化为一个个小的函数一次解决问题;统筹计划,在设计之前有一个大的构思,以此为基础进行发散设计;关注细节,幸免在设计程序中因为一个小小的bug致使程序崩溃代码健壮性,考虑一些错误的操作可能带来的阻碍。

二. 设计内容航空订票系统三.概要设计1.功能模块图;2.各个模块详细的功能描述。

<一> 游客登岸:一、信息查询a.航班号查询(依据输入的航班号来找到对应的航班信息)b.起降地查询(依据输入的起飞地和目的地来找到对应航班信息)c.时刻查询(依据输入的时刻找到对应航班信息时刻可慢慢具体)二、订票系统依照输入的起飞地与目的地显示出所有走此航线的航班信息,然后根据显示的信息输入想要订购航班的航班号,确认购票后系统自动付款将此航班加入登岸用户的定单信息中。

3、退票系统进入后第一显示出当前登岸者已有的航班定单,输入需要退票的航班的航班号,退票成功。

4、定单详情显示出当前登岸者已有的航班定单信息,并依照时刻前后顺序显示。

<二> 治理员登岸:一、增加航班确信增加新航班后依据提示以此输入航班号、起飞地、目的地、起飞时刻、抵达时刻、票价;以后选择是不是继续输入,假设选Y继续适才的循环,不然退出增加航班。

二、删除航班输入需要删除航班的航班号,回车后该航班即被删除。

3、修改航班信息输入需要修改航班的航班号,显示出该航班的航班信息,选项选择修改航班信息的哪一项,选择后即可对该项信息进行修改。

4、信息查询a.时刻查找(与游客登岸中的时刻查询一样)b.起始地查询(输入起始地,显示出由此地起飞的所有航班信息)c.目的地查询(输入目的地,显示飞往此地的所有航班信息)d.起降地查询(与游客登岸中起降地查询一致)e.航班号查询(与游客登岸中航班号查询一致)f.所有航班(显示出当前已录入的所有航班航班信息)五、账号治理a.密码修改(针对遗忘密码的用户能够进行密码的重置)b.所有效户(显示出所有已注册用户的用户名)<三> 帐号申请:依照提示输入用户名,假设该用户名已有那么显示“该用户已存在”,假设用户名可用,那么继续输入密码,两次密码一致那么注册成功,可利用该用户以游客身份登岸。

C语言程序设计报告--飞机订票设计

C语言程序设计报告--飞机订票设计

C语言程序设计--飞机订票设计题目:飞机订票设计。

功能:本飞机共有80个座位,分为20排,每排4个位子。

编号为A,B,C,D。

如10D表示10排D座。

A和D靠窗,19到20排为吸烟区。

本系统可以让乘客自己选座号和区域,直到乘客满意为止,无法满足的话,只能改乘另一个航班。

订上票的乘客需要... 题目:飞机订票设计。

功能:本飞机共有80个座位,分为20排,每排4个位子。

编号为A,B,C,D。

如10D表示10排D座。

A和D靠窗,19到20排为吸烟区。

本系统可以让乘客自己选座号和区域,直到乘客满意为止,无法满足的话,只能改乘另一个航班。

订上票的乘客需要给出姓名和身份证号,最后要打印出乘客清单。

分布实施:1、初步完成总体设计,搭好框架,确定人机对话的界面,确定两个函数;2、完成最低要求:建立一个小系统,包括5排座位,两个区域,能供乘客选择;3、进一步要求:完成全部功能的系统。

要求:1、用C语言实现程序设计;2、利用结构体数组实现信息的数据结构设计;3、系统的各个功能模块要求用函数的形式实现;4、界面友好(良好的人机交互),程序加必要的注释。

课程设计试验报告要求:1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。

2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等。

--------------------------------------------------------//#include <stdafx.h>#include < conio.h>#include<stdio.h>#include<string.h>#include<stdlib.h>#define OK 1#define TRUE 1#define FALSE 0#define ERROR 0#define OVERFLOW -2#define PR printftypedef int status;typedef struct airlinechar line_num[8];//航班号char plane_num[8];//飞机号char end_place[20];//目的的int total;//座位总数int left;//剩余座位struct airline *next;//下一个结点}airline;typedef struct customer{char name[9];//顾客名char line_num[8];//航班号int seat_num;//座位号struct customer *next;//下一个结点}customer;airline *init_airline(){ //初始化链表airline *l;l=(airline*)malloc(sizeof(airline)); if(l==NULL){ exit(0);}return l;}customer * init_customer(){//初始化链表customer *l;l=(customer*)malloc(sizeof(customer));if(l==NULL){exit(0);}l->next=NULL;return l;}status insert_airline(airline **p,char *line_num,char *plane_num,char *end_place,int total,int left){//airline链表插入操作airline *q;q=(airline*)malloc(sizeof(airline));strcpy(q->line_num , line_num);strcpy(q->plane_num , plane_num);strcpy(q->end_place , end_place);q->total =total;q->left =left;q->next=NULL;(*p)=(*p)->next;// PR("insert %d ,%dis succssed!\n",e,bl);return OK;}status insert_customer(customer **p,char *name,char *line_num,int seat){//customer链表插入操作customer *q;q=(customer*)malloc(sizeof(customer));/* { PR("内存分配失败\n");return OVERFLOW; }*/strcpy(q->name , name);strcpy(q->line_num , line_num);q->seat_num =seat;q->next=NULL;(*p)->next=q;(*p)=(*p)->next;// PR("insert %d ,%dis succssed!\n",e,bl);return OK;}airline *modefy_airline(airline *l,char *line_num)//修改airline链表中的数据{ airline *p;for(;p!=NULL;p=p->next ){ if(strcmp(line_num,p->line_num )==0){ p->left ++;// PR("modefy %s\n",p->line_num );return l;}}PR("没有这个航班,无法完成修改任务!\n");return 0;}status delete_airline(airline *h,char *line_num)//删除航班{ airline *p,*pr;pr=h;p=pr->next ;while(p!=NULL){ if(strcmp(line_num,p->line_num )==0){ pr->next =p->next ;PR("删除%s 航班\n",p->line_num );return OK;}pr=pr->next ;}PR("无此航班,无法删除!\n");return ERROR;}status delete_customer(customer *h,char *line_num)//删除顾客{ customer *p,*pr;pr=h;p=pr->next ;while(p!=NULL){ if(strcmp(line_num,p->line_num )==0){ pr->next =p->next ;}pr=pr->next ;p=pr->next ;}// PR("无此航班,无法删除!\n");return OK;}status delete_cus(customer *h,airline *l,char *name)//顾客退票{ customer *p,*pr;char line_num[8];// qr=h;pr=h;p=pr->next ;// PR("开始删除\n");while(p!=NULL){ if(strcmp(name,p->name )==0){ strcpy(line_num,p->line_num );l=modefy_airline(l,line_num);pr->next =p->next ;PR("顾客%s 退票成功!\n",p->name ); return OK;}pr=pr->next ;p=pr->next ;}PR("无此顾客,无法退票!\n");return ERROR;}status save_airline(airline *l)//保存airline.dat { FILE *fp_airline;char ch='#';airline *p=l->next ;char filename[]="c:\\airline.dat";if((fp_airline=fopen(filename,"wb"))==NULL){ printf("can not open file to write:%s\n",filename);return ERROR;}for(;p!=NULL;p=p->next ){ //printf("%s,%s,%s,%d,%d\n",p->line_num ,p->plane_num ,p->end_place ,p->total ,p->left );fprintf(fp_airline,"%s,%s,%s,%d,%d%c\n",p->line_num ,p->plane_num ,p ->end_place ,p->total ,p->left ,ch);}fclose(fp_airline);return OK;}status save_customer(customer *l)//保存顾客信息customer.dat{ FILE *fp_customer;char ch='#';customer *p=l->next ;char filename[]="c:\\customer.dat";if((fp_customer=fopen(filename,"wb"))==NULL){ printf("can not open file to write:%s\n",filename);return ERROR;}for(;p!=NULL;p=p->next ){ // PR("%s,%s,%d\n",p->name ,p->line_num ,p->seat_num );fprintf(fp_customer,"%s,%s,%d%c",p->name ,p->line_num ,p->seat_nu m ,ch);}fclose(fp_customer);return OK;}int changStrInt(char *ch)//把字符串转化为整型{ int a=1,b=0,c=0,i;for (i=strlen(ch)-1;i>=0;i--){ if (ch[i]<58&&ch[i]>47){ b=a*(ch[i]-48);a=a*10;c=c+b;}else{ PR("%c 不合法,无法将此字符串转化为整形!\n",ch[i]);return 0;}// printf("the c is %d\n",c);}return c;}status insert_air(airline *l,char *line_num,char *plane_num,char *end_place,int total,int left){//airline链表插入操作airline *q;q=(airline*)malloc(sizeof(airline));strcpy(q->line_num , line_num);strcpy(q->plane_num , plane_num);strcpy(q->end_place , end_place);q->total =total;q->left =left;q->next=l->next ;l->next=q;// PR("insert %d ,%dis succssed!\n",e,bl);return OK;}status insert_cus(customer *l,char *name,char *line_num,int seat){//customer链表插入操作customer *q;q=(customer*)malloc(sizeof(customer)); strcpy(q->name , name);strcpy(q->line_num , line_num);q->seat_num =seat;q->next=l->next ;l->next=q;return OK;}status load_airline(airline *l){ FILE *fp_airline;int flag=0,i=0;char ch;char line_num[8];//航班号char plane_num[8];//飞机号char end_place[20];//目的的char total_str[5];char left_str[5];int total;//座位总数int left;//剩余座位// airline *p=l;char filename[]="c:\\airline.dat";if((fp_airline=fopen(filename,"rb"))==NULL){ printf("can not open file to load:%s\n",filename); return ERROR;}while(!feof(fp_airline)){ ch=fgetc(fp_airline);if(ch!='#'){ if(flag==0&&ch!=','){ line_num[i]=ch;i++;}else if(flag==1&&ch!=','){ plane_num[i]=ch;i++;}else if(flag==2&&ch!=','){ end_place[i]=ch;i++;}else if(flag==3&&ch!=','){ total_str[i]=ch;i++;}else if(flag==4&&ch!=','){ left_str[i]=ch;i++;}else if (ch==','){ flag++;i=0;}/* else{ PR("错误\n");return ERROR;}*/}else{ flag=0;i=0;total=changStrInt(total_str);left=changStrInt(left_str);PR("%8s%8s%8s%9d%9d\n",line_num ,plane_num ,end_place ,total ,left ); insert_air(l,line_num,plane_num,end_place,total,left);}}fclose(fp_airline);return OK;}status load_customer(customer *l){ FILE *fp_customer;int flag=0,i=0;char ch;char name[9];char line_num[8];//航班号char seat_num_str[5];int seat_num;//座位// customer *p=*l;char filename[50]="c:\\customer.dat";if((fp_customer=fopen(filename,"rb"))==NULL) { printf("can not open file to load:%s\n",filename); return ERROR;}while(!feof(fp_customer)){ ch=fgetc(fp_customer);printf("%c\n",ch);if(ch!='#'){ if(flag==0&&ch!=','){ name[i]=ch;i++;}else if(flag==1&&ch!=',') { line_num[i]=ch;i++;}else if(flag==2&&ch!=',') { seat_num_str[i]=ch;i++;}else if (ch==','){ flag++;i=0;}else{ PR("错误\n");return ERROR;}}else{ flag=0;seat_num=changStrInt(seat_num_str);PR("%10s %10s %d\n",name ,line_num ,seat_num );insert_cus(l,name,line_num,seat_num);// p=p->next ;}}fclose(fp_customer);return OK;}status creat_airline(airline **l)//创建airline单链表{ airline *p=*l;int i=0;char *line_num[3]={"bjnc01","bjsh02","shgz03"};char *plane_num[3]={"plane1","plane2","plane3"};char *end_place[3]={"nc","sh","gz"};int total[3]={100,100,100};int left[3]={51,50,78};for (i=0;i<3;i++){insert_airline(&p,line_num[i],plane_num[i],end_place[i],total[i],left[i]); }return OK;}status creat_customer(customer **l)////创建customer单链表{ customer *p=*l;int i=0;char *name[3]={"ouyangj0","yhl","fs"};char *line_num[3]={"bjnc01","bjsh02","shgz03"};int seat_num[3]={1,5,10};for (i=0;i<3;i++){insert_customer(&p,name[i],line_num[i],seat_num[i]);}return OK;}status increase_air(airline *l,char *line_num,char *plane_num,char*end_place,int total)//增加航线{ airline *p=l->next ;for(;p->next !=NULL;p=p->next){}insert_airline(&p,line_num,plane_num,end_place,total,total);PR("增加航班%s 成功!\n",line_num);return OK;}status book(airline *l,char *line_num,customer *c,char *name)//订票函数{ airline *p=l;customer *q=c->next ;p=l->next ;for(;q->next !=NULL;q=q->next){}// PR("%s\n",q->name );for(;p!=NULL;p=p->next ){ if(strcmp(line_num,p->line_num )==0){ if(p->left >0){ PR("恭喜您!订票成功!\n");PR("你的座位号是: %d\n",(p->total -p->left +1));insert_customer(&q,name,line_num,p->total -p->left +1); p->left --;return OK;}else PR("对不起,座位已满!\n");return 0;}}PR("对不起,没有这个航班号!\n");return ERROR;}status print_airline(airline *l)//打印航线信息{ airline *p=l->next ;for(;p!=NULL;p=p->next ){ PR("%8s%8s%8s%9d%9d\n",p->line_num ,p->plane_num ,p->end_pla ce ,p->total ,p->left );}return OK;}status print_customer(customer *l)//打印顾客信息{customer *p=l->next ;for(;p!=NULL;p=p->next ){ PR("%10s %10s %d\n",p->name ,p->line_num ,p->seat_num );}return OK;}status inputpassword(char cc[9])//隐藏密码为*号的函数-------------------楼主,注意这里!{char c;int i;for(i=0;c=getch();i++){if(c==13) break; /*13是回车的ascii码,用'\n'不行,不知怎么回事*/else{cc[i]=c;printf("*");}}cc[i]='\0';//printf("\n");//printf("%s",cc);//getchar();return strlen(cc);}void main(){ charchoice,choice2,name[9],line_num[8],password[9],plane_num[8],end_plac e[9];char pass[9]="19851102",re_pass_1[9],re_pass_2[9];int t=1,tt=1,total;airline *air=init_airline();customer *cus=init_customer();PR(" 计算机0541课程设计(一)\n");PR(" 航空订票系统\n");PR(" 成员:晏凯\n");creat_airline(&air);creat_customer(&cus);// save_airline(air);// save_customer(cus);while(t==1){ PR("*----------------------------*\n"); PR("*--航空订票系统选择菜单------*\n"); PR("* 订票-------0 *\n");PR("* 退票-------1 *\n");PR("* 查询-------2 *\n");PR("* 修改航线---3 *\n");PR("* 读入文件---4 *\n");PR("* 退出-------5 *\n");PR("*----------------------------*\n"); PR("请选择: ");choice = getch();PR("%c\n",choice);if(choice=='0'){ PR("请输入你要订的航班号: ");scanf( "%s",line_num);PR("请输入你的姓名: ");scanf( "%s",name);book(air,line_num,cus,name);save_airline(air);save_customer(cus);}else if(choice=='1'){ PR("\n请输入你的姓名: ");scanf( "%s",name);delete_cus(cus,air,name);save_airline(air);save_customer(cus);}else if(choice=='2'){ PR("\n 航班号飞机号目的地总票数余票数\n");print_airline(air);PR(" 姓名航班号座位号\n");print_customer(cus);}else if(choice=='3'){ tt=1;PR("请输入密码: ");//scanf("%s",password);inputpassword(password);-----------------楼主,注意这里!我改了!if(strcmp(password,pass)==0){ while (tt==1){PR("\n*------------------------------*\n"); PR("*-------航线信息修改:----------*\n"); PR("* 增加航班号-----'0' *\n");PR("* 删除航班号-----'1' *\n");PR("* 修改密码-------'2' *\n");PR("* 查询航线信息---'3' *\n");PR("* 退出航线修改---'4' *\n");PR("*------------------------------*\n"); PR("请选择: ");choice2=getch();PR("%c\n",choice2);if(choice2=='0'){ PR("请输入你要增加的航班号: ");scanf("%s",line_num);PR("请输入飞机号: ");scanf("%s",plane_num);PR("请输入目的地: ");scanf("%s",end_place);PR("请输入座位总数: ");scanf("%d",&total);increase_air(air,line_num,plane_num,end_place,total); save_airline(air);save_customer(cus);}else if (choice2=='1'){ PR("请输入你要删除的航班号: ");scanf("%s",line_num);delete_airline(air,line_num);delete_customer(cus,line_num);save_airline(air);save_customer(cus);}else if(choice2=='2'){ PR("注意:密码不能超过8位!\n");PR("请输入新密码:");scanf("%s",re_pass_1);PR("请再输入一次: ");scanf("%s",re_pass_2);if(strcmp(re_pass_1,re_pass_2)==0){ strcpy(pass,re_pass_1);PR("密码修改成功!请记住.\n");}else { PR("你两次输入的密码不一致!\n");}}else if(choice2=='3'){ PR("\n 航班号飞机号目的地总票数余票数\n"); print_airline(air);}else if(choice2=='4'){ tt=0;}else {PR("你的输入有误\n");tt=0;}}//end while}//end ifelse {PR("对不起!你输入的密码不正确!\n");}}//end else if 修改else if(choice=='4') { load_airline(air); load_customer(cus); }else if(choice=='5') { PR("再见!");t=0;}else{ PR("你的输入有误\n"); }}getch();}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本模板是课程设计报告模板,请各位同学认真阅读以下要求:1.报告后输出时将本页删除)2.3.本设计报告左侧装订。

在虚线处装订。

4.在课程设计封皮一页上用已经设置好的宋体四号来填写各个项目。

5.在课程设计评定表一页上用宋体小四填写班级、学号、姓名、项目组、项目组长、项目组组员、本人工作简介。

组长评语一栏应由组长来给出。

6.在课程设计任务书一页的开头应按照给定的设置(黑体三号)填写好你的班级,在第五项时间安排里面应用宋体五号加粗来填写好日期范围。

7.从程序基本框架结构图开始到设计报告的最后一页都要求有页眉,内容为你的课程设计题目,宋体小五居中。

页脚中的页码已经设置好,同学们不必改动。

8.在程序基本框架结构图采用WORD中的自选图形绘制程序基本框架结构图,也就是程序流程图。

9.在程序设计说明书中应该描述程序的设计思想,重点描述自己做的那部分的设计思想。

字体用宋体小四。

10.在代码清单中打印程序已经调试好的可运行的程序代码。

要求字体为宋体五号。

(页数可增加)11.报告的最后一部分是设计总结,应在程序代码之后另起一页,主要写通过一周课程设计你自己的体会,包括你学到了什么,哪里遇到了困难解决的办法以及今后的目标。

字体用宋体小四。

12.报告的各个部分都可以不为规定的一页,自己可增加页数,但要保证开始另外一项要另起一页。

13. 服务课程名称:本科添写:C语言;/专科添写:计算机语言(c)14. 报告完成后,要更新目录。

方法为:单击目录左侧,选定整个目录后,按F9键更新目录。

课程设计目录C语言课程设计成绩评定表 ............ 错误!未定义书签。

C语言课程设计任务书 .................... 错误!未定义书签。

程序设计思路 .................................... 错误!未定义书签。

程序基本框架结构图 ........................ 错误!未定义书签。

系统运行界面截图 ............................ 错误!未定义书签。

源代码清单 .. (7)课程设计总结 .................................... 错误!未定义书签。

C语言课程设计成绩评定表C语言课程设计C语言课程设计任务书一、设计目的通过本次课程设计使学生进一步加深对C语言课程内容的理解,初步掌握一般应用程序的开发方法和步骤,进一步了解与掌握C语言的编程方法和技巧,提高学生用C语言解决实际问题的能力。

二、设计要求1、认真查阅参考书、资料2、遵守课程设计时间安排3、按时上机,认真调试程序4、认真完成课程设计报告三、课设报告装订内容及顺序1、课程设计封皮2、目录3、课程设计成绩评定表4、课程设计任务书5、程序基本框架图6、程序设计说明书7、源代码清单8、课设总结与心得四、设计题目____________《航空售票管理系统》________________五、时间安排(一周:从 6 月 25 日到 6 月 29 日)1、查阅资料及程序设计(1天)2、程序编制及调试(3天)3、成绩评定(0.5天)3、打印报告(0.5天)六、参考文献1、《C语言程序设计》李淑华/李贞编大连理工大学出版社2、《C语言程序设计》孙连科/姚大鹏编辽海出版社3、《C++时尚编程百例》网冠科技编.机械工业出版社4、《TURBO C 实用大全》徐金梧等编. 机械工业出版社- 1 -程序设计思路此次C语言课程设计期间,我们组设计的题目是“航空售票管理系统”,具有输入﹑查询﹑修改﹑追加﹑删除功能,我负责的部分是:输入函数。

我们的程序需要输入的是每趟航班的信息,包括航班终点(起点为沈阳)、航班班次、时间、票价、及剩余机票总数。

为了在实现查询功能时便于编程,我们把所有航班信息存放在一个结构体数组中,这样每趟航班信息便为结构体数组中的一个元素,而其中的航班终点﹑航班班次﹑时间﹑票价﹑及剩余票数就为结构体成员。

为了便于实现修改﹑追加﹑删除等功能,且保证程序能够反复使用,我们将所有数据写入到一个文件里。

因此,欲实现数据输入功能,需要以下几个步骤:①用fopen()函数打开一个文件file,并用指向类型的指针fp指向该文件;②用printf()函数输出提示信息,如:“请输入航班终点:”;③用scanf()函数接收键盘输入数据,分别送入到结构体的各个成员中;④用fclose()函数关闭fp指向的文件file。

这样所需功能即可完成!航空售票系统程序基本框架结构图- 3 -系统运行界面截图航空售票系统- 5 -源代码清单#include "stdio.h"#include "stdlib.h"#include "string.h"#define LEN sizeof (struct plane)#define MAX 10;struct plane{char destination[12];char num[10];char time[12];int price;int amount;};typedef struct plane PLANE;PLANE a[100];void menu();void input();void search();void preserve();void planeadd();void delplane();void main(){system("cls");menu();}void menu(){char *menu[]={"^#^#^#^#^#^# 欢迎进入航空售票管理系统^#^#^#^#^#^# ", " a:输入航线"," b:查询航线"," c:退订票系统"," d:追加航线"," e:删除航线"," f: 退出","****************************************************"};int i;char NO;int quit=0;航空售票系统do{system("cls");for(i=0;i<9;i++)printf("\n%s",menu[i]);printf("\n请输入服务代码a,b,c,d,e或f\n");NO=getchar();switch(NO){ case'a': input();break;case'b': search();break;case'c': preserve();break;case'd': planeadd();break;case'e': delplane();break;case'f': quit=1;break; }}while (!quit); }void input(){int i,n;FILE *fp;system("cls");if((fp=fopen("D:\\file","wb"))==NULL){printf("error!\n");exit(0);}printf("\n请输入航班总数n:");scanf("%d",&n);printf("\n请按下面提示输入航班信息:起点站:沈阳");for (i=0;i<n;i++){printf("\n\t请输入终点:");scanf("%s",a[i].destination);printf("\t 航班班次:");scanf("%s",a[i].num);printf("\t 时间:");scanf("%s",a[i].time);printf("\t 票价:");scanf("%d",&a[i].price);printf("\t机票总数:");scanf("%d",&a[i].amount);fwrite(&a[i],sizeof(PLANE),1,fp);}fclose(fp);}- 7 -void search(){int i,j=0,k=101;char str[12];FILE *fp;PLANE b[5];if ((fp=fopen("D:\\file","rb"))==NULL){printf("error!\n");exit(0);}printf("\n请输入航班号:");scanf("%s",str);while(fread(&b[j],LEN,1,fp)!=0)j++;for(i=0;i<j;i++)if(strcmp(b[i].num,str)==0){ printf("沈阳至%s 航班号:%s 时间:%s 票价:%d 剩余票数:%d\n",b[i].destination,b[i].num,b[i].time,b[i].price,b[i].amount );k=i;}if(k==101)printf("对不起,没有您需要的航线。

");fclose(fp);system("pause");}void preserve(){int a=0,i=0,k,m,n,x;char str[12];PLANE preserve[10];FILE *fp;if ((fp=fopen("D:\\file","rb"))==NULL){printf("error!\n");exit(0);}printf("请输入航班号:");scanf("%s", str);while(fread(&preserve[i],LEN,1,fp)!=0){if (strcmp(preserve[i].num,str)==0)printf("沈阳至%s 航班号:%s 时间:%s 价格:%d 剩余票数:%d",preserve[i].destination,preserve[i].num,preserve[i].time,preserve[i].price,prese rve[i].amount );航空售票系统k=i;i++;}fclose(fp);printf("\n请输入订退票代码:0-订票1-退票");scanf("%d",&m);if (m==0){printf("沈阳至%s 航班号:%s 时间:%s 价格:%d元剩余票数:%d",preserve[k].destination,preserve[k].num,preserve[k].time,preserve[k].price,pre serve[k].amount);printf("\n请输入订票总数n:");scanf("%d",&n);x=preserve[k].price*n;printf("\n应付款%d元",x);preserve[k].amount=preserve[k].amount-n;printf("\n订票成功!祝您旅途愉快!");}if (m==1){ printf ("\n请输入欲退票数n:");scanf("%d",&n);x=preserve[k].price*n;printf("\n应退金额:%d元",x);preserve[k].amount=preserve[k].amount+n;printf("\n退票成功!");}fp=fopen("D:\\file","wb");for(i=0;i<=k;i++)fwrite(&preserve[i],LEN,1,fp);fclose(fp);system("pause");}void planeadd(){int x,k=1;PLANE planeadd;FILE *fp;do{printf("\n请按下面提示输入新增航班信息:");printf("\t请输入终点:");scanf("%s",planeadd.destination );printf("\t请输入航班号:");scanf("%s",planeadd.num);- 9 -printf("\t请输入时间:");scanf("%s",planeadd.time);printf("\t请输入价格:",planeadd.price);scanf("%d",&planeadd.price);printf("\n请输入机票总数:");scanf("%d",&planeadd.amount);if((fp=fopen("D:\\file","ab+"))==NULL){printf("文件有错误不能打开!");exit(0);}fseek(fp,LEN,2);fwrite(&planeadd,LEN,1,fp);fclose(fp);printf("\n增加信息成功!!!");printf("\n是否继续增加航班?继续请输入1,否则输入0返回主菜单。

相关文档
最新文档