C语言程序设计——飞机订票系统

合集下载

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

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

航空订票系统c语言课程设计一、课程目标知识目标:1. 让学生掌握C语言中结构体、数组、函数等基本知识点的综合运用,特别是在航空订票系统中的应用。

2. 让学生了解并掌握航空订票系统的基本业务流程,如航班查询、预订、取消预订等功能。

3. 使学生能够通过C语言实现简单的航空订票系统,并了解其背后的数据结构和算法。

技能目标:1. 培养学生运用C语言进行问题分析、程序设计和调试的能力。

2. 培养学生独立思考和团队协作的能力,通过项目实践,提高解决实际问题的能力。

3. 培养学生具备良好的编程习惯,编写出结构清晰、可读性强的代码。

情感态度价值观目标:1. 培养学生对计算机编程的兴趣和热情,激发他们主动探索新知识的精神。

2. 培养学生面对困难和挑战时,保持积极乐观的心态,勇于克服困难,不断进步。

3. 通过航空订票系统课程设计,使学生认识到编程在实际生活中的应用价值,提高他们对社会责任的认识。

课程性质:本课程为C语言程序设计课程的实践环节,以项目为导向,注重培养学生的动手能力和实际应用能力。

学生特点:学生已经掌握了C语言的基本语法和编程技巧,具有一定的编程基础,但缺乏实际项目经验。

教学要求:结合学生特点和课程性质,采用案例教学、任务驱动等方法,引导学生通过实践掌握课程内容,提高编程能力。

在教学过程中,注重启发式教学,鼓励学生提问、讨论,培养他们的问题解决能力和团队协作精神。

最终达到课程目标,使学生能够独立完成航空订票系统课程设计。

二、教学内容1. C语言基础知识回顾:结构体、数组、函数、指针、文件操作等。

2. 航空订票系统业务流程分析:航班查询、预订、取消预订、显示航班信息等。

3. 数据结构和算法:链表、排序算法、查找算法等在航空订票系统中的应用。

4. 编程规范和调试技巧:代码规范、调试方法、性能优化等。

5. 项目实践:根据业务流程,设计并实现航空订票系统各功能模块。

教学内容安排和进度:1. 第一周:C语言基础知识回顾,重点讲解结构体、数组和函数。

C语言飞机订票系统

C语言飞机订票系统

#include <stdio.h>#include <string.h>#include <conio.h>#include <ctype.h>#include <stdlib.h>#include <malloc.h>#include <math.h>//overflow#define ok 1typedefstructYidingkehu{//单链表char name[15];//已订票的客户姓名intdingpiaoshu;//已订票数量structYidingkehu *next1;//}Yidingkehu,*Link; typedefstructWeidingkehu{//单链队char name[15];//预订票的客户姓名intyudingpiao;// 要订票数量structWeidingkehu *next2;//下一个链队结点指针}Weidingkehu,*Qptr;typedefstructHangxian{//创建一个含有六个信息的结构体char hangbanhao[15];//航班号-char feijihao[15];//飞机号intfeixingriqi;//起飞时间intchenkerenshu;//座位数intyupiao;//余票char zhongdianzhai[15];//降落城市structHangxian *next;//指向下一个链结点的指针structYidingkehu *yiding;//定义一个指向已订票客户的头结点指针structWeidingkehu *yudingqueue;}Hangxian,*Linklist;LinklistInitLinklist();//01intInsertLinklist(Linklist&head1);//02void hbhchaxun();//通过航班号查询void mddchaxun();//通过目的地查询void lurugongneng();//初始化录入功能void chaxungongnen();//查询功能void dingpiaogongnen();//订票功能void tuipiaogongnen();//退票功能void main(){int n;do{ //打印主界面printf("\t 欢迎使用航空客运订票系统\n");printf("\t+++++++++++++++++++++++++++++\n");printf("\t==>1. 录入功能==\n");printf("\t==>2. 查询功能==\n");printf("\t==>3. 订票功能==\n");printf("\t==>4. 退票功能==\n");printf("\t==>5. 退出==\n");printf("\t+++++++++++++++++++++++++++++\n");printf("\t请选择:");scanf("%d",&n);printf("\n");switch(n){case 1: lurugongneng();//录入功能break;case 2: chaxungongnen();//查询功能break;case 3: dingpiaogongnen();//订票功能break;case 4:tuipiaogongnen();//退票功能break;default :exit(0);//退出}}while(n==1||n==2||n==3||n==4);}void lurugongneng()//初始化的单链表*********************************************************录入功能{Linklist p;//intm,n;if(!p) exit(OVERFLOW);printf("\t请依次输入下面几项内容:\n\n");//这里的输入采用一个个单独输入,避免了乱赋值的现象printf("航班号\n");gets(p->hangbanhao);//这里的二个gets主要是因为在回车键的输入,其中的第一个是来接收上次的回车gets(p->hangbanhao);printf("飞机号\n");gets(p->feijihao);printf("终点站\n");gets(p->zhongdianzhai);printf("飞行日期\n");scanf("%d",&p->feixingriqi);printf("乘客总数\n");scanf("%d",&p->chenkerenshu);printf("余票数\n");scanf("%d",&p->yupiao);}void chaxungongnen()//******************************************************************查询功能{int n;printf("\t 查找航线信息\n");printf("\t+++++++++++++++++++++++++++++\n");printf("\t==>1. 通过目的地查询==\n");printf("\t==>2. 通过航班号查询==\n");printf("\t+++++++++++++++++++++++++++++\n");printf("\t请选择:");scanf("%d",&n);printf("\n");//格式化switch(n){case 1:mddchaxun();break;case 2:hbhchaxun();break;default :break;}void mddchaxun()//通过目的地查询{char c[15];int m;Linklist p=L;printf("\t请输入要查询的目的地:");gets(c);gets(c);//原因同上do{p=p->next;if(p){m=strcmpi((*p).zhongdianzhai,c);//如果==的话则m=0;if(m==0){printf("\t航班信息:\n");printf("\t航班号:%s\n",p->hangbanhao);printf("\t飞机号:%s\n",p->feijihao);printf("\t飞行时间:周%d\n",p->feixingriqi);printf("\t余票量:%d\n",p->yupiao);}}else{//如果不匹配的话就做printf("\t对不起没有你要找的目的地:\n\n"); m=0;}}while(m!=0);}void hbhchaxun()//通过目的地查询char c[15];int m;Linklist p=L;printf("\t请输入要查询的航班号:");gets(c); gets(c);printf("\n");do{p=p->next;if(p){m=strcmpi((*p).hangbanhao,c);//如果==的话则m=0;这里的(*p).与p->的作用是一样的if(m==0){printf("\t航班信息:\n");printf("\t航班号:%s\n",p->hangbanhao);printf("\t飞机号:%s\n",p->feijihao);printf("\t飞行时间:周%d\n",p->feixingriqi);printf("\t余票量:%d\n\n",p->yupiao);}}else{//如果不匹配的话就做printf("\t对不起没有你要找的航班号:\n"); m=0;}}while(m!=0);}void dingpiaogongnen()//***************************************************************订票功能{char c[15];int m=1,piao,ydpiao=0,yd=0,n;//gets(c);printf("请输入终点站名:"); gets(c); printf("\n");p=L->next;if(p) {do{//查找一下,是否有这个航班if(!p){printf("对不起,没有你要找的航班:\n\n");goto loop1;}m=strcmpi(p->zhongdianzhai,c);if(m==0){printf("航班信息:\n");printf("航班号:%s\n",p->hangbanhao);printf("飞机号:%s\n",p->feijihao);printf("飞行时间:周%d\n",p->feixingriqi);printf("余票量:%d\n",p->yupiao);}else p=p->next;}while(m!=0);if(m==0){do{printf("\n请输入你要订的票数:"); scanf("%d",&piao);if(piao<=p->yupiao){h=p->yiding;if(h){h1=h;h=h->next1;h=(structYidingkehu*)malloc(sizeof(Yidingkehu)); printf("请输入你的名字:");gets(h->name);gets(h->name);h->dingpiaoshu=piao;h->next1=h1->next1;h1->next1=h;p->yupiao=p->yupiao-piao;printf("订票成功:\n"); m=2;}}else{printf("余票量:%d\n",p->yupiao);printf("对不起,余票%d 张不足,不能完成订票\n\n",p->yupiao);printf(" 是否要重新订票?\n");printf("需要请输入1 否则请按2 预订请输入3 : ");scanf("%d",&m);printf("\n");if(m==3) goto loop3;}}while(m==1);}}else if(!p){loop3: structWeidingkehu *q3;printf("对不起,该航班的票已售完\n");q.front=p->yudingqueue;if(q.front==q.rear) printf("没有人预订票,是否要预订?\n");else if(q.front!=q.rear) printf("已有人预订票,是否要预订?\n");printf("预订请输入1 否则输入2 : ");scanf("%d",&n);printf("\n");if(n==1){printf("请输入你的姓名"); gets(q3->name); gets(q3->name);//q3不能指向name??? printf("请输入订票数"); scanf("%d",&q3->yudingpiao);q3->next2=NULL;q.rear->next2=q3;q.rear=q3;printf(" 你已经预订了!\n");}}loop1:;}void tuipiaogongnen()//***************************************************************退票功能{}。

C语言程序设计课程设计飞机订票系统的设计

C语言程序设计课程设计飞机订票系统的设计

一、设计内容与设计要求一、设计内容:飞机订票系统1.1问题描述:假设某航空公司只有M架N个座位的飞机,每架飞机每天飞行一趟。

通过该系统来实现机票的订购问题。

1.2功能要求:1)、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:起飞地、目的地航班号、座次号码、座次订出与否标记、订座者的姓名和订座者的身份证号码。

2)、本系统显示这样的菜单:(1)输入航班信息(2)输出航班信息(3)查找航班信息a.显示空座的数量b.显示空座的信息c.显示已订座的信息d.起飞时间(4)订票预约(5)删除定票预约(6)退出系统1、本系统成功执行菜单的每个信息,选项4)和5)将要求额外的输入,并且它们都允许用户收回其输入。

2、查找航班信息既可按线路查,也可按目的地查。

4、在两次运行之间,数据被保存于一个文件里,当本程序重新开始的时候,它首先从该文件读入数据1.3 算法提示:1、数据结构:结构体类型数组2、数据库结构:下表构成该系统的基本数据库。

1.4测试数据:每架飞机的座位N=12,M=51.5 其它:对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能。

二、设计要求1).设计正确,方案合理。

2).界面友好,使用方便。

3).程序精炼,结构清晰。

4).设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。

5).上机演示。

二、进度安排第 18 周星期一上午课题讲解查阅资料星期一下午系统需求分析模块设计星期二上午算法、数据结构设计主程序设计星期二下午各功能模块程序设计修改完善程序星期五下午各功能模块程序设计修改完善程序第 19 周时间待定星期五下午答辩目录一、需求分析 (4)1、程序的功能 (4)2、输入输出的要求 (6)二、概要设计 (9)三、详细设计 (11)1、数据类型 (11)2、模块分析 (12)3、函数的调用关系 (12)四、调试分析以及设计体会 (13)1、测试数据 (13)2、调试分析 (13)3、心得体会 (14)五、使用说明 (15)六、附录 (17)1、参考书目 (17)2、源程序清单(带注释) (17)七、计算机科学与技术系课程设计评分表 (40)一、需求分析1.1 系统功能需求1.1.1程序的功能1.系统管理员功能:1)录入和修改航班和机票的信息:输入航班号,输入起飞港,途径港,到达港,录入起飞时间,到达时间,飞行总共用时,可随时修改航班信息2)输出航班的信息:输入航班号便可输出之前输入的航班信息2.客户需要的功能:1)查找航班信息:a.显示空座的数量b.显示空座的信息c.显示已订座的信息d.起飞时间2)订票预约:查询航班信息后,提前订票预约需要的飞机票,3)删除定票预约4)退出系统1.1.2 主要模块流程图1.1.3 功能描述1.1.4各功能模块的功能描述(1)显示菜单函数:FLIGHT fltlist[5]; PASSENGER psglist[5][12]; ReadFlight(fltlist);PASSENGER* k;k=(PASSENGER*) psglist; ReadPassenger(k);用户可以根据菜单提示,选择相关菜单。

飞机订票系统c语言课程设计

飞机订票系统c语言课程设计

飞机订票系统 c语言课程设计一、教学目标本课程的学习目标主要包括知识目标、技能目标和情感态度价值观目标。

知识目标要求学生掌握飞机订票系统的功能、结构及其相关原理;技能目标要求学生能够运用C语言独立完成飞机订票系统的开发;情感态度价值观目标要求学生培养团队协作意识,增强对计算机编程的兴趣。

通过对课程性质、学生特点和教学要求的分析,我们将目标分解为具体的学习成果。

首先,学生需要理解飞机订票系统的业务流程,掌握C语言的基本语法和编程技巧;其次,学生能够运用所学的知识独立完成飞机订票系统的开发,提高实际操作能力;最后,学生在团队协作过程中培养沟通与协作能力,增强对计算机编程的兴趣和自信心。

二、教学内容本课程的教学内容主要包括飞机订票系统的功能介绍、C语言基础知识、飞机订票系统的模块划分和编程实现。

首先,介绍飞机订票系统的功能,包括用户注册、登录、航班查询、机票预订、支付结算等模块。

其次,讲解C语言的基本语法、数据类型、运算符、控制结构等基础知识。

接着,对飞机订票系统进行模块划分,引导学生了解各模块之间的关系和功能实现。

最后,分别针对各个模块,引导学生运用C语言进行编程实现,完成飞机订票系统的开发。

三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法。

包括讲授法、讨论法、案例分析法和实验法等。

首先,通过讲授法向学生传授飞机订票系统的相关知识和C语言的基本语法。

其次,采用讨论法引导学生针对飞机订票系统的功能和模块划分进行深入探讨,提高团队协作能力。

然后,运用案例分析法分析实际开发过程中遇到的问题,培养学生解决问题的能力。

最后,通过实验法让学生动手实践,独立完成飞机订票系统的开发,提高实际操作能力。

四、教学资源本课程所需的教学资源包括教材、参考书、多媒体资料和实验设备。

教材方面,我们将选用《C语言程序设计》作为主教材,辅以《飞机订票系统设计与实现》等相关参考书。

多媒体资料包括教学PPT、视频教程等,以丰富教学手段,提高学生的学习兴趣。

c语言民航订票系统课程设计

c语言民航订票系统课程设计

c语言民航订票系统课程设计一、课程目标知识目标:1. 让学生掌握C语言中数组、结构体、函数等基本概念及其应用;2. 让学生了解民航订票系统的基本业务流程,理解系统设计的基本原则;3. 使学生能够运用C语言实现简单的民航订票系统功能,如用户注册、航班查询、购票、退票等。

技能目标:1. 培养学生运用C语言进行程序设计的能力,特别是针对民航订票系统这种实际问题的解决能力;2. 提高学生分析问题、设计算法、编写程序、调试程序的能力;3. 培养学生团队协作能力,通过小组合作完成课程设计。

情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养他们主动探索新知识的热情;2. 培养学生面对实际问题时,具备积极解决问题的态度,树立正确的价值观;3. 通过课程设计,使学生认识到编程对于解决现实问题的意义,提高社会责任感。

分析课程性质、学生特点和教学要求,本课程目标旨在让学生在掌握C语言基础知识的基础上,通过实际项目的设计与实现,提高编程能力和解决实际问题的能力。

同时,注重培养学生团队协作精神,提高他们的情感态度价值观,为将来的职业发展打下坚实基础。

通过本课程的学习,学生将能够独立或协作完成一个简单的民航订票系统,并在实践中不断提高自己的编程技能和综合素质。

二、教学内容1. C语言基础知识回顾:数组、结构体、函数、指针等基本概念及其应用。

2. 民航订票系统需求分析:介绍系统业务流程,分析用户需求,明确系统功能模块。

3. 系统设计:讲解如何运用C语言进行系统设计,包括模块划分、数据结构设计、接口设计等。

4. 编程实现:- 用户注册与登录模块:实现用户注册、登录、修改密码等功能;- 航班查询模块:实现按航班号、出发地、目的地等条件查询航班信息;- 购票模块:实现用户购票、选择座位、支付等功能;- 退票模块:实现用户退票、退款等功能;- 管理员模块:实现航班信息管理、用户管理、订单管理等功能。

5. 系统测试与调试:教授学生如何进行系统测试,找出并修复程序中的错误。

c语言机票预订系统课程设计

c语言机票预订系统课程设计

c语言机票预订系统课程设计一、课程目标知识目标:1. 让学生掌握C语言中结构体、数组、函数等基本知识点的综合应用;2. 让学生理解并掌握C语言中文件操作的基本方法;3. 让学生掌握C语言实现机票预订系统的基本原理和步骤。

技能目标:1. 培养学生运用C语言解决实际问题的能力,能独立完成机票预订系统的设计和编程;2. 培养学生分析问题、设计解决方案的能力,能针对具体需求进行模块划分和功能实现;3. 提高学生的团队协作能力,学会与他人合作共同完成一个项目。

情感态度价值观目标:1. 激发学生对计算机编程的兴趣和热情,培养良好的编程习惯;2. 培养学生面对问题勇于挑战、积极解决的态度,增强自信心;3. 通过团队合作,培养学生的集体荣誉感和责任感。

课程性质分析:本课程为C语言程序设计课程的实践环节,旨在让学生通过实际项目的开发,巩固所学知识,提高编程能力。

学生特点分析:学生已具备C语言基础知识,具有一定的编程能力,但缺乏实际项目经验,对综合运用知识解决实际问题的能力有待提高。

教学要求:1. 注重理论与实践相结合,引导学生将所学知识应用于实际项目中;2. 鼓励学生积极参与讨论,培养独立思考和解决问题的能力;3. 加强团队合作指导,提高学生的沟通能力和协作精神。

二、教学内容1. C语言基础知识回顾:结构体、数组、函数、指针、文件操作等;2. 机票预订系统需求分析:讲解系统功能需求,引导学生进行需求分析和模块划分;3. 系统设计:介绍C语言实现机票预订系统的基本原理,包括数据结构设计、模块设计等;4. 编程实现:- 数据结构设计:定义所需的结构体,如航班信息、用户信息等;- 功能模块实现:编写各功能模块的代码,如航班查询、预订、取消预订等;- 文件操作:实现数据的存储和读取,保证数据的持久化;5. 测试与优化:介绍测试方法,指导学生进行系统测试,发现问题并进行优化;6. 团队合作与项目展示:组织学生分组合作,完成整个项目,并进行项目展示和评价。

c语言飞机订票系统课程设计

c语言飞机订票系统课程设计

c语言飞机订票系统课程设计一、课程目标知识目标:1. 让学生掌握C语言的基本语法和程序结构,特别是数组、结构体和函数的应用。

2. 使学生了解飞机订票系统的基本原理和功能需求,掌握相关数据结构和算法。

3. 帮助学生理解文件操作在飞机订票系统中的应用,学会读写数据文件。

技能目标:1. 培养学生运用C语言设计小型系统的能力,特别是模块化编程和代码组织能力。

2. 提高学生分析问题、解决问题的能力,学会运用所学知识解决实际订票问题。

3. 培养学生的团队协作能力,通过分组合作完成课程设计。

情感态度价值观目标:1. 激发学生对编程的兴趣,培养计算机编程的思维习惯。

2. 培养学生认真负责、严谨细致的学习态度,注重代码规范和程序调试。

3. 使学生认识到计算机技术在生活中的应用,增强对信息技术的认识和尊重。

课程性质:本课程设计属于实践性课程,以项目为导向,注重培养学生的实际操作能力和团队协作能力。

学生特点:学生已具备C语言基础知识,有一定的编程基础,但缺乏实际项目经验。

教学要求:教师需引导学生掌握飞机订票系统的基本原理,注重培养学生的编程实践能力,关注学生在课程设计过程中的情感态度变化,及时给予指导和鼓励。

在教学过程中,将课程目标分解为具体的学习成果,便于后续的教学设计和评估。

二、教学内容1. C语言基础回顾:复习数组、结构体、函数等基本概念和用法,确保学生具备扎实的编程基础。

相关教材章节:第3章 数组,第4章 结构体和联合,第6章 函数。

2. 飞机订票系统需求分析:讲解飞机订票系统的基本功能需求,如用户注册、航班查询、订票、退票等。

相关教材章节:第12章 项目设计。

3. 数据结构和算法设计:介绍飞机订票系统中涉及的数据结构(如链表、树等)和算法(如排序、查找等)。

相关教材章节:第7章 数据结构,第8章 算法。

4. C语言编程实践:指导学生运用所学知识编写飞机订票系统的各个功能模块。

相关教材章节:第9章 指针,第10章 文件操作。

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语言 VC6.0 飞机订票系统(程序可运行)

C语言 VC6.0 飞机订票系统(程序可运行)

1、设计目的和要求1、录入航线信息:每条航线信息包括航班号、飞机号、目的地、订票数、余票数共5项。

假设现在有3条航线, 目的地分别是北京, 上海, 广州, 飞机上可乘坐100人( 即初始订票数为0, 余票数为100)。

2、订票业务:客户信息包括姓名, 航班号, 座位号(初始为0)。

有新客户订票时, 先输入客户的姓名和他提出的航班号, 查询该航线的订票情况, 若有余票, 则为客户办理订票手续, 分配给客户一个座位号, 然后将新客户的信息添加, 并修改该航线的订票数和余票数。

若无余票, 则输出客满信息。

进一步可实现如果该航班已经无票,可以提供相关可选择航班信息。

3、退票业务:根据客户提出的航班号, 办理退票,删除该客户的信息, 并修改文件相应航线的订票数和余票数。

4、修改航班信息:当航班信息改变可以修改。

2、设计原理1、线性链表1.1线性链表简介线性表的链式存储结构称为线性链表,是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接来实现的。

因此,在链式存储方式中,每个结点由两部分组成:一部分用于存放数据元素的值,称为数据域;另一部分用于存放指针,称为指针域,用于指向该结点的前一个或后一个结点(即前件或后件)1.2线性链表分类线性链表分为单链表、双向链表和循环链表三种类型。

在单链表中,每一个结点只有一个指针域,由这个指针只能找到其后件结点,而不能找到其前件结点。

因此,在某些应用中,对于线性链表中的每个结点设置两个指针,一个称为左指针,指向其前件结点;另一个称为右指针,指向其后件结点,这种链表称为双向链表。

1.3线性链表的基本运算(1)在线性链表中包含指定元素的结点之前插入一个新元素。

在线性链表中插入元素时,不需要移动数据元素,只需要修改相关结点指针即可,也不会出现“上溢”现象。

(2)在线性链表中删除包含指定元素的结点。

*:在线性链表中删除元素时,也不需要移动数据元素,只需要修改相关结点指针即可。

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

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

C语言程序设计课程设计题目:飞机订票系统院(系):专业班级:学号:学生姓名:指导教师:教师职称:起止时间:课程设计(报告)任务及评语目录第1章课程设计的目的与要求 (1)1.1 课程设计目的 (1)1.2 课程设计的实验环境 (1)1.3 课程设计的预备知识 (1)1.4 课程设计要求 (1)第2章课程设计内容 (2)2.1程序功能介绍 (2)2.2程序整体设计说明 (2)2.2.1设计思路 (2)2.2.2数据结构设计及用法说明 (3)2.2.3程序结构(流程图) (5)2.2.4各模块的功能及程序说明 (5)2.2.5程序结果 (6)2.3程序源代码及注释 (7)第3章课程设计总结 (17)参考资料 (18)第1章课程设计的目的与要求1.1 课程设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计语言(C)》课程后进行的一次全面的综合练习。

本课程设计的目的和任务:1. 巩固和加深学生对C语言课程的基本知识的理解和掌握2. 掌握C语言编程和程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力1.2 课程设计的实验环境硬件要求能运行Windows 2000/XP操作系统的微机系统。

C语言程序设计及相应的开发环境。

1.3 课程设计的预备知识熟悉C语言及C语言开发工具。

1.4 课程设计要求1. 分析课程设计题目的要求2. 写出详细设计说明3. 编写程序代码,调试程序使其能正确运行4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告第2章课程设计内容2.1程序功能介绍本程序首先输入机票信息,管理员在保存功能中通过密码验证输入机票信息,可以对机票信息进行查询;修改;删除等功能。

一般用户可以使用订票;显示;退票等功能,在订票时用户输入密码在退票时通过验证后成功退票。

假定民航机场共有n个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员订额。

飞机订票系统c语言课程设计

飞机订票系统c语言课程设计

飞机订票系统 c语言课程设计一、课程目标知识目标:1. 理解C语言在开发飞机订票系统中的应用,掌握相关数据结构(如结构体、数组、链表)的使用;2. 学会使用C语言进行文件操作,实现数据的存储和读取;3. 掌握C语言中的模块化编程思想,将系统功能划分为多个函数并实现协同工作。

技能目标:1. 能够运用所学知识,独立设计和实现一个飞机订票系统,包括用户注册、查询航班、预订机票、取消预订等功能;2. 提高问题分析能力,针对实际需求,运用C语言编写合适的算法和程序;3. 培养良好的编程习惯,编写规范、易读、高效的代码。

情感态度价值观目标:1. 培养学生面对复杂问题时,保持积极、主动、合作的态度,勇于克服困难;2. 增强学生的团队协作意识,学会在团队中发挥个人优势,共同完成任务;3. 通过课程学习,让学生认识到编程在实际生活中的应用价值,激发对计算机科学的兴趣。

本课程针对高年级学生,课程性质为实践性较强的课程设计。

在教学过程中,要求学生具备一定的C语言基础,能独立完成程序编写和调试。

课程目标的设定旨在让学生在掌握C语言知识的基础上,进一步提高编程实践能力,培养实际项目开发中的团队协作和问题解决能力。

通过课程学习,使学生能够将所学知识应用于实际项目中,达到学以致用的目的。

二、教学内容1. C语言基础知识复习:数据类型、运算符、控制语句、函数等基本概念;教材章节:第一章至第四章。

2. 数据结构:结构体、数组、链表等;教材章节:第六章、第七章。

3. 文件操作:文件打开、读取、写入、关闭等;教材章节:第十章。

4. 模块化编程:函数定义、调用、参数传递、作用域等;教材章节:第五章、第八章。

5. 飞机订票系统功能设计:- 用户注册、登录功能;- 航班查询、预订、取消预订功能;- 数据存储与读取功能;教材章节:综合应用实例。

6. 编程规范与调试技巧:代码风格、调试方法、性能优化等;教材章节:第十二章。

教学内容安排与进度:第一周:C语言基础知识复习;第二周:数据结构学习;第三周:文件操作学习;第四周:模块化编程;第五周:飞机订票系统功能设计与实现;第六周:编程规范与调试技巧,项目完善与优化。

c语言飞机订票系统课程设计

c语言飞机订票系统课程设计

c 语言飞机订票系统课程设计一、课程目标知识目标:1. 学生理解C语言中结构体、数组、函数等基本概念,并能运用这些知识设计飞机订票系统。

2. 学生掌握C语言文件操作,实现对飞机票数据的存储和读取。

3. 学生了解C语言中字符串处理函数,并能够运用字符串操作进行信息输入和输出。

技能目标:1. 学生能够运用结构体和数组创建和管理飞机票数据,实现票务信息的增删改查功能。

2. 学生能够编写C语言程序,实现用户界面交互,包括用户登录、航班查询、购票、退票等功能。

3. 学生能够利用文件操作保存和加载飞机订票系统数据,保证数据的持久性。

情感态度价值观目标:1. 学生培养编程的兴趣,激发学习C语言的积极性,形成自主学习的习惯。

2. 学生通过合作完成课程设计,培养团队协作能力和沟通能力,增强集体荣誉感。

3. 学生了解飞机订票系统的实际应用,认识到编程知识在解决实际问题中的价值,增强学以致用的意识。

课程性质:本课程设计为实践性课程,旨在让学生将所学的C语言知识应用于实际项目中,提高编程能力和解决实际问题的能力。

学生特点:学生已具备C语言基础知识,具有一定的编程能力,但对实际项目的开发尚缺乏经验。

教学要求:教师需引导学生复习相关知识点,提供必要的技术支持,鼓励学生自主探究和团队协作,注重培养学生的实践能力和创新能力。

在教学过程中,关注学生的个体差异,给予个性化指导,确保每位学生都能在课程中取得进步。

通过课程设计,使学生将理论知识与实践相结合,提高综合运用C语言知识解决实际问题的能力。

二、教学内容1. 复习C语言基础知识:结构体、数组、函数、指针、文件操作、字符串处理函数等。

相关教材章节:第一章至第六章- 结构体与数组:理解结构体的定义和用法,掌握结构体数组的操作。

- 函数:掌握函数的定义、调用和参数传递。

- 指针:理解指针的概念和操作,掌握指针在数组、函数中的应用。

- 文件操作:掌握文件的打开、读写、关闭操作。

- 字符串处理函数:熟悉常用的字符串处理函数,如strcpy、strcat等。

飞机订票系统(C语言代码及流程图)

飞机订票系统(C语言代码及流程图)

飞机订票系统(C语⾔代码及流程图)第⼀部分源程序---------------------------------------------------3第⼆部分函数流程图--------------------------------------------11 menu()-----------------------------------------------------12 enter()-----------------------------------------------------13 input()-----------------------------------------------------14 browse()---------------------------------------------------15 menu1()---------------------------------------------------16 order()-----------------------------------------------------17 search_time()---------------------------------------------18 search_end()----------------------------------------------19 search()----------------------------------------------------20 book()------------------------------------------------------21 back()------------------------------------------------------22 save()------------------------------------------------------23 load()------------------------------------------------------24 第三部分⼼得体会------------------------------------------------25第⼀部分:源程序#include#include#include#define N 1000typedef 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].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;}void enter(){int i;system( "cls" );printf("请输⼊航班的数⽬(0-%d)?:",N);scanf("%d",&n); /*要输⼊的记录个数*/printf("\n请输⼊数据\n\n");for(i=0;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_one(i);printf("\n");}getchar();getchar();menu();}void order() /*排序模块(按平均成绩)*/{int i,j;struct plane s;system( "cls" );for(i=0;i{for(j=i+1;jif(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");if(strcmp(s.data,ti[i].data)==0){m++;if((m!=0)&&(m%10==0)) /*⽬的是分屏显⽰*/{printf("\n\nPress any key to contiune . . .");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{if(strcmp(ti[i].EnPlace,s.EnPlace)==0){m++;printf("\n\nPress any key to contiune . . .");getchar();puts("\n\n");}printf_one(i);printf("\n");/*调⽤显⽰⼀个记录的函数*/}}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:");}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;}}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{if(strcmp(s.BePlace,ti[i].BePlace)==0&&strcmp(s.EnPlace,ti[i].EnPlace)==0&&strcmp(s.dat a,ti[i].data)==0) {k=i; /*找到要修改的记录*/printf_one(k);break; /*调⽤显⽰⼀个记录的函数*/}}printf("\n\nNO exist!");return -1;}elsereturn k;}void book(){int i;system( "cls" );printf("欢迎进⼊售票窗⼝!\n"); 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;printf("欢迎进⼊退票窗⼝!\n");printf("\n\n输⼊航班代号:");scanf("%s",s.ID); /*输⼊要到达的地⽅*/for(i=0;i{if(strcmp(s.ID,ti[i].ID)==0){k=i; /*找到要修改的记录*/printf_one(k);break; /*调⽤显⽰⼀个记录的函数*/}}if(k==-1){printf("\n\nNO exist!");}else{ti[i].num--;printf("\n退票成功!\n");}getchar(); /*按任意健*/getchar(); /*按任意健*/menu();}void save(){int w=1;FILE *fp;int i;system( "cls" );if((fp=fopen("D:\\我的⽂档\\桌⾯\\ticket.txt","wt"))==NULL) /*以输出打开⽅式,在此前的记录被覆盖*/ {}for(i=0;iif(fwrite(&ti[i],sizeof(struct plane),1,fp)!=1){printf(" error\n");w=0;}if(w==1){printf(" ok!\n");}fclose(fp);getchar();getchar();menu();}void load(){FILE *fp;int i,w;w=1;system( "cls" );if((fp=fopen("D:\\我的⽂档\\桌⾯\\ticket.txt","rt"))==NULL) {printf("\nCan not open file\n");w=0;return;}n=0;for(i=0;!feof(fp);i++){fread(&ti[i],sizeof(struct plane),1,fp);n++;fclose(fp);if(w==1)printf("Load !");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.退票");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 choice again:"); getchar();getchar();}/*选择功能*/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();}第⼆部分:函数流程图(2)enter函数流程图。

c语言课程设计--飞机订票系统

c语言课程设计--飞机订票系统

c语言课程设计–飞机订票系统一、教学目标本课程的教学目标是使学生掌握C语言编程的基本知识,能够使用C语言设计并实现一个简单的飞机订票系统。

具体分为以下三个部分:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数等编程基础。

2.技能目标:学生能够运用C语言进行程序设计,解决实际问题,如设计飞机订票系统的各个功能模块。

3.情感态度价值观目标:培养学生对计算机科学的兴趣,提高学生解决问题的能力,培养学生的团队合作精神。

二、教学内容教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等编程基础,以及如何使用C语言设计并实现一个简单的飞机订票系统。

具体安排如下:1.C语言基本语法和数据类型2.C语言运算符和控制结构3.C语言函数和数组4.C语言指针和字符串5.飞机订票系统的设计和实现三、教学方法为了达到课程目标,我们将采用以下教学方法:1.讲授法:用于讲解C语言的基本语法、数据类型、运算符、控制结构、函数等编程基础。

2.案例分析法:通过分析实际案例,让学生了解如何使用C语言设计并实现飞机订票系统。

3.实验法:让学生动手编写代码,实现飞机订票系统的各个功能模块。

四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《C程序设计语言》或《C语言程序设计》2.参考书:《C Primer Plus》或《C和指针》3.多媒体资料:教学PPT、视频教程4.实验设备:计算机、网络环境五、教学评估为了全面、客观地评估学生的学习成果,我们将采用以下评估方式:1.平时表现:通过课堂参与、提问、小组讨论等环节,评估学生的学习态度和积极性。

2.作业:布置课后编程作业,评估学生对C语言知识的掌握程度及编程能力。

3.考试:期末进行闭卷考试,评估学生对C语言编程基础知识的掌握情况。

4.项目实践:要求学生分组设计并实现一个简单的飞机订票系统,评估学生的实际编程能力和团队协作能力。

c语言程序设计报告飞机票预订系统

c语言程序设计报告飞机票预订系统

.. 目录目录 (i)1课程设计的目的 (1)2需求分析 (1)2.1设计一个飞机订票系统,完成以下功能 (1)2.2该系统中用到的数据结构 (1)3概要设计 (2)3.1总体功能模块 (2)3.1.1 基本设计 (2)3.1.2开发平台 (2)3.1.3系统功能图 (2)3.2详细设计 (3)3.2.1主函数的实现 (3)3.2.2打印模块程序 (4)3.2.3保存模块程序 (5)3.2.4从文件读取信息模块 (6)3.2.5打印模块 (7)3.2.8订票模块 (11)3.2.9退票模块 (13)3.2.10修改模块 (13)3.2.11头文件及结构体数组 (16)4 调试与测试结果分析 (17)4.1系统主界面 (17)4.2输入航班信息界面 (18)4.3浏览航班信息界面 (19)4.4修改航班信息界面 (19)4.5查找航班信息界面 (21)4.6删除航班信息界面 (22)4.7订票信息界面 (23)4.8退票信息界面 (24)4.9退出系统 (25)5 使用说明 (26)6总结 (26)参考文献 (28)附录 (29)飞机票预订系统的设计与实现1课程设计的目的(1)学会怎样用c语言做一个完整的系统。

(2)掌握c语言的编辑,链接,运行等环节。

(3)掌握c语言中链表的建立,插入,删除,保存节点。

熟练掌握for while 、do-while 循环语句的使用。

(4)通过程序设计的课程设计,掌握并熟悉一个简单项目的开发过程,本项目利用程序设计中最基础和最重要的部分:单链表。

(5)在整个开发设计过程中掌握程序设计的思想,以及各种操作和实际应用。

并可以将其运用于具体问题的解决之中。

加深对程序设计课程中理论和实践相结合的认识。

(6)掌握并熟练单链表的创建、插入、删除、查找等各种常用算法。

最终设计完成《飞机票预订及查询系统》,将各种算法综合运用于具体的设计任务中。

(7)C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。

C语言实现-航空订票系统(飞机订票系统)

C语言实现-航空订票系统(飞机订票系统)

C语⾔实现-航空订票系统(飞机订票系统)开发环境:CodeBlocks开发语⾔:C实现功能:登录,订票,退票数据存储:⽂本读写涉及⽂件:相关⽂件下载:码云: GitHub:相关图⽚(仅供参考):程序是没有涉及旅⾏社的ER图:数据库:类图:⽤例图:订票顺序图:订票状态图:登录活动图:以上图⽚仅供参考,请⾃⾏斟酌程序主界⾯:源码如下:1 #include <stdio.h>2 #include <stdlib.h>3 #include <string.h>4 #include <stdbool.h>5//#include "getch.h"6 #include <conio.h>7#define MAX_Flight 508#define MAX_Passenger 209#define MAX_Order 501011 typedef struct Flight12{13char fid[20]; //航班号14char fname[20]; //航班名称15char start[10]; //起点16char end[10]; //终点17int fnum; //票数18}Flight;1920 typedef struct Passenger21{22char pid[20]; //⾝份证23char pname[10]; //姓名24char password[20]; //密码25char tell[20]; //电话26}Passenger;2728 typedef struct Order29{30char pid[20]; //⾝份证31char fid[20]; //航班号32int num; //票数33}Order;3435 Flight *FLI;36 Passenger *PAS;37 Order *ORD;3839char start[10]; //起点40char end[10]; //终点41char search_fid[50][20]; //符合条件的航班号42int search_fnum[50]; //符合条件的航班票数43int online = 0; //是否登录的变量44char online_pid[20]; //在线⽤户的⾝份证45int search_num = 0; //符合条件的航班数4647void init_sys(void); // 系统初始化48void show_flight(void); // 显⽰航班表49void start_sys(void); // 系统开始运⾏50void exit_sys(void); // 退出系统51void menu(void); // ⽣成主菜单52void login(void); // 登录53void logout(void); //⽤户登出54void passenger_info(void); //查询旅客信息55bool change_pas_info(void); //修改旅客信息56void search_start(void); // ⽣成查询页⾯57bool search(void); // 查询航班58void order_list(void); // ⽣成订单表59void del_order(void); // 退票60void clear_stdin(void); // 清除输⼊缓冲区61char* get_str(char* str,size_t len); // 获取字符串62char get_cmd(char start,char end); // 获取cmd命令 6364int main()65{66 init_sys();67 start_sys();68 exit_sys();69return0;70}7172// 系统初始化73void init_sys(void)74{75// 申请堆内存、加载数据76 FLI = calloc(MAX_Flight,sizeof(Flight));77 PAS = calloc(MAX_Passenger,sizeof(Passenger));78 ORD = calloc(MAX_Order,sizeof(Order));79 printf("system_init...\n");8081 FILE* ofrp = fopen("order.txt","r");82int i=0;83for(i=0; i<MAX_Order; i++) //读取⽂本中的数据到内存84 { int num = 0;85 num = fscanf(ofrp,"%s %s %d\n",ORD[i].pid,ORD[i].fid,&ORD[i].num);86 }8788 FILE* ffrp = fopen("flight.txt","r");89for(i=0; i<MAX_Flight; i++)90 {91int num = 0;92 num = fscanf(ffrp,"%s %s %s %s %d\n",FLI[i].fid,FLI[i].fname,FLI[i].start,FLI[i].end,&FLI[i].fnum);93 }9495 FILE* pfrp = fopen("passenger.txt","r");96for(i=0; i<MAX_Passenger; i++)97 {98int num = 0;99 num = fscanf(pfrp,"%s %s %s %s\n",PAS[i].pid,PAS[i].pname,PAS[i].password,PAS[i].tell);100 }101}102103// 显⽰航班表104void show_flight(void)105{106int i = 0;107for(i=0; i<MAX_Flight; i++)108 {109if(strlen(FLI[i].fid) != 0)110 {111 printf("id:%s name:%s start:%s end:%s fnum:%d\n",FLI[i].fid,FLI[i].fname,FLI[i].start,FLI[i].end,FLI[i].fnum); 112 }113 }114}115116// 系统开始运⾏117void start_sys(void)118{119// 进⼊系统的业务流程控制120//printf("系统开始运⾏...\n");121//show_flight();122while(true)123 {124 menu();125switch(get_cmd('0','7'))126 {127case'1': search_start(); break;128case'2': order_list(); break;129case'3': del_order(); break;130case'4': passenger_info(); break;131case'5': change_pas_info(); break;132case'6': login(); break;133case'7': logout(); break;134case'0': return;135 }136 }137}138139// 系统结束140void exit_sys(void)141{142 printf("data insert...\n");143 FILE* ofwp = fopen("order.txt","w");144 printf("ready insert order.txt\n");145int i= 0;146for(i=0; i<MAX_Order; i++) //数据存储回本地147 {148int num = 0;149if(strlen(ORD[i].pid) != 0)150 {151 num = fprintf(ofwp,"%s %s %d\n",ORD[i].pid,ORD[i].fid,ORD[i].num);152//printf("insert order.txt success\n");153 }154 }155156 FILE* ffwp = fopen("flight.txt","w");157 printf("insert flight.txt\n");158for(i=0; i<MAX_Flight; i++)159 {160int num = 0;161if(strlen(FLI[i].fid) != 0)162 {163 num = fprintf(ffwp,"%s %s %s %s %d\n",FLI[i].fid,FLI[i].fname,FLI[i].start,FLI[i].end,FLI[i].fnum); 164//printf("insert flight.txt success\n");165 }166 }167168 FILE* pfwp = fopen("passenger.txt","w");169 printf("insert passenger.txt\n");170for(i=0; i<MAX_Passenger; i++)171 {172int num = 0;173if(strlen(PAS[i].pid) != 0)174 {175 num = fprintf(pfwp,"%s %s %s %s\n",PAS[i].pid,PAS[i].pname,PAS[i].password,PAS[i].tell); 176//printf("insert passenger.txt success\n");177 }178 }179// 释放内存、保存数据180free(FLI);181free(PAS);182free(ORD);183 printf("exit...\n");184}185186// ⽣成主菜单187void menu(void)188{189 printf("\n");190 printf("********************************\n");191 printf("| |\n");192 printf("| flight order system |\n");193 printf("* 1.search_flight *\n"); //查询航班194 printf("| 2.order_list |\n"); //查询订票信息195 printf("* 3.del_order *\n"); //退订196 printf("| 4.passenger_info |\n"); //查询旅客信息197 printf("* 5.change_pas_info *\n"); //修改旅客信息198 printf("| 6.login |\n"); //⽤户登录199 printf("* 7.logout *\n"); //⽤户登出200 printf("| 0.exit_sys |\n"); //退出系统201 printf("| |\n");202 printf("********************************\n");203//printf("\n");204}205206// 登录207void login(void)208{209if(online == 0) //如果没有登录210 {211int i=0;212int time = 0;213while(time<3)215char entry_pid[20]; //临时变量⾝份证216char entry_pw[20]; //临时变量密码217 printf("please login!\n");218 printf("please entry pid:");219 get_str(entry_pid,20);220 printf("please entry password:");221 get_str(entry_pw,20);222for(i=0; i<MAX_Passenger; i++)223 {224if(strlen(entry_pid)==0 || strlen(entry_pw)==0)225 {226 printf("pid or password can't be empty\n");227 time++;228break;229 }230else if(strcmp(PAS[i].pid,entry_pid) == 0 && strcmp(PAS[i].password,entry_pw) == 0) 231 {232 printf("login success!\n");233 strcpy(online_pid,entry_pid);234 online = 1;235return;236 }237else if(i==MAX_Passenger-1)238 {239 printf("pid or password error\n");240 time++;241 }242 }243 }244 online = -1;245 printf("you have been locked,you can use this system now\n");246 }247else if(online ==1)248 {249 printf("you have been login\n");250 }251else252 {253 printf("you have been locked,you can use this system now\n");254 }255256}257258// ⽤户登出259void logout(void)260{261if(online == 1) //如果已经登录262 {263 online = 0;264 printf("logout success\n");265 }266else if(online == -1)267 {268 printf("you have been locked,you can use this system now\n");269 }270else271 {272 printf("you have not login\n");273 }274}275276// 查询旅客信息277void passenger_info(void)278{279if(online == 1) //如果已经登录280 {281//printf("online_pid:");282//puts(online_pid);283int i = 0;284for(i=0; i<MAX_Passenger; i++)286if(strcmp(online_pid,PAS[i].pid)==0)287 {288 printf("pid:%s, pname:%s, password:%s, tell:%s\n",PAS[i].pid,PAS[i].pname,PAS[i].password,PAS[i].tell); 289break;290 }291 }292 }293else if(online == -1)294 {295 printf("you have been locked,you can use this system now\n");296 }297else298 {299 printf("you have not login\n");300 }301}302303//修改旅客信息304bool change_pas_info(void)305{306if(online == 1) //如果已经登录307 {308 printf("your old info:\n");309int i = 0;310for(i=0; i<MAX_Passenger; i++)311 {312if(strcmp(online_pid,ORD[i].pid)==0)313 {314 printf("pid:%s, pname:%s\npassword:%s, tell:%s\n",PAS[i].pid,PAS[i].pname,PAS[i].password,PAS[i].tell); 315break;316 }317 }318char new_pid[20];319char new_pname[10];320char new_password[20];321char new_tell[20];322 printf("please entry new pid:");323 get_str(new_pid,20);324 printf("please entry new pname:");325 get_str(new_pname,10);326 printf("please entry new password:");327 get_str(new_password,20);328 printf("please entry new tell:");329 get_str(new_tell,20);330 strcpy(PAS[i].pid,new_pid);331 strcpy(PAS[i].pname,new_pname);332 strcpy(PAS[i].password,new_password);333 strcpy(PAS[i].tell,new_tell);334 printf("change success\n");335 }336else if(online == -1)337 {338 printf("you have been locked,you can use this system now\n");339 }340else341 {342 printf("you have not login\n");343 }344}345346// 开始查询航班347void search_start(void)348{349if(search())350 {351 printf("1.order\n");352 printf("0.back\n");353char cmd = get_cmd('0','1');354if(cmd == '0')355 {356return;357//start_sys();358 }359else360 {361char fid[20]; // 选择的航班号362if(online == 1) // 如果已经登录363 {364 printf("please entry fid:");365 get_str(fid,20);366if(0 == strlen(fid))367 {368 printf("fid is empty\n");369 }370int i = 0;371for(i=0; i<search_num; i++)372 {373//printf("fid:%s s_fid:%s num:%d\n",fid,search_fid[i],search_fnum[i]); 374if(strcmp(fid,search_fid[i])==0 && search_fnum[i]>0) //查询到对应航班375 {376 printf("order success\n");377int j=0;378for(j=0; j<MAX_Flight; j++) // 遍历航班表379 {380if(strcmp(fid,FLI[j].fid)==0)381 {382 FLI[j].fnum--; //票数减1383break;384 }385 }386int k=0;387for(k=0; k<MAX_Order; k++) // 遍历订票表388 {389//printf("ready insert...\n");390if(strlen(ORD[k].pid) == 0) // 在空位置插⼊数据391 {392 strcpy(ORD[k].pid,online_pid); // 插⼊当前⽤户⾝份证393 strcpy(ORD[k].fid,search_fid[i]); // 插⼊当前选择的航班号394 ORD[k].num = 1;395 printf("insert_to_order success\n");396break;397 }398 }399return;400 }401else if(strcmp(fid,search_fid[i])==0 && search_fnum[i] == 0)402 {403 printf("no ticket\n");404 search_start();405 }406else if(i==MAX_Flight-1)407 {408 printf("don't have this fid\n");409 search_start();410 }411 }412 }413else if(online == -1)414 {415 printf("you have been locked,you can use this system now\n");416 }417else418 {419 login();420 }421 }422 }423}424425// 查询航班426bool search(void)427{428 printf("start: \n");429 get_str(start,10);430 printf("end: \n");431 get_str(end,10);432int i=0;433 search_num = 0;434for(i=0; i<MAX_Flight; i++)435 {436if(strlen(start) == 0 || strlen(end) == 0)437 {438 printf("start or end can't be empty\n");439return false;440 }441if(strcmp(FLI[i].start,start)==0 && strcmp(FLI[i].end,end)==0)442 {443 printf("fid:%s, ticket_num:%d\n",FLI[i].fid,FLI[i].fnum);444 strcpy(search_fid[search_num],FLI[i].fid);445 search_fnum[search_num] = FLI[i].fnum;446//printf("search_fid[%d]:%s, search_fun[%d]:%d\n",search_num,search_fid[search_num],search_num,search_fnum[search_num]); 447 ++search_num;448 }449if(0 == search_num && i == MAX_Flight-1)450 {451 printf("no flight\n");452return false;453 }454if(search_num > 0 && i == MAX_Flight-1)455 {456//show_flight();457return true;458 }459 }460}461462// 输出订单信息463void order_list(void)464{465if(online == 1)466 {467int i=0;468for(i=0; i<MAX_Order; i++)469 {470if(strcmp(online_pid,ORD[i].pid)==0)471 {472//printf("online_pid:%s\n",online_pid);473 printf("fid:%s, pid:%s, ticket:%d\n",ORD[i].fid,ORD[i].pid,ORD[i].num);474 }475 }476 }477else if(online == -1)478 {479 printf("you have been locked,you can use this system now\n");480 }481else482 {483 login();484 }485}486487// 删除订单488void del_order(void)489{490if(online == 1)491 {492char fid[20];493 printf("order_list:\n");494 order_list();495 printf("please entry del_order fid:");496 get_str(fid,20);497int i=0;498for(i=0; i<MAX_Order; i++)499 {500if(strlen(fid)==0) //判空501 {502 printf("del_order fid can't be empty\n");503return;504 }505if(strcmp(fid,ORD[i].fid)==0)506 {507 memset(ORD[i].pid,'\0',sizeof(ORD[i].pid));508int j=0;509for(j=0; j<MAX_Flight; j++)510 {511if(strcmp(fid,FLI[j].fid)==0)512 {513 FLI[j].fnum++; // 返还飞机票514break;515 }516 }517 printf("delete success\n");518return;519 }520 }521 }522else if(online == -1)523 {524 printf("you have been locked,you can use this system now\n"); 525 }526else527 {528 login();529 }530531}532533// 清理输⼊缓冲区534/*void clear_stdin(void)535{536 stdin->_IO_read_ptr = stdin->_IO_read_end;//清理输⼊缓冲区537}538*/539540// 读取输⼊字符串541char* get_str(char* str,size_t len)542{543if(NULL == str)544 {545 puts("empty ptr!");546return NULL;547 }548549char *in=fgets(str,len,stdin);550551 size_t cnt = strlen(str);552if('\n' == str[cnt-1])553 {554 str[cnt-1] = '\0';555 }556else557 {558 scanf("%*[^\n]");559 scanf("%*c");560 }561562//clear_stdin();563564return str;565}566567// 获取cmd命令568char get_cmd(char start,char end)569{570//clear_stdin();571572 printf("please entry cmd:"); 573while(true)574 {575char val = getch();576if(val >= start && val <= end) 577 {578 printf("%c\n",val);579return val;580 }581 }582 }。

c语言课程设计飞机订票系统设计

c语言课程设计飞机订票系统设计

c语言课程设计飞机订票系统设计一、课程目标知识目标:1. 学生能够掌握C语言的基本语法,包括数据类型、运算符、控制语句等。

2. 学生能够理解结构体和指针的概念,并能够运用它们进行程序设计。

3. 学生能够运用数组、链表等数据结构来实现飞机订票系统的基本功能。

4. 学生能够理解文件操作的基本原理,实现数据的存储和读取。

技能目标:1. 学生能够运用C语言编写具有一定规模的程序,具备独立解决问题的能力。

2. 学生能够运用结构体和指针操作实现数据的有效组织和管理。

3. 学生能够通过分析飞机订票系统的需求,设计合理的程序模块和接口。

4. 学生能够运用调试工具和技巧,找出并修复程序中的错误。

情感态度价值观目标:1. 学生在课程学习过程中,培养对编程的兴趣和热情,树立编程自信心。

2. 学生能够认识到编程在解决实际问题中的重要作用,提高学习责任感。

3. 学生通过团队协作完成课程设计,培养沟通、协作能力和集体荣誉感。

4. 学生能够遵循编程规范,养成良好的编程习惯,提高自身职业素养。

课程性质:本课程为C语言课程设计,旨在让学生通过实际项目实践,巩固所学知识,提高编程能力。

学生特点:学生已具备C语言基础知识,有一定的编程基础,但对大型程序设计尚缺乏经验。

教学要求:教师应注重引导学生运用所学知识解决实际问题,关注学生的个体差异,提供有针对性的指导,帮助学生完成课程目标。

同时,注重培养学生的团队协作能力和创新能力。

通过课程设计,使学生将所学知识转化为实际成果。

二、教学内容1. C语言基本语法复习:数据类型、变量、常量、运算符、表达式、控制语句(条件语句、循环语句)。

2. 结构体和指针:结构体的定义和使用、结构体数组、指向结构体的指针、动态内存分配。

3. 数据结构:数组、链表的概念与应用,实现航班信息、座位信息的存储和查询。

4. 函数和模块化设计:函数的定义、调用、参数传递、模块化设计原则,实现飞机订票系统的功能模块。

5. 文件操作:文件的概念、文件的打开与关闭、文件的读写操作,实现数据的持久化存储。

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

C语言程序设计——飞机订票系统代码如下:”#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);}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, preserve[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, preserve[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);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返回主菜单。

");scanf("%d", &x);while (x != 0 && x != 1){printf("\n您的输入有误,请重新输入0或1!");scanf("%d", &x);}if (x == 0){menu();k = 0;}if (x == 1)k = 1;} while (k);}void delplane(){char str[12];FILE *fp;int total = 0;int i = 0;int del = 0;PLANE delplane[10];if ((fp = fopen("D:\\file", "rb") == NULL)){printf("文件有错误不能打开!");exit(0);}printf("请输入要删除的航班号:");scanf("%s", str);while (fread(&delplane[total], LEN, 1, fp))total++;for (i = 0; i<total; i++)if (strcmp(delplane[i].num, str) == 0)break;for (; i<total; i++){delplane[i] = delplane[i + 1];total = total - 1;del = 1;printf("\n成功删除信息");}if (del == 0){printf("系统中不存在要删除的信息!");menu();}else{if ((fp = fopen("D:\\file", "wb+")) == NULL);{printf("文件有错误不能打开!");exit(0);}}for (i = 0; i<total; i++) {fwrite(&delplane[i], LEN, 1, fp);fclose(fp);}}。

相关文档
最新文档