C语言课程设计(飞机订票系统说明书)

合集下载

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

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

飞机订票系统c语言课程设计一、课程目标知识目标:1. 学生能理解飞机订票系统的基本功能需求,掌握C语言实现此类系统的基本知识结构。

2. 学生能掌握结构体、数组、函数等C语言基础语法在飞机订票系统中的应用。

3. 学生了解并掌握文件操作在飞机订票系统中的重要性,并能实现数据存储与读取。

技能目标:1. 学生具备运用C语言设计并实现一个简单的飞机订票系统的能力。

2. 学生能通过分析问题,设计合理的程序结构,编写出清晰、高效的代码。

3. 学生能够利用所学知识进行程序调试和优化,解决实际问题。

情感态度价值观目标:1. 学生培养对编程的兴趣,激发探究精神,形成积极的学习态度。

2. 学生在课程实践中体会团队合作的重要性,培养沟通与协作能力。

3. 学生通过学习,认识到计算机编程在现实生活中的应用价值,增强社会责任感。

课程性质:本课程为高年级C语言程序设计课程的实践应用环节,旨在巩固学生的基础知识,提高实际编程能力。

学生特点:学生已经具备一定的C语言基础,具有较强的逻辑思维能力和问题解决能力。

教学要求:结合学生特点和课程性质,课程目标应具体、可衡量,注重培养学生的实践能力和团队协作精神。

通过分解课程目标为具体的学习成果,使学生在实践中掌握知识,提高技能,培养情感态度价值观。

后续教学设计和评估将围绕这些具体目标进行。

二、教学内容1. 系统需求分析:介绍飞机订票系统的基本功能,如用户登录、航班查询、座位选择、订票、退票等。

- 教材章节:第五章“结构体与链表”的应用,第十章“文件操作”。

2. C语言基础知识回顾:结构体、数组、函数、指针、文件操作等。

- 教材章节:第一至第四章基础语法,第五章结构体与链表,第六章数组,第七章函数,第八章指针,第十章文件操作。

3. 程序设计:根据需求分析,设计系统框架,编写代码实现各功能模块。

- 教材章节:第三章“程序控制结构”,第四章“函数与程序结构”,第五章“结构体与链表”,第七章“函数”。

c课程设计飞机订票系统

c课程设计飞机订票系统

c课程设计飞机订票系统一、课程目标知识目标:1. 学生能理解飞机订票系统的基本原理,掌握其功能模块和使用方法。

2. 学生能运用所学编程语言,设计并实现一个简单的飞机订票系统。

3. 学生了解数据库的基本操作,能运用数据库管理飞机票务信息。

技能目标:1. 学生掌握编程语言的基本语法,能运用条件语句、循环语句等编写程序。

2. 学生具备一定的系统设计能力,能根据需求分析,设计出合理的系统模块。

3. 学生能够运用数据库技术,实现数据的增、删、改、查等操作。

情感态度价值观目标:1. 学生培养对计算机编程的兴趣,激发学习主动性和创新能力。

2. 学生树立团队合作意识,学会与他人共同解决问题,提高沟通与协作能力。

3. 学生通过课程学习,认识到信息技术的应用价值,增强对信息社会的责任感。

课程性质分析:本课程为信息技术学科,旨在培养学生掌握编程语言和数据库技术,通过设计飞机订票系统,提高学生的实际操作能力和解决实际问题的能力。

学生特点分析:本课程针对初中年级学生,他们对计算机有一定的兴趣,具备一定的逻辑思维能力,但编程基础和实际操作能力有限。

教学要求:1. 教学内容与课本紧密结合,注重理论与实践相结合,提高学生的实际操作能力。

2. 教学过程中,关注学生的个体差异,给予个性化指导,确保每个学生都能掌握课程内容。

3. 通过小组合作、讨论等形式,培养学生的团队协作能力和沟通能力。

二、教学内容1. 理论知识:- 了解飞机订票系统的基本概念和功能。

- 学习编程语言的基本语法,如变量、数据类型、运算符、条件语句和循环语句等。

- 掌握数据库的基本概念,如表、字段、记录等。

2. 实践操作:- 设计飞机订票系统的功能模块,如用户注册、登录、航班查询、购票、退票等。

- 编写程序代码,实现飞机订票系统的各个功能。

- 学习数据库的创建和操作,管理飞机票务信息。

3. 教学大纲:- 第一周:飞机订票系统概述,学习编程语言基本语法。

- 第二周:设计系统功能模块,学习条件语句和循环语句。

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

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

内蒙古科技大学本科生课程设计说明书题目:C语言课程设计——飞机订票系统学生姓名:马如意20专业:软件工程班级:15级1班指导教师:褚燕华老师日期:2016年1月3日内蒙古科技大学课程设计任务书目录内蒙古科技大学课程设计任务书................................. 错误!未指定书签。

目录 ........................................................ 错误!未指定书签。

第一章需求分析............................................... 错误!未指定书签。

1.1引言................................................ 错误!未指定书签。

1.2任务概述............................................ 错误!未指定书签。

1.3功能需求............................................ 错误!未指定书签。

1.4任务计划............................................ 错误!未指定书签。

第二章概要设计............................................... 错误!未指定书签。

2.1航空类的定义........................................ 错误!未指定书签。

2.2接口设计............................................ 错误!未指定书签。

2.3运行界面设计........................................ 错误!未指定书签。

第三章详细设计............................................... 错误!未指定书签。

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

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

科技大学本科生课程设计说明书题目:C语言课程设计——飞机订票系统学生:马如意学号:1567159120专业:软件工程班级:15级1班指导教师:褚燕华老师日期:2016 年 1月 3日科技大学课程设计任务书目录科技大学课程设计任务书 (I)目录 (II)第一章需求分析 (3)1.1引言 (3)1.2任务概述 (3)1.3功能需求 (3)1.4任务计划 (4)第二章概要设计 (5)2.1航空类的定义 (5)2.2接口设计 (5)2.3运行界面设计 (6)第三章详细设计 (6)3.1浏览航线信息................................................................................... 错误!未定义书签。

3.2浏览客户信息 (7)3.3 查询航线信息................................................................................... 错误!未定义书签。

3.4 订票系统 (10)3.5 退票系统........................................................................................... 错误!未定义书签。

3.6 查看余额........................................................................................... 错误!未定义书签。

第四章测试分析. (11)4.1 程序的选择页面(主菜单) (11)4.2 浏览航班信息 (12)4.3按两种方式查询: (13)4.4办理订票系统.................................................................................... 错误!未定义书签。

航空订票系统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语言版)飞机订票系统

———C语言版课题:飞机订票系统和图的遍历的动态演示姓名:学号:班级:指导教师:订票系统1.需求分析任务:通过此系统可以实现如下功能:录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。

修改航班信息:当航班信息改变可以修改航班数据文件要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;2:主要设计思路:1)算法构造流程图:A:主菜单:B:各分块模板的构造流程图:3:功能函数设计:(1):订票系统主菜单函数menu_select()本函数主要构造系统的主菜单,系统需要实现很多功能,并且各个功能需要各自的函数支持,所以通过主菜单可以轻松的进入各个函数下实现各自的功能,故主菜单显得尤为重要。

其实就是通过键盘输入选择项,然后通过scanf接受,在通过swtich判断进入各个选择项。

(2):工作人员管理函数enter()&change()系统需要各个航班的详细信息,所以需要工作人员把信息输入系统里,以供乘客查询订票。

enter()函数的构造就是为了解决这个问题。

而有可能航班线路更改或由于天气等原因飞机的起飞时间发生了更改,故工作人员需要及时更改信息,所以需要构造change()函数。

(3):列出航班信息的函数list()乘客需要查询各个航班的信息,所以通过系统要能调出上面工作人员已经录入好的航班信息,所以构造本函数来实现这个功能。

(4)乘客具体查询函数search()本函数分两个分函数:search1()和search2(),它们分别实现乘客的按航班查询和按出发及抵达城市的两种查询方案。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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章 文件操作。

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

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

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

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

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

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

因为飞机票管理系统含有各航班的各项信息,如航班号、航线、飞行时间、机票数目等必要信息,综合考虑决定用结构体数组比较合适,根据题目要求定义如下结构体类型:头文件包含、全局变量定义和结构体定义源代码:#include<stdio.h>//标准输入、输出头文件#include<string.h>//包含字符串函数处理头文件#include<stdlib.h>#define N 1000 //定义最多的航班数#define PRT "%-d%12s %12s %10s %12d %12d\n",s[i].num,s[i].start,s[i].over,s[i].time,s[i].count,s[i].selle d //定义输出格式#define LB " 航班号起始站终点站时间机票总数已售票数\n"//定义打印列表格式struct air{int num;char start[20];char over[20];char time[10];int count;//机票总数int selled;//已预定机票总数}s[N];int i,m=0; //定义全局变量,记录下航班信息的数量char ii[10]; //用来选择是否继续的变量大概思路就是这样!详细设计(定义的每个函数均作介绍):1)初始化界面函数(face函数)在程序开始执行时调用该函数,在屏幕上打印出初始界面!并选择要执行的操作!2)信息输入函数(input函数)该函数里面调用for循环控制,该函数中用到一个全局变量k,用来控制该函数被再次调用时可以在已存放信息结构体后面继续输入数据,每当一个完整的航班信息输入完毕后,会提示是否输入下一个信息!按"0"j结束输入!然后调用下面要介绍的信息保存函数(save函数)!保存完毕后退回到主菜单!3)信息保存函数(save函数)由于本程序设计时当输入机票总数不是正数时就会结束保存航班信息,所以进入save函数时首先判断机票总数是否大于0,大于0时候开始进入主体部分执行!主要过程是先打开文件,文件打开成功后调用文件格式输出函数(fprinf函数)将信息保存到文件中区!4)文件读取函数(read函数)该函数首先打开保存飞机票信息的文件,然后将保存的信息写到飞机信息的结构体数组里面去(调用格式输入函数fscanf),并将航班信息输出到屏幕上!输入完毕后关闭文件!5)信息打印函数(print函数)该函数只是负责把调用read函数,并打印出航班信息输出事的一些辅助信息!6)航班信息查找函数本函数用do.....while 循环控制结构,进入函数后选择查询方式(可以按航班号、终点站、航线查询),方式选择后用switch语句飞机的航班号(或者起始站、终点站)!从switch语句出来后,首先调用文件读取函数(read函数),输出所有航班信息到屏幕上,然后在if语句中判断刚才所输入飞机的航班号(或者起始站、终点站)与数组中那个航班信息符合,找到后打印出来!循环结束后,输入“yes”(“no”),while判断输入的条件继续(终止查找)!选择终止查找后返回主菜单!7)航班信息删除函数(Delete)航班删除模块与查找函数类似,也是用的do.....while 循环控制结构,不同时要先输入密码才能进入函数!进入函数后要选择删除方式(按航班号、航线)删除,输入要删除的航班号(航线)后,比如说选择按航班号删除,找到要删除的航班数组下标i后,用for(int j=i;j<m;j++) { s[j]=s[j+1]; }方式实现删除,删除完毕后打印出删除过的航班信息列表,然后选择“no”结束该函数,返回到主菜单!8)订票函数(Book函数)首先调用查询函数(search函数),找到要预订机票的航班,然后输入要顶的机票数目,根据输入的机票书修改已售机票书数值!然后保存信息!9)退票函数(Refund()函数与订票函数类似,首先调用查询函数(search函数),找到要预订机票的航班,然后输入要退的机票数目,根据输入的机票书修改已售机票书数值!然后保存信息!10)修改函数(Modify函数)该函数与输入函数类似,把数组里面的信息重新输入一遍达到修改航班信息的功能!11)main函数输入密码后进入main函数,然后main函数负责调用以上程序就行了!源程序代码:#include<stdio.h>#include<string.h>#include<stdlib.h>#define N 200struct air{int num;char start[20];char over[20];char time[10];int count;//机票总数int selled;//已预定机票总数}s[N];#define PRT "%-d%12s %12s %10s %12d %12d\n",s[i].num,s[i].start,s[i].over,s[i].time,s[i].count,s[i].selle d //定义输出格式#define LB " 航班号起始站终点站时间机票总数已售票数\n"//定义打印列表格式void face();void input();void print();void search();void Delete();void Booking();void Modify();void Refund();void save();void read();int i,m=0,k=0;void face(){system("color 0E");puts(" ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★");puts(" ★* 飞机票管理系统欢迎您*★");puts(" ★********************************************************★");puts(" ★* 你可以选择下面的操作: *★");puts(" ★* 1.输入航班信息*★");puts(" ★* 2.浏览航班信息*★");puts(" ★* 3.查询航班信息*★");puts(" ★* 4.删除航班信息*★");puts(" ★* 5.订票信息*★");puts(" ★* 6.修改信息*★");puts(" ★* 7.退票信息*★");puts(" ★* 0.退出*★");puts(" ★********************************************************★");puts(" ★* 制作人:##### 学号:111111111111 *★");puts(" ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★");}void main(){//delay(1000);system("color a0");//设置背景和字体颜色//system("color 100");//yanseint j;char f[]="1111111111"; //设置密码int y;printf(" 飞机票管理系统\n\n");while(1){printf(" 请输入密码进入系统:\n ");scanf("%s",f); //读取密码if(strcmp(f,"1111111111")==0){while(1){system("cls");face();printf("请在0-7中选择以回车键结束:");scanf("%d",&j);system("cls");switch(j){case 1: input();//调用输入模块break;case 2:print();//调用打印模块break;case 3:search();//调用查询模块break;case 4:Delete();//调用删除模块break;case 5:Booking();//调用订票模块break;case 6:Modify();//调用修改模块break;case 7:Refund();//调用退票模块break;case 0:goto end;}printf("\n按任意键继续......");}}else{int yy;printf(" 输入密码错误!请检查您的密码是否正确! \n\n"); printf(" 是否继续输密码?按任意键继续,0结束!\n",m); scanf("%d",&y);//在此需输入任意一个整数值数值,程序才能继续执行if(y==0)break;}}end:printf(" (=^ ^=) 欢迎再次回来(=^ ^=)\n");printf(" 任意键退出系统!\n");int hp2;scanf("%d",&hp2);}void input(){system("color 8f");printf("请依次输入航班信息(机票总数为0结束输入): ""完成输入信息请键入w以回车键结束\n"); //打印提示信息printf("-------------------------------------------------------------------------- \n");int y;for(i=k;i<N;i++){printf("请输入航班号: ");scanf("%d",&s[i].num); //读取航班号printf("请输入起始站: ");scanf("%s",s[i].start);//读取起始站printf("请输入终点站: ");scanf("%s",s[i].over);//读取终点站printf("请输入时间(星期): ");scanf("%s",s[i].time);//读取时间printf("请输入总机票数(0结束): ");scanf("%d",&s[i].count);//读取机票数printf("请输入已售机票数: ");scanf("%d",&s[i].selled);//读取机票数m++;//飞机信息录入计数k++;printf(" 第%d个信息已经输完是否继续?按任意键继续(0结束)\n",m); scanf("%d",&y);//在此需输入任意一个整数值数值,程序才能继续执行if(y==0){save();//保持输入数据break;}}}void save()//保存模块程序{if(s[0].count>0){system("color 78");FILE *fp;//定义文件指针if((fp=fopen("D:\\飞机票系统数据保存.txt","w+"))==NULL)//打开文件并判断是否出错{printf("文件打开失败! ");//打印出错提示}else{fprintf( fp,LB);fprintf( fp,"============================================================\n ");for(i=0;i<m&&s[i].count>0;i++){fprintf(fp,PRT);}}fclose(fp);//关闭文件int hp;printf(" 信息保存到文件成功!任意键返回主菜单!\n\n");scanf("%d",&hp);}else{int k;printf("飞机票总数为零!输入结束!\n");printf(" 任意键返回主菜单!\n\n");scanf("%d",&k);}}void read()//从文件读取信息模块{system("color E0");FILE *fp;//定义文件指针if((fp=fopen("D://飞机票系统数据保存.txt","r"))==NULL)//打开文件,并判断是否出错printf("创建文件失败! ");//打印出错提示elsefor(i=0;i<m;i++){fscanf(fp,"%-d%12s%12s%10s%12d%12d\n",&s[i].num,s[i].start,s[i].over,s[i].time,&s[i].count,&s[i].selled );printf(PRT);}fclose(fp);//关闭文件}void print()//打印模块{system("color 97");char w[10];printf("\n 所有航班信息如下\n");printf(LB);read();//调用读取文件函数printf("\n\n 按任意键回车键结束返回上层菜单: \n\n"); scanf("%s",w);}void search()//查询模块{system("color 5E");char name1[20];char name2[20];char ii[10];int n,no,flag=0;do{printf("请选择查找方式:\n ");//打印查询方式菜单printf("1.按航班号查找\n ""2.按终点站查找\n ""3.按航线查找\n"" 0.返回\n");printf("请在0-3中选择:\n ""\n\n 按其他键以回车键结束返回主菜单:\n ");scanf("%d",&n);//读取查找方式if(n==0)break;switch(n){case 1:printf("请输入航班号:");scanf("%d",&no);//航班号break;case 2:printf("请输入终点站名称:");scanf("%s",name2);//读取终点站break;case 3:printf("请输入起始站名称:");scanf("%s",name1);//读取起始站printf("请输入终点站名称:");scanf("%s",name2);//终点站break;default:break;}printf("\n 已经存在的航班如下\n\n");printf(LB);read();//调用读取函数for(i=0;i<m;i++){if(strcmp(s[i].over,name1)==0&&strcmp(s[i].over,name2)==0)//按终点站起始站判断输出条件{//printf("\n 查找航班信息成功!\n\n");printf("\n 下面是你要查找的航班信息\n\n ");flag=1;printf(LB);printf(PRT);//打印信息break;}if(strcmp(s[i].over,name2)==0){printf("\n 下面是你要查找的航班信息\n\n ");flag=1;printf(LB);printf(PRT);//打印信息break;}if(s[i].num==no)//按航班号判断输出条件{printf("\n 下面是你要查找的航班信息\n\n ");flag=1;printf(LB);printf(PRT);//打印信息break;}}no=0;//将航班号赋值为0if(flag){printf("\n 您需要的信息查找完毕:\n "" 是否继续查找?请键入yes或no以回车键结束\n ");scanf("%s",ii);}else{printf("\n 没有您需要的信息:\n "" 是否继续查找?请键入yes或no以回车键结束\n "); scanf("%s",ii);}}while(strcmp(ii,"yes")==0);//判断结束while(strcmp(ii,"no")==0)break;}void Delete()//删除模块{system("color 1E");char name1[20];char name2[20];char ii[10];char f[]="2010146104";//设置密码int no,n,flag=0;printf("请输入密码并以回车键结束: \n");scanf("%s",f);//读取密码if(strcmp(f,"2010146104")==0) //判断密码是否正确{do{printf("请选择删除以方式回车键结束:\n ");//打印删除方式菜单printf("*1.按航班号删除\n"" *2.按航线删除\n ""*0.返回\n ");printf("\n\n 请在0-2中选择以回车键结束:\n");scanf("%d",&n);//读取删除方式if(n==0)break; //跳出循环switch(n){case 1:printf("请输入航班号:");scanf("%d",&no);//读取航班号printf("\n 已经存在的航班如下\n\n");read();//调用读取函数break;//跳出循环case 2:printf("请输入起始站名称:");scanf("%s",name1);//读取起始站printf("请输入终点站名称:");scanf("%s",name2);//读取终点站printf("\n 已经存在的航班如下\n\n");read();//调用读取函数break;//跳出循环}printf("\n 删除后的航班如下\n\n");// for(i=0;i<m;i++){if(s[i].num==no)//按航班号删除{printf(LB);flag=1;for(int j=i;j<m;j++){s[j]=s[j+1];}m--;for(int i=0;i<m;i++){printf(PRT);}}if(strcmp(s[i].start,name1)==0&&strcmp(s[i].over,name2)==0){flag=1;printf(LB);for(int k=i;k<m;k++){s[k]=s[k+1];}m--;for(int i=0;i<m;i++){printf(PRT);}}}if(flag){printf("\n 您需要的信息查找完毕:\n "" 是否继续查找?请键入yes或no以回车键结束\n "); scanf("%s",ii);}else{printf("\n 没有您需要的信息:\n "" 是否继续查找?请键入yes或no以回车键结束\n ");scanf("%s",ii);}}while(strcmp(ii,"yes")==0); //判断结束while(strcmp(ii,"no")==0)break;}elseprintf("\n 对不起密码错误!您不是管理员,不能使用此项功能!\n ");int q;scanf("%d",&q);}void Booking()//订票模块{system("color 0E");int n;char a[10];do{search();//调用查询模块printf("请输入您要订的机票数以回车键结束:\n ");scanf("%d",&n);//读取所订机票数if(n<0||s[i].count<n){printf("请输入有效的机票数!");//判断机票数是否出错}if(s[i].count!=0&&s[i].count>=n)//判断是否出错{s[i].selled=s[i].selled+n;save();//调用保存函数printf("订票成功!\n\n ");}printf(" 是否继续?请输入yes或no以回车键结束: \n");//判断是否继续订票scanf("%s",a);}while(!strcmp(a,"yes"));//判断结束while(!strcmp(a,"no"))break;//判断结束}void Refund()//退票模块{system("color F0");int n;char a[10];do{search();//调用查询模块printf("请输入您要退的机票数目:");scanf("%d",&n);//输入所退票数if(n<0) //判断票数是否有效printf("请输入有效的机票数!");else{s[i].selled=s[i].selled-n;save(); //调用保存模块printf("退票成功! ");}printf("是否继续?请键入yes或no以回车键结束: ");//判断是否继续退票scanf("%s",a);}while(!strcmp(a,"yes"));//判断并跳出循环}void Modify() //修改模块{system("color 4E");struct modify //定义结构体{int mo;char start1[20];char over1[20];char time1[20];int count1;int selled1;}M[1];char j[10];char f[]="2010146104";//设置密码int n;printf("请输入密码并以回车键结束: ");scanf("%s",f);//读取密码if(strcmp(f,"2010146104")==0)//判断是否出错{printf(LB);read();//调用读取模块do{printf( "请选择修改方式:\n ""*1:按航班号修改: \n"" *2:按航线修改:\n ");printf("请在1---2中修改以回车键结束:\n");scanf("%d",&n);//读取修改方式switch(n){case 1:printf("请输入航班号:");scanf("%d",&M[0].mo);//读取航班号break;case 2:printf("请输入起始站:");scanf("%s",M[0].start1);//读取起始站printf("请输入终点站:");scanf("%s",M[0].over1);//读取终点站break;}for(int i=0;i<m;i++){if(strcmp(s[i].start,M[0].start1)==0&&strcmp(s[i].over,M[0].over1)==0)//判断输出条件{printf(" 航班号起始站终点站时间机票总数已售票数\n");printf(PRT);break;}if(s[i].num==M[0].mo)//判断输出条件{printf(" 航班号起始站终点站时间机票总数已售票数\n");printf(PRT);break;}}M[0].mo=0; //将结构体中的号为零printf("\n 请输入新航班号、起始站、终点站、时间(星期几)、机票总数、已售票数:\n ");printf(" 航班号起始站终点站时间机票总数已售票数\n");scanf("%d\t%s\t%s\t%s\t%d%d",&M[0].mo,M[0].start1,M[0].over1,M[0].time1,&M[0].count1,&M[ 0].selled1); //定义输入格式s[i].num=M[0].mo;//替换航班号strcpy(s[i].start,M[0].start1);//替换其始站strcpy(s[i].over,M[0].over1);//替换终点站strcpy(s[i].time,M[0].time1);//替换时间s[i].count=M[0].count1;//替换机票数s[i].selled=M[0].selled1;//替换机票数save();//调用保存模块printf("是否继续?请键入yes或no以回车键结束:\n ");scanf("%s",j);}while(strcmp(j,"yes")==0||strcmp(j,"no")==0); //判断结束}elseprintf("\n 对不起密码错误!您不是管理员,不能使用此项功能!\n\n ");int q;scanf("%d",&q);}以上即为我的源程代码。

相关文档
最新文档