C++语言课程设计报告(长途客运)订票系统)
- 格式:doc
- 大小:242.85 KB
- 文档页数:28
二○一○~二○一一学年第二学期信息科学与工程学院课程设计报告书课程名称:班级:学号:姓名:指导教师:二○一○年九月C语言课程设计题目:汽车售票系统任务:自学C语言中相关知识,设计出汽车售票系统。
要求如下所述:每天“火车站→植物园”有5个班次的汽车(假设),具体的数据格式如下:班次发车时间载客量已售票数1 06:40 50 02 09:30 40 03 12:00 40 04 14:30 40 05 16:00 50 0为售票员开发一个小程序,以完成每天的“火车站→植物园”的售票业务。
要求如下:1. 能够售票和退票。
以文件(myfile.txt)的形式保存当天各个车次的售退票情况。
◆售票功能当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数。
◆退票功能退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数。
2. 查询显示功能。
可以随时显示当前售票现状(如:班次发车时间载客量已售票数余票等信息)。
3. 用户界面中的菜单至少应包括“售票”、“退票”、“显示当前售票情况”、“保存当天数据”、“退出”5项。
可适当增加其他附加功能。
主程序流程图:订票程序流程图:退票程序流程图:系统功能模块图:程序概述:主函数菜单包括订票,退票,查看,保存的菜单.由相应函数调用可以实现相关功能模块.订票退票功能基本是一样的,需要分别输出购票车次及张数.查看功能只是把数据输出界面.退出功能是调用系统退出函数来终止程序的运行.函数程序首先要读入文件myfile.txt,获取已订票数的数据,如果没有文件,则会提示打不开文件.英雌运行程序之前请在C盘建立一个TXT文件,名为:myfile.txt.里面的内容不做任何修改,让其保留空白.默认购票数全部为0.主要源程序代码:#include<stdio.h>#include<stdlib.h>int menu() /*主菜单*/{int a;printf("****************************\n");printf("*1、订票*\n");printf("*2、退票*\n");printf("*3、显示订票情况*\n");printf("*4、保存当天数据*\n");printf("*5、退出(请先保存) *\n");printf("****************************\n");printf("******请选择操作*********\n");scanf("%d",&a);return a;}void esc(){exit (0);}void check(int*bus) /*查看车次售票情况的程序*/{printf("车次发车时间载客量已售票\n");printf("1、06:40 50 %d\n",*bus); printf("2、09:30 40 %d\n",*(bus+1)); printf("3、13:00 40 %d\n",*(bus+2)); printf("4、16:00 40 %d\n",*(bus+3)); printf("5、20:50 50 %d\n",*(bus+4)); }void order(int*bus) /*订票功能程序*/{int a,b;int capacity[5]={50,40,40,40,50};check(bus);printf("请选择要订的车次\n");scanf("%d",&a);if(a>5||a<1)printf("你选择了错误的序号\n");else printf("请选择要订票的张数\n");scanf("%d",&b);if(b>capacity[a-1]-*(bus+a-1))printf("你定票的张数超过剩余张数\n");else{*(bus+a-1)+=b;printf("订票成功\n");}}void cancel(int*bus) /*退票功能程序*/{int a,b;check(bus);printf("请选择要取消订票的车次\n");scanf("%d",&a);if(a>5||a<1)printf("你选择了错误的序号\n");elseprintf("请选择要退票的张数\n");scanf("%d",&b);if(b>*(bus+a-1))printf("你退票的张数已超过订票的张数\n");else{*(bus+a-1)-=b;printf("退票成功\n");}}void write(int*bus) /*写入已存数据的程序*/ {FILE *fp;if((fp=fopen("C:\\myfile.txt","wb"))==0){printf("打不开文件\n");exit(0);}fwrite(bus,1,1,fp);printf("保存成功\n");fclose(fp);}void read(int*bus) /*读入已存数据的程序*/{int i;FILE *fp;if((fp=fopen("C:\\myfile.txt","rb"))==0){printf("打不开文件\n");exit(0);}for(i=0;i<5;i++){if(!feof(fp)) /*测试fp所指向的文件当前状态是否"文件结束"*/ fread(bus+i,1,1,fp);}fclose(fp);}void main() /*主函数*/{int bus[5]={0,0,0,0,0};int a;read(bus);a=menu(); /*显示主菜单*/while(a<6){switch(a){case 1:order(bus);break;case 2:cancel(bus);break;case 3:check(bus);break;case 4:write(bus);break;case 5:esc();break;default:printf("你选择了错误的序号\n");break;}a=menu();}write(bus);}调试分析过程:对于购票子程序中,原来没有对购退票的张数与所剩张数做比较,加了相应代码,可以实现相应的错误提醒,然后返回主菜单,重新开始.对于退出函数,是查相应资料,通过调用系统退出函数来实现退出程序.存在问题及思考:在购退票输入要选择的车次的时候,如果输入错误的车次,则会提示”你选择了错误的序号”.但是不会返回上级菜单或主菜单.这个问题还没有解决.尝试过用return函数使其返回,但是反而会引起其他的错误,暂不知如何修改.课程设计小结:C语言是所有现在流行的编程语言的基础.学好C语言,有助于其他的语言的理解及学习.C程序中,核心是算法,只有先写出算法,然后对细节慢慢修改,写程序也应该有个相应的分块,不能就从头开始往下写,而应该先分成相应子块,写出主程序把其他子程序连接起来.然后开始子程序块的编写代码.刚编写成功的程序,肯定是有很多问题的,特别是联系实际情况的,问题就更多了,这就要求我们有很大的耐心来修改程序,并联系实际情况.学好C语言能培养我们的耐心,严谨,的态度,并有良好的基础,为以后的计算机方面的学习提供一定的帮助.我们应该学好C语言.。
c 订票课程设计一、课程目标知识目标:1. 学生能够掌握计算机订票系统的基本操作流程。
2. 学生能够理解并运用相关的票务术语,如:航班号、座位选择、电子客票等。
3. 学生能够了解我国民航订票的基本规则及常见问题处理方式。
技能目标:1. 学生能够熟练使用计算机进行在线订票操作。
2. 学生能够通过分析票务信息,进行合理的航班选择和座位预订。
3. 学生能够运用所学知识解决实际订票过程中遇到的问题。
情感态度价值观目标:1. 培养学生遵守公共秩序、尊重他人权益的良好品质。
2. 增强学生的团队协作意识,学会在集体中分享和交流经验。
3. 培养学生关注社会热点问题,提高信息素养,树立正确的消费观念。
课程性质:本课程为信息技术与生活实际相结合的实践课程,注重培养学生的实际操作能力和解决问题的能力。
学生特点:本年级学生具备一定的计算机操作基础,对新鲜事物充满好奇,喜欢动手实践。
教学要求:结合学生特点和课程性质,采用任务驱动法,引导学生自主探究和合作学习,提高课程教学的实用性和趣味性。
通过分解课程目标为具体的学习成果,便于教学设计和评估。
二、教学内容1. 订票系统介绍:介绍计算机订票系统的基本概念、功能及其在生活中的应用。
- 教材章节:第二章第三节《计算机订票系统》- 内容列举:系统登录、查询航班、选择航班、预订座位、填写个人信息、支付票款、获取电子客票。
2. 订票操作流程:详细讲解订票操作步骤,指导学生进行实际操作。
- 教材章节:第二章第四节《订票操作流程》- 内容列举:航班查询、票价查询、在线预订、支付与出票、退改签操作。
3. 常见问题处理:分析订票过程中可能遇到的问题,并提供解决方法。
- 教材章节:第二章第五节《订票常见问题处理》- 内容列举:航班取消、座位选择失误、支付失败、个人信息填写错误等问题的处理方法。
4. 民航订票规则:讲解我国民航订票的基本规则,提高学生的法律意识和遵守公共秩序的能力。
- 教材章节:第二章第六节《民航订票规则》- 内容列举:购票证件、儿童票、婴儿票、退改签规定等。
c语言订票系统课程设计一、课程目标知识目标:1. 理解C语言中结构体、数组、函数等基本概念,掌握其应用方法。
2. 学会使用C语言进行基本的输入输出操作,了解文件操作的基本方法。
3. 掌握C语言中逻辑判断、循环等控制结构,并能应用于实际编程。
技能目标:1. 能够运用所学知识设计并实现一个简单的订票系统,包括用户注册、登录、查询航班、预订航班、取消预订等功能。
2. 培养学生分析问题、解决问题的能力,通过编写代码解决实际问题。
3. 提高学生的团队协作能力,通过分组合作完成课程设计。
情感态度价值观目标:1. 培养学生对编程的兴趣和热情,激发学生主动学习的积极性。
2. 培养学生严谨、细心的学习态度,养成良好的编程习惯。
3. 增强学生的自信心和成就感,使其在学习过程中体验成功的快乐。
课程性质:本课程为C语言程序设计课程设计,旨在让学生通过实际项目实践,将所学知识运用到实际编程中,提高编程能力。
学生特点:学生已经掌握了C语言的基本语法和编程方法,具有一定的编程基础。
教学要求:教师应注重引导学生将所学知识运用到实际项目中,鼓励学生自主探究、分组合作,培养学生分析问题、解决问题的能力。
同时,关注学生的情感态度,激发学生的学习兴趣和自信心。
在教学过程中,将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. 结构体和数组的应用:回顾结构体和数组的概念,学习如何定义结构体表示航班信息,使用数组存储多个航班数据。
教材章节:第三章 结构体与联合,第四章 数组2. 函数的使用:掌握函数的定义、声明和调用,实现模块化编程,将各个功能划分为独立的函数。
教材章节:第五章 函数3. 输入输出操作:复习标准输入输出函数,学习文件操作,实现数据的持久化存储。
教材章节:第六章 标准输入输出,第七章 文件操作4. 控制结构:运用逻辑判断和循环结构实现用户界面和业务逻辑。
教材章节:第二章 选择结构,第三章 循环结构5. 课程设计实践:结合以上所学内容,设计并实现订票系统各功能模块,完成整个订票系统的开发。
c 课程设计售票系统一、教学目标本课程的目标是让学生掌握售票系统的核心知识,包括系统的设计、实现和运行。
在知识目标方面,学生需要了解票务系统的需求分析、系统设计、数据库设计、界面设计和系统测试等基本知识。
在技能目标方面,学生应掌握使用C语言进行编程的方法,能够独立设计和实现一个简单的售票系统。
在情感态度价值观目标方面,学生应培养对编程和软件开发的兴趣,增强解决实际问题的信心和能力。
二、教学内容本课程的教学内容主要包括以下几个部分:1.售票系统概述:介绍售票系统的基本概念、功能和应用场景。
2.需求分析:讲解如何分析用户需求,并写出需求说明书。
3.系统设计:介绍系统设计的方法和步骤,包括模块划分、界面设计等。
4.数据库设计:讲解如何设计售票系统的数据库,包括表结构设计、索引创建等。
5.编程实现:使用C语言讲解如何实现售票系统的各个功能模块。
6.系统测试:介绍系统测试的方法和技巧,确保系统的稳定性和可靠性。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式:1.讲授法:教师讲解基本概念、原理和方法,引导学生掌握售票系统的相关知识。
2.案例分析法:分析实际案例,让学生了解售票系统的应用场景和实现技巧。
3.实验法:学生动手编写代码,实现售票系统的功能模块,培养实际操作能力。
4.讨论法:分组讨论问题,激发学生的思考,培养团队协作能力。
四、教学资源为了支持教学,我们将准备以下教学资源:1.教材:选用权威、实用的教材,为学生提供系统性的学习资料。
2.参考书:提供相关领域的参考书籍,丰富学生的知识体系。
3.多媒体资料:制作PPT、视频等多媒体资料,提高课堂教学效果。
4.实验设备:配置必要的实验设备,如计算机、网络设备等,确保学生动手实践的需求。
五、教学评估为了全面、客观地评估学生的学习成果,我们将采取以下评估方式:1.平时表现:评估学生在课堂上的参与度、提问回答等情况,占总分的20%。
2.作业:布置适量作业,评估学生的理解和应用能力,占总分的30%。
c 课程设计订票系统一、教学目标本课程的目标是使学生掌握订票系统的原理和操作方法,培养学生运用计算机技术解决实际问题的能力。
具体目标如下:1.知识目标:使学生了解订票系统的起源、发展及其在现代社会中的应用;理解订票系统的核心概念和原理,如数据库、网络通信、算法等;掌握订票系统的常用操作和功能。
2.技能目标:培养学生能够使用订票系统进行车票预订、支付、改签、退票等操作;培养学生能够对订票系统进行基本的维护和故障排除;培养学生能够运用订票系统进行数据分析和管理。
3.情感态度价值观目标:培养学生对订票系统的正确使用态度,如遵守购票规定、尊重他人隐私、不恶意刷票等;培养学生对订票系统的安全意识,如不泄露个人信息、不轻信虚假信息等;培养学生对订票系统的开放心态,如接受新功能、新服务等。
二、教学内容本课程的教学内容主要包括订票系统的原理、操作方法和应用实践。
具体安排如下:1.订票系统的起源和发展:介绍订票系统的起源、发展历程及其在现代社会中的应用,让学生了解订票系统的历史和现状。
2.订票系统的核心概念和原理:讲解订票系统的核心概念和原理,如数据库、网络通信、算法等,使学生理解订票系统的工作原理。
3.订票系统的操作方法:教授订票系统的常用操作和功能,如车票预订、支付、改签、退票等,让学生掌握订票系统的实际操作。
4.订票系统的应用实践:通过案例分析和实践操作,使学生学会运用订票系统解决实际问题,如数据分析、安全管理等。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法、实验法等。
具体方法如下:1.讲授法:通过讲解订票系统的原理、概念和操作方法,使学生掌握相关知识。
2.讨论法:学生就订票系统的应用、优点和不足等方面进行讨论,培养学生的思考和表达能力。
3.案例分析法:通过分析实际案例,使学生学会运用订票系统解决实际问题。
4.实验法:安排实验课程,让学生亲自动手操作订票系统,提高学生的实践能力。
c 课程设计订票系统一、教学目标本章节的教学目标为:知识目标:使学生掌握订票系统的相关知识,包括系统架构、功能模块、关键技术等。
技能目标:培养学生能够使用编程语言实现简单的订票系统,并具备一定的系统调试和优化能力。
情感态度价值观目标:培养学生对信息技术领域的兴趣,提高他们运用信息技术解决实际问题的意识。
二、教学内容本章节的教学内容如下:1.订票系统概述:介绍订票系统的定义、功能、应用场景等。
2.订票系统架构:讲解订票系统的整体架构,包括前端展示、后端逻辑、数据库设计等。
3.功能模块划分:详细介绍订票系统的各个功能模块,如用户管理、订单管理、票务管理等。
4.关键技术解析:讲解实现订票系统所需的关键技术,如数据库查询、事务处理、安全性保障等。
5.编程实践:引导学生动手编写订票系统的代码,并进行调试和优化。
三、教学方法本章节的教学方法包括:1.讲授法:用于讲解订票系统的相关概念、架构和关键技术。
2.案例分析法:通过分析实际订票系统的案例,使学生更好地理解理论知识。
3.实验法:引导学生动手实践,编写订票系统代码,培养实际操作能力。
4.讨论法:学生进行小组讨论,分享学习心得,互相促进。
四、教学资源本章节的教学资源包括:1.教材:提供订票系统的理论知识,为学生学习奠定基础。
2.参考书:拓展学生的知识视野,丰富学习内容。
3.多媒体资料:通过视频、动画等形式,生动展示订票系统的实现过程。
4.实验设备:为学生提供实际操作环境,培养动手能力。
五、教学评估本章节的教学评估方式包括:1.平时表现评估:根据学生在课堂上的参与度、提问回答等情况,全面了解学生的学习态度和实际能力。
2.作业评估:通过对学生作业的完成情况、代码质量、问题解决能力等方面进行评估,了解学生的学习效果。
3.考试评估:设置期中、期末考试,测试学生对订票系统知识的掌握程度以及编程实践能力。
4.项目实践评估:学生完成一个订票系统项目,从需求分析、设计、实现到测试,全面评估学生的系统开发能力。
c 订票系统课程设计一、课程目标知识目标:1. 让学生掌握C语言中结构体、数组、函数等基本知识点的运用。
2. 让学生了解订票系统的基本功能模块及其相互关系。
3. 让学生理解订票系统中数据存储、查询、排序等算法的实现。
技能目标:1. 培养学生运用C语言设计小型信息系统的能力。
2. 培养学生分析问题、解决问题的能力,能够根据需求独立设计并实现订票系统的功能模块。
3. 培养学生运用调试工具进行代码调试和优化的能力。
情感态度价值观目标:1. 培养学生合作学习的意识,提高团队协作能力。
2. 增强学生对计算机编程的兴趣和自信心,激发学生的创新精神。
3. 培养学生严谨、认真的学习态度,养成良好的编程习惯。
课程性质:本课程为C语言程序设计课程的一个实践项目,旨在让学生将所学知识应用于实际问题的解决中。
学生特点:学生已具备C语言基本语法知识,具有一定的编程能力,但尚需提高综合运用知识解决实际问题的能力。
教学要求:结合订票系统实际需求,引导学生通过分析、设计、编程、调试等环节,完成课程目标,实现订票系统的基本功能。
在教学过程中,注重培养学生的动手能力和团队协作精神,提高学生的编程兴趣和自信心。
二、教学内容1. 结构体和数组:回顾结构体的定义和用法,数组的基本操作,为存储和管理订票系统中的数据打下基础。
(对应教材章节:结构体与数组)2. 函数:介绍函数的定义、调用和参数传递,强调模块化编程的重要性,指导学生将订票系统的功能分解为多个函数。
(对应教材章节:函数)3. 数据存储:讲解如何使用文件存储数据,介绍文件读写操作,为学生实现数据持久化提供技术支持。
(对应教材章节:文件操作)4. 排序和查询算法:引导学生了解常见的排序算法,如冒泡排序、快速排序等,并掌握二分查找算法,为优化订票系统的查询功能提供方法。
(对应教材章节:排序与查找)5. 用户界面设计:教授简单的用户界面设计方法,使学生能够实现友好的用户交互体验。
(对应教材章节:用户界面设计)教学内容安排与进度:第一周:回顾结构体和数组,明确订票系统的需求,进行功能模块划分。
c语言课程设计售票系统一、教学目标本章节的教学目标是使学生掌握C语言基础知识,能够运用C语言设计一个简单的售票系统。
具体目标如下:1.理解C语言的基本语法和数据类型。
2.掌握函数的定义和调用。
3.了解面向过程的编程思想。
4.能够使用C语言编写简单的程序。
5.能够运用面向过程的编程思想设计程序。
6.能够独立完成一个简单的售票系统的设计和实现。
情感态度价值观目标:1.培养学生的编程兴趣,提高学生对计算机科学的热爱。
2.培养学生解决问题的能力,提高学生的自主学习能力。
3.培养学生团队合作的精神,提高学生的沟通协作能力。
二、教学内容本章节的教学内容主要包括C语言基础知识、函数的定义和调用、面向过程的编程思想以及售票系统的设计和实现。
具体内容如下:1.C语言基础知识:数据类型、变量、运算符、表达式等。
2.函数的定义和调用:函数的定义、返回值、参数、函数调用等。
3.面向过程的编程思想:顺序结构、分支结构、循环结构等。
4.售票系统的设计和实现:系统需求分析、功能模块设计、程序实现等。
三、教学方法为了达到本章节的教学目标,我们将采用以下教学方法:1.讲授法:通过讲解C语言基础知识、函数的定义和调用、面向过程的编程思想等,使学生掌握相关概念和理论。
2.案例分析法:通过分析实际案例,使学生了解售票系统的设计和实现过程。
3.实验法:让学生动手编写程序,培养学生的实际编程能力。
4.讨论法:学生进行分组讨论,促进学生之间的交流与合作。
四、教学资源为了支持本章节的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:C语言程序设计教程,用于引导学生学习C语言基础知识。
2.参考书:C语言编程实践,用于为学生提供更多的编程案例和实践指导。
3.多媒体资料:教学PPT、视频教程等,用于辅助讲解和演示。
4.实验设备:计算机、编程环境等,用于学生动手实践和编写程序。
五、教学评估本章节的教学评估将采用多元化的评估方式,以全面、客观地评价学生的学习成果。
票务系统c语言课程设计一、教学目标本课程旨在通过C语言编程实现一个简单的票务系统,让学生掌握C语言的基本语法、数据结构以及简单的算法。
通过本课程的学习,学生应能理解并运用C语言进行程序设计,掌握结构体和文件操作等高级特性,培养编程思维和问题解决能力。
具体目标如下:1.知识目标:–掌握C语言的基本语法和数据类型。
–理解函数、指针、结构体的概念和应用。
–学习文件操作、动态内存分配等高级特性。
–了解票务系统的基本流程和数据结构。
2.技能目标:–能够使用C语言编写简单的程序,对票务信息进行增删改查。
–学会使用结构体来表示票务信息,并实现相关功能的函数。
–掌握文件操作,实现票务数据的持久化存储。
3.情感态度价值观目标:–培养学生的编程兴趣,提升信息时代下的学习能力。
–培养学生独立思考、解决问题的能力。
–培养学生团队协作意识和创新精神。
二、教学内容本课程的教学内容围绕票务系统的实现展开,具体包括:1.C语言基础:数据类型、运算符、控制结构。
2.函数和指针:函数定义、调用、指针的基本应用。
3.数据结构:数组、结构体、队列、栈。
4.文件操作:文件的打开、读写、关闭。
5.动态内存分配:malloc、calloc、realloc和free的使用。
6.票务系统设计:票务信息结构设计、功能模块实现。
三、教学方法为了提高教学效果,将采用以下教学方法:1.讲授法:系统讲解C语言的基本语法和票务系统设计原理。
2.案例分析法:通过分析实际案例,引导学生理解并掌握结构体和文件操作等高级特性。
3.实验法:安排上机实验,让学生亲手编写代码,实现票务系统的各个功能。
4.讨论法:学生进行小组讨论,分享学习心得和编程经验。
四、教学资源为了支持教学,将准备以下教学资源:1.教材:《C程序设计语言》(K&R)、《C Primer Plus》。
2.多媒体资料:PPT课件、教学视频。
3.实验设备:计算机、网络环境。
4.在线编程平台:如LeetCode、Codeforces,供学生练习和交流。
订票系统c 课程设计一、课程目标知识目标:1. 让学生理解订票系统的基本概念、功能模块及其在实际生活中的应用。
2. 使学生掌握运用所学编程语言(如Python、Java等)实现订票系统的基本功能。
3. 帮助学生了解数据库在订票系统中的应用,包括数据的存储、查询和修改。
技能目标:1. 培养学生运用面向对象编程思想进行问题分析和解决的能力。
2. 提高学生编写代码、调试程序和解决问题的实践操作能力。
3. 培养学生团队协作、沟通表达和项目策划的能力。
情感态度价值观目标:1. 培养学生对待编程和计算机科学的兴趣和热情,激发他们主动探索新技术的精神。
2. 培养学生具备良好的信息素养,树立正确的网络安全意识。
3. 引导学生关注信息技术在生活中的应用,认识到科技对生活的改变,提高社会责任感。
课程性质:本课程为信息技术学科的课程设计,旨在通过实际项目实践,帮助学生将所学知识运用到实际情境中,提高他们的编程实践能力和创新能力。
学生特点:本课程针对的学生群体为具有一定编程基础和数据库知识的高中生,他们对新鲜事物充满好奇,具备一定的自主学习能力。
教学要求:结合课程性质、学生特点,教学过程中需注重实践操作、团队协作和创新能力培养。
教师应引导学生明确学习目标,将目标分解为具体的学习成果,以便于后续教学设计和评估。
二、教学内容1. 订票系统概述:介绍订票系统的基本概念、发展历程及其在生活中的应用场景,关联教材中相关章节。
2. 订票系统功能模块分析:详细讲解订票系统的各个功能模块(如用户管理、航班查询、座位选择、支付等),对应教材中系统分析与设计的相关内容。
3. 编程语言应用:根据学生已掌握的编程语言(如Python、Java等),讲解实现订票系统功能的具体编程方法,涉及教材中面向对象编程、异常处理等知识点。
4. 数据库应用:介绍数据库在订票系统中的重要作用,讲解数据的存储、查询和修改方法,对应教材中数据库原理及应用的相关内容。
c 课课程设计购票系统一、教学目标本节课的教学目标是让学生掌握购票系统的功能和操作流程。
具体包括以下三个方面:1.知识目标:使学生了解购票系统的起源、发展及其在现实生活中的应用;让学生掌握购票系统的核心功能,如查询车票、预订车票、支付车票等。
2.技能目标:培养学生运用购票系统进行车票查询和预订的能力;培养学生运用编程语言实现购票系统的基本功能。
3.情感态度价值观目标:培养学生对购票系统的兴趣,认识到购票系统在现实生活中的重要性,提高学生运用购票系统解决实际问题的意识。
二、教学内容本节课的教学内容主要包括以下三个方面:1.购票系统的起源和发展:介绍购票系统的起源,以及其在我国的发展历程。
2.购票系统的功能和操作流程:详细讲解购票系统的核心功能,如查询车票、预订车票、支付车票等,并通过实际操作演示购票系统的操作流程。
3.购票系统的编程实现:引导学生运用编程语言实现购票系统的基本功能,如查询车票、预订车票等。
三、教学方法为了实现本节课的教学目标,我们将采用以下教学方法:1.讲授法:通过讲解购票系统的起源、发展、功能和操作流程,使学生掌握购票系统的相关知识。
2.讨论法:学生分组讨论购票系统在现实生活中的应用,以及如何运用编程语言实现购票系统的基本功能。
3.案例分析法:分析现实生活中的购票系统案例,使学生更好地理解购票系统的功能和操作流程。
4.实验法:引导学生动手编程,实现购票系统的基本功能,提高学生的实际操作能力。
四、教学资源为了支持本节课的教学内容和教学方法,我们将准备以下教学资源:1.教材:选用符合我国教学大纲的购票系统相关教材,为学生提供系统的购票系统知识。
2.参考书:提供购票系统相关的参考书籍,丰富学生的知识体系。
3.多媒体资料:制作购票系统的教学课件、视频等多媒体资料,提高学生的学习兴趣。
4.实验设备:准备计算机等实验设备,让学生动手实践,提高实际操作能力。
五、教学评估本节课的教学评估将采用多元化的评估方式,以全面、客观地评价学生的学习成果。
订票管理系统c语言课程设计一、课程目标知识目标:1. 理解C语言中结构体、数组、函数等基本概念,掌握其应用方法。
2. 学会使用C语言实现简单的订票管理系统,了解系统设计的基本流程和关键环节。
3. 掌握文件操作、指针等C语言高级特性,并能将其应用于实际项目中。
技能目标:1. 培养学生运用C语言进行问题分析和解决的能力,提高编程实践技能。
2. 培养学生团队协作能力,学会与他人共同完成一个项目,提高沟通与协作效率。
3. 培养学生具备一定的项目调试和优化能力,提高代码质量和性能。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣和热情,激发学习动力。
2. 培养学生勇于面对困难、积极解决问题的精神,增强自信心。
3. 引导学生认识到编程在实际生活中的应用价值,培养社会责任感和创新意识。
分析课程性质、学生特点和教学要求,本课程将目标分解为以下具体学习成果:1. 学生能够独立完成一个简单的订票管理系统,展示其编程能力。
2. 学生能够通过团队协作,共同优化和完善订票管理系统,提高项目质量。
3. 学生在课程学习过程中,能够积极思考、提问,主动寻求解决问题的方法。
4. 学生能够体验到编程带来的成就感,激发进一步学习的兴趣和动力。
二、教学内容本课程教学内容主要包括以下几部分:1. C语言基础知识回顾:- 结构体的定义和使用- 数组的基本操作- 函数的定义和调用- 指针的概念及操作2. 订票管理系统需求分析:- 了解订票管理系统的功能模块- 分析系统需求和设计思路3. 订票管理系统模块设计:- 用户模块:注册、登录、修改密码等- 航班模块:航班查询、预订、取消预订等- 管理模块:航班管理、用户管理等- 数据存储模块:文件操作、数据存储与读取4. C语言编程实践:- 编写各模块的功能函数- 实现模块间的数据传递与交互- 调试与优化程序5. 团队协作与项目展示:- 分组进行项目开发- 协作完成项目,分享开发经验- 展示项目成果,进行评价与总结教学内容按照以下教学大纲安排和进度:第一周:回顾C语言基础知识,分析订票管理系统需求第二周:设计订票管理系统各模块,学习文件操作和指针第三周:编写各模块功能函数,实现模块间数据传递与交互第四周:项目调试与优化,团队协作与项目展示教材章节关联:《C语言程序设计》第3章:结构体与数组《C语言程序设计》第4章:函数《C语言程序设计》第5章:指针《C语言程序设计》第8章:文件操作与应用三、教学方法本课程将采用以下多样化的教学方法,以激发学生的学习兴趣和主动性:1. 讲授法:- 通过对C语言基础知识的回顾,为学生提供必要的概念和理论知识,为后续实践打下基础。
C语言课程设计汽车售票系统一、教学目标本课程的教学目标是使学生掌握C语言的基本语法和编程技巧,能够运用C语言设计并实现一个简单的汽车售票系统。
具体目标如下:1.理解C语言的基本数据类型和运算符。
2.掌握C语言的控制结构,如条件语句和循环语句。
3.熟悉C语言的函数定义和调用。
4.理解C语言的指针和数组。
5.能够使用C语言编写简单的程序。
6.能够运用C语言实现数据的输入和输出。
7.能够运用C语言进行基本的逻辑判断和循环控制。
8.能够设计并实现简单的函数。
情感态度价值观目标:1.培养学生对计算机编程的兴趣和热情。
2.培养学生解决问题的能力和团队合作精神。
二、教学内容本课程的教学内容主要包括C语言的基本语法和编程技巧,以及如何设计一个简单的汽车售票系统。
具体内容如下:1.C语言的基本数据类型和运算符。
2.C语言的控制结构,如条件语句和循环语句。
3.C语言的函数定义和调用。
4.C语言的指针和数组。
5.C语言的输入输出操作。
6.C语言的逻辑判断和循环控制。
7.C语言的函数设计。
8.汽车售票系统的设计和实现。
三、教学方法本课程的教学方法主要包括讲授法、案例分析法和实验法。
通过多种教学方法的综合运用,激发学生的学习兴趣和主动性。
1.讲授法:通过讲解C语言的基本语法和编程技巧,使学生掌握相关知识。
2.案例分析法:通过分析具体的编程案例,使学生理解并掌握C语言的应用。
3.实验法:通过编写和运行C语言程序,使学生动手实践,巩固所学知识。
四、教学资源本课程的教学资源主要包括教材、参考书、多媒体资料和实验设备。
1.教材:选用权威、实用的C语言教材,如《C程序设计语言》。
2.参考书:提供相关的C语言编程参考书籍,如《C语言编程思想》。
3.多媒体资料:制作精美的教学PPT,提供相关的教学视频和案例分析。
4.实验设备:提供计算机实验室,让学生能够进行实际编程和实验。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以全面客观地评估学生的学习成果。
订票c语言课程设计报告一、课程目标知识目标:1. 学生能够掌握C语言中结构体、数组、函数等基本概念,并能够运用这些知识进行订票系统的设计。
2. 学生能够理解并使用C语言中的文件操作,完成对订票信息的存储与读取。
3. 学生能够运用C语言实现基本的排序算法,对订票信息进行排序。
技能目标:1. 学生能够独立设计并编写一个简单的订票系统,具备实际编程能力。
2. 学生能够通过分析实际需求,选择合适的C语言知识解决问题,培养解决问题的能力。
3. 学生能够利用所学知识,对订票系统进行优化,提高系统的性能。
情感态度价值观目标:1. 学生在课程学习中,培养对编程的兴趣和热情,树立正确的计算机科学观念。
2. 学生通过合作完成课程项目,培养团队协作精神和沟通能力。
3. 学生能够认识到编程知识在实际生活中的应用,增强学以致用的意识。
课程性质:本课程为实践性课程,注重培养学生的实际编程能力和解决实际问题的能力。
学生特点:学生已具备C语言基础知识,具有一定的编程能力,但实际应用经验不足。
教学要求:结合学生特点,注重理论与实践相结合,通过课程设计,提高学生的编程能力和解决实际问题的能力。
将课程目标分解为具体的学习成果,便于后续的教学设计和评估。
二、教学内容本课程教学内容紧密结合课程目标,主要包括以下几部分:1. C语言基础知识回顾:结构体、数组、函数、文件操作等。
- 结构体:定义、声明、初始化、结构体数组、结构体指针。
- 数组:一维数组、二维数组、数组的初始化、数组的使用。
- 函数:函数的定义、函数的调用、函数的参数传递、递归函数。
- 文件操作:文件的打开与关闭、文件的读写、文件的定位。
2. 订票系统需求分析:分析用户需求,设计系统功能模块。
- 用户功能:查询航班、预订机票、取消预订、查看预订信息。
- 管理功能:添加航班、删除航班、修改航班信息、查询航班信息。
3. C语言编程实现订票系统:- 设计系统框架,实现各功能模块。
- 利用结构体、数组等知识存储和管理数据。
c 课程设计订票系统一、教学目标本课程的目标是让学生掌握订票系统的开发流程和基本技术,包括需求分析、系统设计、编码实现和测试等。
在知识目标方面,学生需要了解数据库管理、编程语言、网络通信等相关知识;在技能目标方面,学生需要掌握软件开发工具的使用、编程规范、代码审查等技能;在情感态度价值观目标方面,学生需要培养团队协作意识、创新精神和责任感。
二、教学内容本课程的教学内容主要包括订票系统的需求分析、系统设计、编码实现和测试四个环节。
首先,学生需要了解订票系统的功能需求、性能需求等,并进行需求分析;其次,学生需要根据需求分析结果进行系统设计,包括数据库设计、界面设计等;然后,学生需要使用编程语言和开发工具进行编码实现;最后,学生需要对完成的系统进行测试,确保其功能和性能满足需求。
三、教学方法为了达到本课程的教学目标,我们将采用多种教学方法,包括讲授法、案例分析法、实验法和讨论法等。
在讲授法中,教师将向学生讲解订票系统的相关知识和技能;在案例分析法中,学生将分析实际案例,加深对知识的理解;在实验法中,学生将通过实际操作,掌握编程工具和开发流程;在讨论法中,学生将分组讨论,培养团队协作和沟通能力。
四、教学资源为了支持本课程的教学内容和教学方法的实施,我们将准备多种教学资源。
教材方面,我们将选用权威、实用的教材,如《订票系统设计与实现》;参考书方面,我们将提供相关领域的经典著作和最新论文,供学生深入研究;多媒体资料方面,我们将制作PPT、视频等,以便学生更好地理解教学内容;实验设备方面,我们将确保每位学生都能使用电脑和相应的软件工具,进行实际操作。
五、教学评估本课程的评估方式将包括平时表现、作业、考试等多个方面,以全面反映学生的学习成果。
平时表现将根据学生在课堂上的参与度、提问和回答问题的情况进行评估;作业将包括编程练习和课后论文,以巩固学生对知识的理解;考试将分为期中考试和期末考试,以检验学生对课程的整体掌握情况。
C++语言课程设计报告(长途客运)订票系统)xxxx大学xx学院C语言课程设计题目:长途客运售票系统专业:计算机科学与技术班级:姓名:完成时间:目录第一部分:源程序(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页)第一部分:源程序#include <stdio.h>#include <string.h>#include <stdlib.h>#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].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;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();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 keyto 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<n;i++){if(strcmp(ti[i].EnPlace,s.EnPlace)==0){m++;if((m!=0)&&(m%10==0)) /*目的是分屏显示*/{printf("\n\nPress any keyto 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 notbetween 1 and 4,Please inputagain:");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;}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].BePl ace)==0&&strcmp(s.EnPlace,ti[i]. EnPlace)==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");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!");}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(structplane),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(){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.退票");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 notbetween 1 and 8,Please input enterto choice again:");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); }}int main(){menu();}第二部分:函数流程图 (1)menu()函数(28/8/2020 第30页(3)Order函数YY(4)input 函数Y(5)browse 函数(6)Search_time 函数(7)Search_end函数(8)search 函数Y YNY(9)void menu1函数(10)book函数(11)back函数(12)save 函数通过对C获,将<<C语言>>应用得到了实践,将所学的各种语句紧密的联系起来,得到了融汇和贯通,使我对C语言有了更深一步的学习和认识。
《C++程序设计》课程设计说明书题目长途客运售票管理系统的设计学号姓名指导教师日期内蒙古科技大学课程设计任务书目录第1章需求分析设计资料及参数用C++设计一个系统,能提供下列服务:(1)录入车次信息,格式为:可不定时地增加车次数据。
(2)浏览车次信息,可显示出所有车次,如果当前系统时间超过了某车次的发车时间,则显示“此班列车已发出”的提示信息。
(3)查询路线:可按车次编号查询,可按起始站,终点站查询(4)售票和退票功能A:查询车次或站点。
当剩余座位数大于0,并且当前系统时间小于发车时间时才能售票,售票后自动更新剩余座位数。
B:退票时,输入退票的车次,当本班列车未发出时才能退票,退票后自动更新剩余座位数。
第2章总体设计用结构框图表示各个功能之间的关系将框图中系统的各个功能用文字详细的描述。
1.铁路售票管理系统理解:系统中必须有车次信息,车次信息应该是由管理员录入,可由管理员或者乘客查看,定退票及其他操作。
其中要注意的是录入信息必须是由管理员完成的,所以我会创建一个乘客类,然后创建管理员类继承乘客类,进而继承乘客的所有功能,并添加录入信息的功能。
信息的载体可以使链表,也可以是数组,因为我更加熟悉数组,所以我用对象数组。
(为了熟悉链表,课下自己还建立了以链表存放数据的系统)系统录入信息的操作非常枯燥,所以我创建了一个文件,把每次录入的信息保存入文件,在下一次进入系统是,它会默认读取文件原有的信息,当然也可以随时添加录入车次信息。
然后系统的各个功能仅仅是通过查询找到具体对象的具体数据进行操作。
2.基本功能:录入——次、始发站、终点站、开车时间(小时、分钟)、票价、剩余票数等信息。
浏览车次——查看所有的录入车次其中开车时间小于当前时间的车次则输出车次已发出。
查询车次——通过搜索车次或站点来快速的查看车辆的信息。
定退票——车时间大于当前系统时间的前提下才可退票并且在票数大于零的前提下才可定票,票数更新。
文件的存储——存储录入的车次信息以便下次访问。
xxxx大学xx学院C语言课程设计题目:长途客运售票系统专业:计算机科学与技术班级:姓名:完成时间:目录第一部分:源程序(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页)第一部分:源程序#include <stdio.h>#include <string.h>#include <stdlib.h>#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].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;}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();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 . . .");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");/*调用显示一个记录的函数*/}}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;}}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");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!");}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(){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.退票");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();}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);}}int main(){menu();}YYYYYYYYNY NYNNNNN NNN第二部分:函数流程图 (1)menu()函数开始输出目录输出nif n<1||n>8While(w==1)输出n(1-8)结束n=1n=2 n=5 n=6 n=4n=3 n=7 n=8 航班操作浏览输入新航班退出清屏(cls)int n,w1订票退票保存载入w1=1w1=012/26/2014 第14页YN(2)enter 函数开始 请输入航班的数目n请输入第n 次航班记录请输入数据mi<n结束 调用input()函数i=0清屏(cls)int i返回menu() i++YNYNNY(3)Order函数开始i<n结束j<nstrcmp(ti[i].data,ti[j].data)>0j++s=ti[i]; ti[i]=ti[j] ti[j]=s调用browse()j=i+1i=0清屏(cls )int i,ji++(4)input 函数开始请输入航班代号请输入航班的票价请输入降落地点请输入起飞地点请输入起飞时间请输入航班的最大载客人数结束返回menu()NY(5)browse 函数开始 i<n结束调用printf_one(i)i++i=0清屏(cls)int i返回menu()输出Y YNY N(6)Search_time 函数结束m++(m!=0)&&(m%10==0)调用函数printf_one()回车换行i++返回menu1()i=0清屏(cls)int i,m输入时间按任意键继续进行S==ti[i]i<nY YNY(7) Search_end 函数S==ti[i]i<n结束输入要到达的地方按任意键继续进行回车换行(m!=0)&&(m%10==0)m++调用函数printf_one(i)i++返回menu ()i=0清屏(cls)int i ,mYYYN NY(8)search 函数开始结束输入起飞,降落地点和时间i<ns trcmp(s.BePlace,ti[i].BePlace)==0&&strcmp(s.EnPla ce,ti[i].EnPlace)==0&&strck==-1i++返回search()=k输出“NO exist!”返回sear c h()=-1 i=0清屏(cls)k=-1int i,k跳出(break )调用printf_one(k)k=iN Y NNNYNY YY Y(9)void menu1函数开始 输出目录2 输出n(1-4) if n<1||n>4 while(w1==1)结束输出nn=1n=4n=3 n=2int n,w1 清屏(cls ) serch_end ()search_time()order()w1=0w1=1 menu()YNNY(10)book 函数开始输出“欢迎进入售票窗口”i!=-1ti[i].num>=ti[i].max结束输出“该客运不存在!”ti[i].num++返回menu()i=search()清屏(cls)int i输出“该趟客运票已售完”输出 “订票成功”YNYNNY(11)back函数开始 输入“欢迎进入退票窗口”输入“输入客运代号” i<nstrcmp(s.ID,ti[i].ID)==0结束k==-1menu()i=0 清屏(cls )int i,k=-1调用printf_one(k)k=iti[i].num--i++ 输出 “退票成功!”输出 “NOexist!”NYNNYYYN(12)save 函数开始结束int w=1, FILE*fp,i清屏(cls)i++w=0i=0(fp=fopen("\\ticket.tx t","wt"))==NULLi<nfwrite(&ti[i],sizeof(struct plane),1,fp)!=1plane),1,fp)!=1w==1调用fclose(fp)返回menu()输出“Cannot open file ”输出“file saveok!”输出“file writeerror ”NYNYNYload 函数(13)开始结束FILE*fp int i,w=1清屏(cls)FILE*fp int i,ww=0(fp=fopen("\\ticket.txt","rt "))==NULL返回(fp=fopen("\\ticket.tx t","rt"))==NULLn=n-1fread(&ti[i],sizeof( struct plane),1,fp)n++i=0!feof(fp)fclose(fp)w==1返回menu()i++n=0输出“Cannotopenfile ”输出“Load file ok!”第三部分:心得体会通过对C语言课程设计的学习,自己有很大的收获,将<<C语言>>应用得到了实践,将所学的各种语句紧密的联系起来,得到了融汇和贯通,使我对C语言有了更深一步的学习和认识。