飞机订票系统程序设计课程设计84979530

合集下载

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

飞机订票系统程序设计课程设计

飞机订票系统程序设计课程设计

高级语言程序设计课程设计报告题目:飞机订票系统程序设计专业:班级:学号:姓名:指导教师:日期:山东工商学院信电学院1、程序基本功能要求本程序首先输入用户名、密码进入系统;从菜单中选择可以输入机票信息对机票信息进行浏览、修改、查询、退订票等功能并可以通过其内部各类方式或菜单内选项了解航班更细的信息。

(1)航班信息用文件保存,因而要提供文件的输入输出操作。

(2)航班信息的录入,其中包括了航班信息中的航班号、起始站、终点站、预售机票数、已售机票数。

(3)航班信息浏览功能且提供显示操作。

(4)可以查询航线,查询方式有按航班号查询、按起点站查询、按终点站查询按航线查询、按飞行时间查询五种,可从各个方面进行查询,方便快捷。

(5)承办订票和退票业务,可显示剩余票数和已买票数。

当票数被订或被退时票数会随之变化,统计较为灵活。

(6)提供键盘式选择菜单以实现功能选择。

2、总体设计.编写一个飞机订票系统的程序使该系统能够实现对航班信息的录入、浏览、修改、查询以及订票、退票的功能。

根据课程设计要求和本组人员的增补,首先要通过一个用户登录界面进入系统,其次要制作一个主菜单显示出各个操作的提示可供用户选择进而一步步地深入操作。

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

因为飞机订票系统含有各航班的各项信息如航班号、航线、飞行时间、机票数目等必要信息所以就决定用刚学不久的结构体数组来存放航班的各项信息,这就是看到题目后的最初的思路。

在整个程序中,含有多种类型的头文件,包括了标准输入、输出头文件、字符串函数处理头文件、动态存储与释放函数头文件;在结构体数组中也对不同类型的数组进行不同的定义,例如: int flightno、int totalticket、char start[10]等;在各类信息的显示操作中,本系统在执行浏览、查询和退订票是充分利用函数的调用,利用switch()语句进行,简便实用;在此系统中,函数相互嵌套,形成了一个完整的系统。

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

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

第一章绪论:项目背景描述1、课程设计性质与目的:C语言程序设计是一门实践性很强的课程。

C程序课程设计是学习C语言程序设计的非常重要的实践环节,通过本课程设计使学生进一步巩固课堂所学,全面熟悉,掌握C语言程序设计的基本方法和技巧,进一步提高编写程序、分析程序及上机操作、调试程序的能力,让学生加深理解,提高动手操作能力及分析问题和解决问题的能力。

2、课程设计包含的知识点:1.掌握并熟练利用C语言的基本数据类型与各种表达式,程序的流程控制语句。

2.掌握数组的基本概念。

掌握一维数组与二维数组的使用,掌握字符数组与字符串的关系。

3.熟练掌握指针、地址、指针类型的概念及其使用。

掌握指针变量的定义与初始化、指针的间接访问和表达式,掌握指针与数组、函数、字符串的联系4.掌握函数的定义,函数的返回值,函数的调用,函数的声明,函数的形式参数和实际参数之间的关系,了解函数的作用区间。

5.掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构体成员的表示。

结构体与指针、函数的关系。

第二章可行性分析一、问题描述:假设某航空公司只有N架X个座位的飞机,每架飞机每天飞行一趟。

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

二、功能要求:1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:起飞地、目的地航班号、航班定额。

2、本系统显示这样的菜单:1.)录入:可以录入航班情况(数据可以存储在一个数据文件中)2.)浏览:航班信息浏览功能需要提供显示操作;1、查询:可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外要提供键盘式选择菜单以实现功能选择。

(1)输入航班信息(2)输出航班信息(3)查找航班信息(4)订票预约(5)删除定票预约(6)退出系统2、本系统成功执行菜单的每个信息,选项4)和5)将要求额外的输入,并且它们都允许用户收回其输入。

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

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

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

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

2. 让学生了解并掌握航空订票系统的基本功能模块及其实现方法。

3. 帮助学生理解文件操作在C语言中的应用,学会读写航班信息。

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

2. 培养学生独立完成一个小型项目的能力,包括需求分析、功能设计、编码实现和测试。

3. 提高学生团队协作能力,学会在项目中分工合作、共同解决问题。

情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习热情,增强自信心。

2. 培养学生良好的编程习惯,注重代码规范,提高代码质量。

3. 引导学生关注实际问题,培养解决实际问题的能力,增强社会责任感。

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

结合学生特点,课程目标注重培养学生的动手能力和团队协作能力。

在教学过程中,要求教师引导学生掌握C语言相关知识,关注实际问题的解决,以实现课程目标。

通过本课程的学习,学生将能够独立完成一个航空订票系统,达到预期的学习成果。

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

2. 航空订票系统需求分析:介绍系统功能模块,包括航班查询、预订、取消预订、显示航班信息等。

3. 功能模块设计:- 航班信息结构体设计- 航班信息文件读写操作- 航班查询功能实现- 航班预订与取消预订功能实现- 航班信息显示功能实现4. 编程规范与调试技巧:代码规范、调试方法、性能优化等。

5. 团队协作与项目管理:任务分配、进度控制、代码合并与冲突解决等。

教学内容依据教材相关章节进行组织,确保科学性和系统性。

教学大纲安排如下:第一周:C语言基础回顾,航空订票系统需求分析。

第二周:航班信息结构体设计,文件读写操作。

第三周:航班查询功能实现,编程规范与调试技巧。

第四周:航班预订与取消预订功能实现,团队协作与项目管理。

飞机订票系统python课程设计

飞机订票系统python课程设计

飞机订票系统python课程设计一、课程目标知识目标:1. 学生能够理解飞机订票系统的基本业务流程和功能需求;2. 学生能够掌握运用Python编程语言进行基本的数据结构和算法设计;3. 学生能够运用所学知识,如列表、字典、函数等,实现对飞机订票系统中航班、座位、用户等信息的有效管理;4. 学生了解数据库的简单应用,并能利用Python实现数据存储和查询。

技能目标:1. 学生通过课程学习,能够运用Python编写简单的飞机订票系统程序,具备基本的编程能力;2. 学生能够运用调试工具检测并修正程序中的错误,具备问题分析和解决能力;3. 学生能够通过小组合作,进行项目分工与协作,提高团队沟通与协作能力。

情感态度价值观目标:1. 学生在课程学习中,培养对编程的兴趣和热情,增强学习动力;2. 学生通过解决实际问题,体会编程的实用性和价值,提高创新意识和实践能力;3. 学生在小组合作中,学会尊重他人意见,培养团队精神和责任心。

二、教学内容本课程教学内容主要包括以下几部分:1. 飞机订票系统业务流程分析:介绍飞机订票系统的基本功能,如航班查询、座位选择、预订机票、支付等,让学生了解系统业务流程。

2. Python基础知识回顾:回顾Python基本数据类型、列表、字典、函数等知识,为后续编程打下基础。

3. 编程实践:- 设计航班信息数据结构,实现航班查询功能;- 设计座位信息数据结构,实现座位选择和预订功能;- 设计用户信息数据结构,实现用户登录、注册等功能;- 实现支付功能,包括订单生成、支付验证等。

4. 数据库应用:介绍简单的数据库操作,如数据存储、查询等,使学生了解数据库在飞机订票系统中的应用。

5. 项目实践:将学生分组进行项目实践,每组完成一个飞机订票系统的核心功能模块,最后将各个模块整合成一个完整的系统。

教学内容安排和进度:1. 第1周:飞机订票系统业务流程分析,Python基础知识回顾;2. 第2-3周:编程实践(1)航班信息查询与座位选择;3. 第4-5周:编程实践(2)用户信息管理与支付功能;4. 第6周:数据库应用;5. 第7-8周:项目实践,模块整合与测试。

飞机售票系统课程设计报告

飞机售票系统课程设计报告

飞机售票系统课程设计报告一、课程目标知识目标:1. 让学生理解飞机售票系统的基本概念、功能及工作原理。

2. 让学生掌握飞机售票系统中涉及的航空公司、航班、座位、票价等基本知识点。

3. 让学生了解飞机售票系统在实际应用中的数据处理和存储方法。

技能目标:1. 培养学生运用所学知识分析和设计飞机售票系统的能力。

2. 培养学生使用编程语言或工具实现飞机售票系统基本功能的能力。

3. 培养学生通过实际操作,掌握飞机售票系统的使用方法。

情感态度价值观目标:1. 培养学生对计算机科学和技术领域的兴趣,激发他们探索航空业信息化的热情。

2. 培养学生具备团队协作精神,学会与他人共同解决问题。

3. 培养学生关注社会发展,认识到信息技术在航空业中的重要作用。

课程性质分析:本课程为信息技术或计算机科学与技术相关课程的实践环节,旨在让学生将所学理论知识运用到实际项目中,提高他们的实践能力。

学生特点分析:学生为高中年级学生,具备一定的计算机操作和编程基础,对新鲜事物充满好奇心,善于团队合作。

教学要求:1. 结合课本知识,注重理论与实践相结合,提高学生的动手能力。

2. 注重培养学生的创新意识和解决问题的能力。

3. 强调团队协作,提高学生的沟通与协作能力。

二、教学内容1. 基本概念:介绍飞机售票系统的定义、功能、发展历程及在航空业中的重要性。

关联教材章节:第一章 计算机售票系统概述2. 系统架构:讲解飞机售票系统的整体架构,包括客户端、服务器端、数据库等组成部分。

关联教材章节:第二章 售票系统架构与设计3. 数据库设计:学习飞机售票系统中涉及的表结构设计,如航班信息、座位信息、旅客信息等。

关联教材章节:第三章 数据库设计4. 功能模块:详细介绍飞机售票系统的各个功能模块,如查询航班、预订机票、支付、退改签等。

关联教材章节:第四章 售票系统功能模块设计5. 编程实践:指导学生使用编程语言(如Python、Java等)或工具(如Visual Basic、Access等)实现飞机售票系统的基本功能。

飞机订票系统程序设计_课程设计.doc

飞机订票系统程序设计_课程设计.doc

高级语言程序设计课程设计报告题目:飞机订票系统程序设计专业:班级:学号:姓名:指导教师:日期:山东工商学院信电学院1、程序基本功能要求本程序首先输入用户名、密码进入系统;从菜单中选择可以输入机票信息对机票信息进行浏览、修改、查询、退订票等功能并可以通过其内部各类方式或菜单内选项了解航班更细的信息。

(1)航班信息用文件保存,因而要提供文件的输入输出操作。

(2)航班信息的录入,其中包括了航班信息中的航班号、起始站、终点站、预售机票数、已售机票数。

(3)航班信息浏览功能且提供显示操作。

(4)可以查询航线,查询方式有按航班号查询、按起点站查询、按终点站查询按航线查询、按飞行时间查询五种,可从各个方面进行查询,方便快捷。

(5)承办订票和退票业务,可显示剩余票数和已买票数。

当票数被订或被退时票数会随之变化,统计较为灵活。

(6)提供键盘式选择菜单以实现功能选择。

2、总体设计.编写一个飞机订票系统的程序使该系统能够实现对航班信息的录入、浏览、修改、查询以及订票、退票的功能。

根据课程设计要求和本组人员的增补,首先要通过一个用户登录界面进入系统,其次要制作一个主菜单显示出各个操作的提示可供用户选择进而一步步地深入操作。

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

因为飞机订票系统含有各航班的各项信息如航班号、航线、飞行时间、机票数目等必要信息所以就决定用刚学不久的结构体数组来存放航班的各项信息,这就是看到题目后的最初的思路。

在整个程序中,含有多种类型的头文件,包括了标准输入、输出头文件、字符串函数处理头文件、动态存储与释放函数头文件;在结构体数组中也对不同类型的数组进行不同的定义,例如: int flightno、int totalticket、char start[10]等;在各类信息的显示操作中,本系统在执行浏览、查询和退订票是充分利用函数的调用,利用switch()语句进行,简便实用;在此系统中,函数相互嵌套,形成了一个完整的系统。

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

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

航空订票系统课程设计(c语言)一、教学目标本课程旨在通过学习航空订票系统的开发,让学生掌握C语言编程的基本概念和方法,培养学生的实际编程能力和问题解决能力。

具体目标如下:1.理解C语言的基本语法和数据结构。

2.掌握函数的定义和调用。

3.学习面向对象编程的基本概念。

4.能够使用C语言编写简单的程序。

5.能够运用面向对象编程的思维解决实际问题。

6.能够独立完成航空订票系统的开发。

情感态度价值观目标:1.培养学生的团队合作意识和沟通能力。

2.培养学生的创新思维和问题解决能力。

3.培养学生对编程语言和计算机科学的兴趣和热情。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、函数的定义和调用,以及面向对象编程的基本概念。

具体安排如下:1.C语言的基本语法和数据结构(2课时)。

2.函数的定义和调用(2课时)。

3.面向对象编程的基本概念(2课时)。

4.航空订票系统的开发实践(4课时)。

三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

1.讲授法:用于讲解C语言的基本语法、数据结构和函数的定义和调用。

2.讨论法:用于讨论面向对象编程的基本概念,促进学生之间的交流和思考。

3.案例分析法:通过分析航空订票系统的案例,让学生理解和应用所学的编程知识。

4.实验法:通过实际编写程序和开发航空订票系统,培养学生的实际编程能力和问题解决能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:选择一本适合学生水平的C语言编程教材。

2.参考书:提供相关的编程参考书籍,供学生自主学习。

3.多媒体资料:制作相关的教学PPT和视频,帮助学生更好地理解和掌握知识。

4.实验设备:提供计算机实验室,让学生能够实际编写程序和进行实验。

五、教学评估本课程的评估方式将包括平时表现、作业和考试三个部分,以全面客观地评价学生的学习成果。

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

高级语言程序设计课程设计报告题目:飞机订票系统程序设计1、程序基本功能要求本程序首先输入用户名、密码进入系统;从菜单中选择可以输入机票信息对机票信息进行浏览、修改、查询、退订票等功能并可以通过其内部各类方式或菜单内选项了解航班更细的信息。

(1)航班信息用文件保存,因而要提供文件的输入输出操作。

(2)航班信息的录入,其中包括了航班信息中的航班号、起始站、终点站、预售机票数、已售机票数。

(3)航班信息浏览功能且提供显示操作。

(4)可以查询航线,查询方式有按航班号查询、按起点站查询、按终点站查询按航线查询、按飞行时间查询五种,可从各个方面进行查询,方便快捷。

(5)承办订票和退票业务,可显示剩余票数和已买票数。

当票数被订或被退时票数会随之变化,统计较为灵活。

(6)提供键盘式选择菜单以实现功能选择。

2、总体设计.览、修改、查询以及订票、退票的功能。

根据课程设计要求和本组人员的增补,首先要通过一个用户登录界面进入系统,其次要制作一个主菜单显示出各个操作的提示可供用户选择进而一步步地深入操作。

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

因为飞机订票系统含有各定用刚学不久的结构体数组来存放航班的各项信息,这就是看到题目后的最初的思路。

在整个程序中,含有多种类型的头文件,包括了标准输入、输出头文件、字符串函数处理头文件、动态存储与释放函数头文件;在结构体数组中也对不同类型的数组进行不同的定义,例如: int flightno、int totalticket、char start[10]等;在各类信息的显示操作中,本系统在执行浏览、查询和退订票是充分利用函数的调用,利用switch()语句进行,简便实用;在此系统中,函数相互嵌套,形成了一个完整的系统。

本次设计需要编制初始化、建立数据文件、数据文件保存、增加航班信息、订票、退票业务等内容。

首先需要设立一个初始化函数来得到航班信息。

具体设计是第一次运行程序时自动生成保存航班信息的文件,并输入初始航班信息,待第二次开始就可以直接读取该文件获得已有的航班信息并可直接使用。

运用了access函数判断文件是否存在。

系统初始化后,没有寻找到数据文件则进行新建数据文件。

此函数的作用就是进行新建文件数据的录入,运用到了文件指针的定义FILE *fp fopen和关闭fclose、成块读写函数中的fwrite for循环进行各组数据的输入,用m++记录下输入的航班数量并运用if 语句判断是否输入下一条航班信息,个函数来使用。

在该函数中同样运用到了文件指针FILE *fp、文件的打开fopen 和关闭fclose、成块读写函数中的fread、文件结束检测函数feof同时配合while语句控制文件的读取,m++记录下读取到的航班数量等。

因为在飞机订票系统中涉及到飞机的订票和退票业务还有按航班号的排序功能,所以我就定义了这个保存函数来保存下每次运行系统后对整个订票系统涉及到的资料的修改。

为出系统的时候进行一次保存将此次对文件修改的所有新信息都一次保存下来。

这样就实现了整个系统运行时进行一次读取,推出时一次保存的设计大大简便了文件的调用和读取。

保存函数运用到的知识点与读取函数大致相同。

在这个函数中首先调用了search函数查找需要订票的航班。

运用if语句实现订票时的多种情况,订票数输入不正确、飞机票数不足等情况。

订票成功时运用s[i].totalticket=s[i].totalticket-n,s[i].sellticket=s[i].sellticket+n 将已被订的机票数减去以显示新的即时航班信息。

与订票函数相类似s[i].totalticket=s[i].totalticket+n,s[i].sellticket=s[i].sellticket-n。

只做稍稍修改就行退票成功是用.。

将航班的剩余票数加上去以显示即时航班信息。

模块分工:进入系统菜单、输出航班信息、订票信息由刘妍负责输入航班信息、保存航班信息、读取航班信息由龚媛负责查询航班信息、退票信息、修改信息部分由郭勇艳负责3、详细设计系统程序结构(流程图)录入信息系统流程图航班信息浏览函数:[流程图]显示信息查询模块:[流程图]..4、程序运行结果(截图)登陆系统时需输入用户信息图1进入系统后出现菜单供选择,选择需要进入的窗口图2航班信息的录入图3 浏览航班信息图4 航班信息的修改图5查询菜单图6 通过航班号和时间进行查询图7系统订票图8 退票系统图9 退出系统图105、源程序代码(代码中注明每段代码的完成人)/*用户名:dianke 密码:12345*/#include<stdio.h> //标准输入、输出头文件#include<string.h> //包含字符串函数处理头文件#include<stdlib.h> //包含动态存储与释放函数头文件#include<conio.h> //包含字符串的输入、输出头文件#define N 10000struct flight //定义结构体数组{int flightno;char start[10];char end[10];char day[10];int totalticket;int sellticket;}s[N];int i;int m=0;#define PRINT "%-d%14s%13s%12s%12d%16d\n",s[i].flightno,s[i].start,s[i].end,s[i].da y,s[i].totalticket,s[i].sellticket //定义输出格式void menu(); //进入系统菜单void print(); //输出航班信息void booking(); //订票信息void input(); //输入航班信息void save(); //保存航班信息void read(); //读取航班信息void search(); //查询航班信息void back(); //退票信息void correct(); //修改信息void menu(){int j;printf(" 欢迎进入飞机订票管理系统!\n");printf("======================================================================\n");do{printf(" 1.录入航班信息 \n");printf(" 2.浏览航班信息 \n");printf(" 3.修改航班信息 \n");printf(" 4.查询航班信息 \n");printf(" 5.订票信息 \n");printf(" 6.退票信息 \n");printf(" 0.退出航班信息管理系统 \n");printf("======================================================================\n");printf("请在0-6中选择以回车键结束:\n");scanf("%d",&j);switch(j){case 1: input(); //调用输入模块break;case 2:print(); //调用打印模块break;case 3:correct(); //调用修改模块break;case 4:search(); //调用查询模块break;case 5:booking(); //调用订票模块break;case 6:back(); //调用退票模块break;case 0:;break;}}while(j!=0); //判断结束printf("谢谢使用,再见!\n");} //主函数结束void main() //打印主函数程序信息{int i,k,part1,part2;char name[10]="dianke",password[10]={"\0"};char person[10], c[10]="12345";printf ("\t\t ********** 欢迎进入飞机订票管理系统!**********\n\n"); //打印提示信息printf ("\t\t ~本系统由、、编写完成~ \n\n");printf ("\t\t ~(*^__^*)~ \n\n");printf ("\t\t\t 用户登录\n\n");for(k=0;k!=3;)//打开文件并判断{printf("\t\t\t\t 用户名:"); //打印用户名gets(person);part1=strcmp(person,name);printf("\t\t\t\t 密码:"); //打印密码for(i=0;i<5;i++){c[i]=getch();printf("*");}gets(c);part2=strcmp(c,password);if(part1==0 && part2==0){printf("\t\t\t\t 登陆成功!\n\n");menu();break;}else{printf ("\t\t\t 用户名或密码错误!\n\n");printf ("\t\t\t 请注意:您还剩%d次机会!\n\n",2-k);k++;}}if (k=3)printf ("对不起,由于您输入的用户名或密码3次有误,已被强制退出。

\n");}void input() //打印模块程序{int y;printf("请依次输入航班信息:\n"); //打印提示信息printf("完成输入信息请键入w以回车键结束\n");printf("--------------------------------------------------------------------------\n");for(i=0;i<N;i++){printf("请输入航班号:\n");scanf("%d",&s[i].flightno); //读取航班号 printf("请输入起始站:\n");scanf("%s",s[i].start); //读取起始站 printf("请输入终点站:\n");scanf("%s",s[i].end); //读取终点站 printf("请输入时间:\n");scanf("%s",s[i].day); //读取时间 printf("请输入预售票总数:\n");scanf("%d",&s[i].totalticket); //读取预售票数printf("请输入已售票总数:\n",m);scanf("%d",&s[i].sellticket); //读取已售票总数 m++;printf("第%d个信息已经输完是否继续?按任意数字键继续,按0结束",m);scanf("%d",&y);if(y==0){save(); //将结构体信息存盘 print(); //输出输入的航班信息 break;}}}void save() //保存模块程序{FILE *fp,*fp1; //定义文件指针 if((fp=fopen("chen.dat","wb"))==NULL) //打开文件并判断是否出错{printf("创建文件失败!\n\n"); //打印出错提示getchar();return;}if((fp1=fopen("hao.dat","wb"))==NULL) //打开文件并判断是否出错{printf("创建文件失败!\n\n"); //打印出错提示getchar();return;}for(i=0;i<m;i++)if(fwrite(&s[i],sizeof(struct flight),1,fp)==0) //向文件写入数据,并判断是否出错printf("向文件输入数据失败!\n\n");fprintf(fp1,"%d",m);fclose(fp); //关闭文件fclose(fp1); //关闭文件}void read() //从文件读取信息模块{FILE *fp,*fp1; //定义文件指针 if((fp=fopen("chen.dat","rb"))==NULL) //打开文件,并判断是否出错 {printf("出错,请检查文件是否存在,按任意键返回住菜单");//打印出错提示getchar();}if((fp1=fopen("hao.dat","rb"))==NULL) //打开文件并判断是否出错 {printf("创建文件失败!\n\n"); //打印出错提示 getchar();return;}fscanf(fp1,"%d",&m);fclose(fp1); //关闭文件for(i=0;i<m;i++){fread(&s[i],sizeof(flight),1,fp); //从文件中读取信息 }fclose(fp); //关闭文件}void print() //打印模块{char w[10];read(); //调用读取文件函数printf("航班号起始站终点站时间预售票总数已售票总数\n");for(i=0;i<m;i++){printf(PRINT); //打印信息}printf("请按任意键回车键结束返回上层菜单以:\n");scanf("%s",w);}void search() //查询模块{char startname[10];char endname[10];char day[10];char p[10];int n,no;do{printf("请选择查询方式:\n"); //打印查询方式菜单 printf("1.按航班号查询\n");printf("2.按起点站查询\n");printf("3.按终点站查询\n");printf("4.按航线查询\n");printf("5.按飞行时间查询\n");printf("0.返回\n");printf("请在0-5中选择:\n");printf("按其他键以回车键结束返回主菜单:\n");scanf("%d",&n); //读取查找方式 if(n==0)break;switch(n){case 1:printf("请输入航班号:\n");scanf("%d",&no); //航班号 break;case 2:printf("请输入起点站名称:\n");scanf("%s",&startname);break;case 3:printf("请输入终点站名称:\n");scanf("%s",endname); //读取终点站break;case 4:printf("请输入起始站名称:\n");scanf("%s",startname); //读取起始站 printf("请输入终点站名称:\n");scanf("%s",endname); //终点站break;case 5:printf("请输入飞行时间:\n");scanf("%s",&day);break;}read(); //调用读取函数 for(i=0;i<m;i++){if(strcmp(s[i].end,startname)==0||strcmp(s[i].end,endname)==0)//按终点站起始站判断输出条件{printf("\n查询航班信息成功!\n");printf("航班号起始站终点站时间预售票总数已售票总数\n");printf(PRINT); //打印信息 break;}if(s[i].flightno==no) //按航班号判断输出条件{printf("\n查询航班信息成功!\n");printf("航班号起始站终点站时间预售票总数已售票总数\n");printf(PRINT); //打印信息 break;}if(strcmp(s[i].day,day)==0){printf("\n查询航班信息成功!");printf("\n航班号起始站终点站时间剩余机票数预售机票数\n");printf(PRINT);//打印信息break;}}no=0; //将航班号赋值为0 printf("没有您需要的信息或查找完毕:\n\n""是否继续查找?请键入yes或no以回车键结束\n");scanf("%s",p);}while(strcmp(p,"yes")==0); //判断结束}void booking() //订票模块{int n;char f[10];do{search(); //调用查询模块 printf("请输入您要订的机票数以回车键结束:\n");scanf("%d",&n); //读取所订机票数 if(n<0){printf("请输入有效的机票数!\n"); //判断机票数是否出错 break;}if(s[i].totalticket!=0&&s[i].totalticket>=n) //判断是否出错{s[i].totalticket=s[i].totalticket-n;s[i].sellticket=s[i].sellticket+n;save(); //调用保存函数 printf("订票成功!\n\n");break;}if(s[i].totalticket<n) //判断是否出错{printf("请输入有效的机票数:\n");break;}printf("是否继续?请输入yes或no以回车键结束:\n"); //判断是否继续订票scanf("%s",f);}while(!strcmp(f,"yes")); //判断结束}void back() //退票模块{int n;char f[10];do{search(); //调用查询模块 printf("请输入您要退的机票数目:\n");scanf("%d",&n); //输入所退票数 if(n<0) //判断票数是否有效 printf("请输入有效的机票数!\n");s[i].totalticket=s[i].totalticket+n;s[i].sellticket=s[i].sellticket-n;save(); //调用保存模块 printf("退票成功!\n\n");printf("是否继续?请键入yes或no以回车键结束:\n\n");//判断是否继续退票scanf("%s",f);}while(!strcmp(f,"yes")); //判断并跳出循环 getchar();}void correct() //修改模块{struct cor //定义结构体{int no;char startname[10];char endname[10];char day[10];int totalticket;int sellticket;}x[1];char j[10];int n;{read(); //调用读取模块 do{printf( "请选择修改方式:\n");printf( "*1,按航班号修改:\n");printf( "*2,按航线修改: \n");printf("请在1---2中修改以回车键结束:\n");scanf("%d",&n); //读取修改方式 switch(n){case 1:printf("请输入航班号:\n");scanf("%d",&x[0].no); //读取航班号break;case 2:printf("请输入起始站:\n");scanf("%s",x[0].startname); //读取起始站 printf("请输入终点站:\n");scanf("%s",x[0].endname); //读取终点站 break;}for(i=0;i<m;i++){if(strcmp(s[i].end,x[0].startname)==0&&strcmp(s[i].end,x[0].endname)= =0) //判断输出条件{printf("航班号起始站终点站时间预售票总数已售票总数\n");printf(PRINT);break;}if(s[i].flightno==x[0].no) //判断输出条件{printf("航班号起始站终点站时间预售票总数已售票总数\n");printf(PRINT);break;}}x[0].no=0; //将结构体中的号为零 printf("请输入新航班号、起始站、终点站、时间(星期几)、预售票总数、已售票总数:\n");scanf("%d%s%s%s%d%d",&x[0].no,x[0].startname,x[0].endname,x[0].day,&x [0].totalticket,&x[0].sellticket); //定义输入格式s[i].flightno=x[0].no; //替换航班号 strcpy(s[i].start,x[0].startname); //替换其始站 strcpy(s[i].end,x[0].endname); //替换终点站 strcpy(s[i].day,x[0].day); //替换时间 s[i].totalticket=x[0].totalticket; //替换预售票总数s[i].sellticket=x[0].sellticket; //替换已售票总数 save(); //调用保存模块 printf("是否继续?请键入yes或no以回车键结束:\n\n");scanf("%s",j);}while(strcmp(j,"yes")==0); //判断结束}}6、个人体会历经整整一个星期的课程设计终于结束了,在这一个星期内,我们小组三个同学从最开始的空白到现在的程序运行成功。

相关文档
最新文档