c语言课程设计车票管理系统
c语言课程设计车票管理系统

c语言课程设计车票管理系统一、教学目标本课程的教学目标是使学生掌握C语言编程的基本技能,能够运用C语言设计简单的车票管理系统。
具体目标如下:1.知识目标:–掌握C语言的基本语法和数据结构;–理解车票管理系统的业务逻辑和需求;–了解软件开发的基本流程。
2.技能目标:–能够使用C语言编写程序,实现车票管理系统的基本功能;–能够进行程序调试和优化,提高程序的性能和可维护性;–能够运用面向对象编程思想,设计合理的软件架构。
3.情感态度价值观目标:–培养学生的编程兴趣,增强自信心;–培养学生团队合作精神和自主学习能力;–培养学生对软件行业的热爱和对编程事业的敬业精神。
二、教学内容本课程的教学内容主要包括C语言基础知识、车票管理系统的需求分析、系统设计、编码实现和测试等。
具体安排如下:1.C语言基础知识:–数据类型、变量和常量;–运算符和表达式;–控制语句;–函数和数组。
2.车票管理系统的需求分析:–理解车票管理系统的业务流程;–分析系统需求,确定功能模块。
3.系统设计:–设计系统的数据结构和算法;–设计系统的界面和交互逻辑。
4.编码实现:–使用C语言编写程序,实现车票管理系统的基本功能;–进行程序调试和优化。
5.测试与总结:–对程序进行测试,确保功能正确;–总结学习过程,提高编程能力。
三、教学方法本课程采用讲授法、案例分析法和实验法等多种教学方法,以激发学生的学习兴趣和主动性。
1.讲授法:通过讲解C语言的基本语法和车票管理系统的业务逻辑,使学生掌握相关知识。
2.案例分析法:分析实际案例,使学生更好地理解车票管理系统的需求和设计。
3.实验法:让学生动手编写程序,培养实际操作能力和编程技能。
四、教学资源本课程所需的教学资源包括:1.教材:《C程序设计语言》或《C语言入门教程》;2.参考书:《C语言编程思想》或《C语言实例教程》;3.多媒体资料:教学PPT、视频教程等;4.实验设备:计算机、网络环境等。
以上教学资源将有助于实现本课程的教学目标,提高学生的编程能力,为学生的职业发展奠定基础。
车票c语言课程设计

车票c语言课程设计一、课程目标知识目标:1. 学生能理解并掌握C语言中基本的数据类型、运算符、控制结构等知识,并运用到车票信息处理中。
2. 学生能运用C语言编写程序,实现车票信息的管理,包括车票查询、购买、退票等功能。
3. 学生了解C语言中数组、字符串、结构体等知识在车票管理系统中的应用。
技能目标:1. 学生能运用C语言编写具有一定复杂度的程序,具备分析问题、解决问题的能力。
2. 学生能通过车票管理系统项目实践,提高编程实践能力,熟练使用C语言进行程序设计。
3. 学生能运用调试工具对程序进行调试和优化,提高程序质量和运行效率。
情感态度价值观目标:1. 学生通过车票管理系统项目实践,培养对计算机编程的兴趣和热情,增强学习动力。
2. 学生在项目开发过程中,学会与他人合作、沟通,培养团队协作精神和解决问题的能力。
3. 学生在课程学习过程中,认识到编程在现实生活中的应用价值,提高对信息技术的认识。
本课程针对高年级学生,结合C语言课程特点,注重理论与实践相结合,旨在提高学生的编程能力、分析问题和解决问题的能力。
通过车票管理系统项目实践,使学生将所学知识运用到实际项目中,达到学以致用的目的。
同时,注重培养学生的学习兴趣、团队协作精神和价值观。
课程目标具体、可衡量,为后续教学设计和评估提供明确依据。
二、教学内容1. C语言基础知识回顾:数据类型、变量、常量、运算符、控制结构(条件语句、循环语句)。
2. 函数:函数定义、调用、参数传递、递归函数。
3. 数组与字符串:一维数组、二维数组、字符串操作。
4. 指针:指针概念、指针与数组、指针与函数、指针与字符串。
5. 结构体与共同体:结构体定义、结构体数组、结构体指针、共同体。
6. 文件操作:文件打开、关闭、读写、定位。
教学大纲安排:第一周:C语言基础知识回顾,重点讲解与车票管理系统相关的内容。
第二周:函数部分,讲解如何使用函数实现模块化编程。
第三周:数组与字符串,学习如何存储和处理车票信息。
c语言课程设计车票管理系统

c语言课程设计车票管理系统车票管理系统是一种用于管理和查询车票信息的软件系统。
在现代社会中,人们经常需要购买车票进行出行,而车票管理系统能够提供方便快捷的购票、退票、查询等功能,极大地方便了人们的出行需求。
车票管理系统需要具备用户管理功能。
用户可以通过注册账号和登录系统来使用各种功能。
系统需要记录用户的个人信息,包括姓名、身份证号码、电话号码等,以便于用户购票和退票时的身份验证。
用户可以通过修改个人信息来更新自己的基本资料。
车票管理系统需要提供车次管理功能。
系统需要记录不同车次的信息,包括车次编号、发车时间、到达时间、起始站点、终点站点、票价等。
管理员可以通过系统添加、修改和删除车次信息。
用户可以查询某一特定车次的详细信息,包括车次编号、发车时间、到达时间、起始站点、终点站点、余票数量、票价等。
车票管理系统还需要提供购票和退票功能。
用户可以通过系统选择某一特定车次和日期,然后查询该车次的余票数量。
如果有余票,用户可以选择购买相应数量的车票,并完成支付操作。
购票成功后,系统会生成一张电子车票并发送到用户的手机上。
如果用户需要退票,可以在规定的时间范围内选择相应的车票进行退票操作。
系统会根据退票规则进行退款处理,并将退款金额返还到用户的账户余额。
车票管理系统还需要提供车票查询功能。
用户可以通过系统选择起始站点和终点站点,然后查询符合条件的车次列表。
系统会根据用户的选择显示车次编号、发车时间、到达时间、余票数量、票价等信息。
用户可以根据自己的需求选择最合适的车次进行购票。
车票管理系统还需要具备统计分析功能。
管理员可以通过系统生成各种报表,包括每日、每周、每月的车票销售情况、客流量统计、收入统计等。
这些报表可以帮助管理员了解车票销售的情况,从而进行合理的调整和优化。
车票管理系统是一种方便快捷的软件系统,能够满足用户购票、退票和查询的需求。
通过该系统,用户可以轻松地选择合适的车次、购买车票,并随时查询车票信息。
课程设计报告_车票管理系统

湖南工业大学课程设计(实训)资料学院计算机学院2018-2019 学年第 1 学期课程名称面向过程程序设计(C语言)课程设计指导教师xxx 学生姓名xxx 专业班级计算机类xxx 学号xxx题目车票管理系统起止日期2019 年12 月23 日~2019 年 1 月 2 日目录清单课程设计(实训)任务书学院:计算机学院学生姓名:xxx 专业班级:xxx课程名称:面向过程程序设计(C语言)课程设计设计题目:车票管理系统完成期限:自2018 年12 月23 日至2019 年 1 月 2 日共1周指导教师(签字):年月日系(教研室)主任(签字):年月日课程设计(实训)报告课程名称:面向过程程序设计(C语言)课程设计题目:车票管理系统起止日期:2018 年12 月23 日至2019 年1 月2 日学院计算机学院学生姓名xxx班级计算机类xxx学号xxx成绩指导教师(签字)2019 年1 月目录1 课题简介 (5)1.1系统简介 (5)1.2开发环境及开发工具 (5)2 问题分析 (6)2.1需求分析 (6)2.2问题分析 (7)2.3系统中涉及到的相关算法 (8)3 系统设计 (10)3.1系统功能设计 (10)3.2系统的功能分析 (12)4 系统的实现 (13)4.1系统主函数设计 (13)4.2录入和增加班次模块 (14)4.3查询和浏览模块 (18)4.4售退票模块 (23)5 系统测试 (27)5.1软件测试 (27)5.2系统有效性 (27)6 设计总结 (27)参考文献 (28)1 课题简介1.1系统简介通过这次系统开发的经历,通过查询各种书籍以及网上视频去学会怎样灵活地去运用C语言设计编写一些小功能函数,并且结合课上所学的的知识,将呆板的文字知识变成实际的动手能力,通过编写课程设计,去体会逻辑思维和设计算法能力的重要性,并且要知道编写代码应该思路清晰,格式整齐,简单易懂为主。
我也需要去发现所学知识中的漏洞,并且及时翻找资料完善不足以提高自身水平、完善自身。
c语言课程设计车票管理系统

c语言课程设计车票管理系统一、教学目标本节课的教学目标是使学生掌握C语言编程的基本方法,通过编写“车票管理系统”程序,让学生了解和掌握结构体、文件操作等高级知识,培养学生的实际编程能力和问题解决能力。
具体分为以下三个部分:1.知识目标:使学生掌握结构体的定义和使用,理解文件操作的基本方法,了解C语言编程中的一些常见问题和解决方法。
2.技能目标:培养学生能够运用C语言进行程序设计,能够独立完成一个小型管理系统的设计与实现。
3.情感态度价值观目标:培养学生对计算机科学的兴趣,提高学生解决实际问题的能力,培养学生的团队协作精神。
二、教学内容本节课的教学内容主要包括以下几个部分:1.结构体的定义和使用:通过讲解和示例,让学生了解结构体的概念和如何使用结构体来表示车票信息。
2.文件操作:讲解如何使用C语言进行文件的读写操作,让学生掌握文件操作的基本方法。
3.车票管理系统的设计与实现:通过分组讨论和实验,让学生设计和实现一个简单车票管理系统,培养学生的实际编程能力和问题解决能力。
三、教学方法本节课的教学方法主要包括讲授法、讨论法和实验法:1.讲授法:用于讲解结构体和文件操作的基本概念和方法。
2.讨论法:通过分组讨论,让学生共同探讨如何设计和实现车票管理系统。
3.实验法:让学生动手编写程序,实现车票管理系统的功能。
四、教学资源本节课的教学资源主要包括教材、参考书、多媒体资料和实验设备:1.教材:主要包括C语言编程教材和《C程序设计》等。
2.参考书:主要包括《C语言 Primer》等。
3.多媒体资料:包括结构体和文件操作的PPT讲解,以及相关的视频教程。
4.实验设备:包括计算机和网络设备,让学生能够进行实际的编程和实验操作。
五、教学评估本节课的教学评估主要包括以下几个部分:1.平时表现:通过观察学生在课堂上的参与程度、提问回答等情况,评估学生的学习态度和理解程度。
2.作业:通过检查学生提交的作业,评估学生对结构体和文件操作知识的掌握情况。
c语言课程设计车票管理系统

c语言课程设计车票管理系统车票管理系统是一个用于管理车票信息的软件系统。
它可以记录并管理车票的购买、退票、查询等操作,实现对车票信息的全面管理和统计。
本文将从需求分析、系统设计和实现三个方面来介绍车票管理系统的开发过程。
一、需求分析车票管理系统主要面向客户和管理员两类用户。
客户可以通过系统购买车票、查询车票信息,管理员可以管理车票信息、处理退票等操作。
1. 用户管理车票管理系统需要实现用户的注册和登录功能,以保证用户购票时的身份认证和信息安全。
2. 车次管理系统需要记录车次的信息,包括车次编号、起始站点、终点站点、发车时间、到达时间、票价等。
管理员可以对车次信息进行增删改查操作。
3. 车票管理系统需要记录车票的信息,包括车票编号、车次编号、座位号、购票人、购票时间等。
客户可以通过系统购买车票,管理员可以对车票信息进行增删改查操作。
4. 车票查询客户可以根据起始站点、终点站点和发车时间等条件来查询车票信息,以便选择合适的车次和座位。
5. 车票购买客户可以选择合适的车次和座位进行购票,系统需要实时更新车票信息,避免重复售票或超售情况的发生。
6. 车票退票客户可以通过系统进行退票操作,系统需要实时更新车票信息,并进行相应的退款处理。
二、系统设计基于需求分析的结果,我们可以设计出如下的系统架构:1. 用户管理模块包括用户注册、登录、信息修改等功能。
2. 车次管理模块包括车次信息的增删改查功能。
3. 车票管理模块包括车票信息的增删改查功能。
4. 车票查询模块根据用户输入的条件查询车票信息并展示给用户。
5. 车票购买模块根据用户选择的车次和座位进行购票,并更新车票信息。
6. 车票退票模块根据用户选择的车票进行退票,并更新车票信息和退款处理。
三、系统实现车票管理系统的实现主要依赖于数据库和编程语言。
我们可以选择使用MySQL作为数据库,使用C语言进行系统的开发。
1. 数据库设计根据需求分析的结果,我们可以设计出如下的数据库表结构:- 用户表:包括用户ID、用户名、密码等字段。
车票管理系统c语言课程设计

车票管理系统 c语言课程设计一、教学目标本节课的教学目标是使学生掌握车票管理系统的设计与实现,通过学习,学生应能理解C语言在实际应用中的编程方法,熟练运用C语言实现一个简单的车票管理系统。
具体来说,知识目标包括理解车票管理系统的业务流程,掌握C语言的基本数据类型和控制结构;技能目标包括能够使用C语言编写程序,实现车票管理系统的基本功能;情感态度价值观目标包括培养学生的团队协作意识,提高学生解决实际问题的能力。
二、教学内容本节课的教学内容主要包括车票管理系统的业务流程分析、C语言基本数据类型和控制结构的学习,以及车票管理系统程序的编写和调试。
首先,学生需要了解车票管理系统的业务流程,包括车票的购买、退票、改签等操作;其次,学生需要学习C语言的基本数据类型和控制结构,如整数、浮点数、字符、条件语句、循环语句等;最后,学生需要运用所学知识,编写车票管理系统程序,并进行调试。
三、教学方法为了达到本节课的教学目标,将采用讲授法、案例分析法和实验法等多种教学方法。
首先,通过讲授法向学生传授车票管理系统的业务流程和C语言的基本知识;其次,通过案例分析法,分析车票管理系统的实际应用,使学生更好地理解所学知识;最后,通过实验法,让学生动手编写和调试车票管理系统程序,提高学生的实际操作能力。
四、教学资源本节课的教学资源包括教材、参考书、多媒体资料和实验设备。
教材和参考书将提供车票管理系统的设计原理和C语言编程方法的理论知识;多媒体资料将展示车票管理系统的实际应用场景,帮助学生更好地理解所学知识;实验设备将支持学生进行车票管理系统程序的编写和调试,提高学生的实际操作能力。
五、教学评估本节课的教学评估将采用多元化的评估方式,包括平时表现、作业和考试等,以全面客观地评价学生的学习成果。
平时表现将占课程总评的30%,主要评估学生在课堂上的参与程度和表现;作业将占课程总评的30%,主要评估学生对车票管理系统设计和C语言编程的掌握情况;考试将占课程总评的40%,主要评估学生对车票管理系统设计和C语言编程的综合运用能力。
c车票管理系统课课程设计

c 车票管理系统课课程设计一、教学目标本课程的学习目标旨在让学生掌握车票管理系统的基本概念、原理和实际应用,培养学生具备一定的编程能力和问题解决能力。
具体目标如下:1.知识目标:(1)了解车票管理系统的基本原理和架构;(2)掌握车票管理系统的主要模块及其功能;(3)熟悉车票管理系统的编程语言和开发环境。
2.技能目标:(1)能够使用编程语言实现车票管理系统的各个模块;(2)具备调试和优化车票管理系统的的能力;(3)学会运用车票管理系统解决实际问题。
3.情感态度价值观目标:(1)培养学生对编程和计算机科学的兴趣;(2)培养学生团队合作、创新思维和持续学习的精神;(3)培养学生遵守编程规范和职业道德的意识。
二、教学内容本课程的教学内容主要包括以下几个部分:1.车票管理系统的基本原理和架构;2.车票管理系统的主要模块及其功能;3.车票管理系统的编程语言和开发环境;4.车票管理系统的实际应用案例分析。
教学大纲安排如下:第1-2课时:介绍车票管理系统的基本原理和架构;第3-4课时:讲解车票管理系统的主要模块及其功能;第5-6课时:学习车票管理系统的编程语言和开发环境;第7-8课时:分析车票管理系统的实际应用案例。
三、教学方法为了提高教学效果,本课程将采用以下教学方法:1.讲授法:讲解车票管理系统的基本原理、主要模块和编程语言;2.案例分析法:分析车票管理系统的实际应用案例,让学生深入了解课程内容;3.实验法:让学生动手实践,调试和优化车票管理系统;4.讨论法:鼓励学生提问、发表见解,培养团队合作和创新思维。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用权威、实用的车票管理系统教材;2.参考书:提供相关的编程语言和开发环境的参考书籍;3.多媒体资料:制作精美的课件、教学视频等;4.实验设备:为学生提供充足的计算机设备,以便进行实验和实践。
五、教学评估为了全面、客观地评估学生的学习成果,本课程将采用以下评估方式:1.平时表现:考察学生在课堂上的参与程度、提问和回答问题的积极性等;2.作业:布置适量的作业,检查学生对知识的掌握和应用能力;3.考试:安排期中考试和期末考试,测试学生的知识水平和问题解决能力;4.项目实践:让学生参与车票管理系统的实际项目,评估其动手能力和创新能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河北建筑工程学院课程设计报告课程设计名称:C语言课程设计课程设计题目:车票管理系统院(系):理学院专业:信息与计算科学班级:信142学号:******指导教师:***完成日期:2015-6-17目录前言随着计算机技术的发展,可视编程技术占有了越来越重要的作用。
VisualC++6.0 是一种功能强大行之有效的可视化编程工具。
因此此软件是在VisualC++6.0环境下编写的。
对于我们,随着学习的深入,已经大体掌握了Visual C++6.0环境下的程序开发。
为了将我们的编程能力提升到一个更高的水平,深化面向对象的编程思维和解决问题的能力,值此课程设计周期间,进行基于Visual C++6.0环境的软件开发,先以字符统计软件作为开始,对Visual C++6.0环境和面向对象程序设计进行回忆和熟悉,使得在此基础上的下一个员工培训系统软件的开发进行的更加顺利。
本文档详细叙述了基于Visual C++6.0环境下的车票管理系统的设计过程以及程序源代码。
本文档从概要设计,详细设计,参考源程序代码以及显示程序运行的截屏等方面详尽的介绍了软件开发过程。
此次车票管理系统的开发目的是使我们用面向对象的方式来思考和解决问题的能力,并且可以掌握字符数组的使用、字符指针的使用、数据库的设计和文件使用以及C语言语法。
程序在设计的过程中遇到的问题已及时更正,但由于编者的能力和水平有限,车票管理系统和文档中不免会出现一些不期待的错误,望文档读者能够理解和体谅,并欢迎提醒和纠正,在此表示感谢以及敬意。
第1章概要设计1.1题目的内容与要求一车站每天有n个发车班次,每个班次都有一班次号(1、2、3…n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。
如班次发车时间起点站终点站行车时间额定载量已定票人数1 8:00 郫县广汉2 45 302 6:30 郫县成都 0.5 40 403 7:00 郫县成都 0.5 40 204 10:00 郫县成都 0.5 40 2…(一)功能要求:用c/c++设计一系统,能提供下列服务:(1)录入班次信息(信息用文件保存),可不定时地增加班次数据(2)浏览班次信息,可显示出所有班次当前状总。
(3)查询路线:可按班次号查询 ,可按终点站查询(4)售票和退票功能A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数(二)其它要求:(1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)学生可自动增加新功能模块(视情况可另外加分)(4)写出课程设计报告,具体要求见相关说明文档然后对调用函数进行定义。
void add()增加记录,void Cipher()密码验证函数,void del()删除班次信息函数,void find(int s1,char s2[]) 查找函数,int findnum(int s1)查找班次函数,void Input() 信息录入函数,void huanying () 欢迎界面,void land() 登录选择界面,void menu1()管理员菜单界面,void menu2()普通菜单界面,void open() 调用数据函数,void save()保存函数,void searchesmenu()查询菜单,void ticketdelete()退票函数,void ticketorder()售票函数,int timee(int i)判断时间是否超出函数,void timetable1显示车次函数该系统将这些信息均放在文件中。
最后定义main()函数,利用函数调用,实现程序的各种功能。
将其放在系统文件车中。
第3章调试分析1、程序陷入死循环解决办法:仔细分析程序间的关系,画程序流程图分析问题所在。
利用break 命令跳出循环2、程序出现乱码解决办法:利用VC6.0本身的调试功能查找错误的所在,修改源程序。
3、所学知识不能很好的完成程序解决办法:上网查找相关资料,进入一些开源论坛寻求一定的帮助。
第4章使用说明与执行结果图4-1欢迎界面图4-2登录菜单图4-3管理员登录的密码机制图4-4密码容错机制图4-5管理员菜单图4-6图4-7班次录入界面图4-8图4-9班次增加界面图4-10时刻表浏览界面图4-11查询界面图4-11注销班次界面图4-12普通登录菜单图4-13图4-14售票窗口图4-15图4-16退票界面参考文献1、《》作者:出版社:。
2、《》作?者:书号:ISBN出版社:。
3、《C语言从入门到精通(第2版)》作者:书号:ISBN出版社:。
4、《21天学通C语言(第7版) 》作者:(美)等着,译书号:ISBN出版社:。
5、《C Primer Plus(第五版)中文版》作者:[美] 书号:ISBN出版社:。
谢鸣:百度文库百度贴吧百度百科C语言之家Linux开源俱乐部网络资料来源:1、2、3、Hotscripts4、ment/cpp/code/_/8附录(程序清单)代码//增加记录#include<stdio.h>#include"news.h"#include<stdlib.h>#include<conio.h>void add(){void open();int get();void save();void menu1();int i,j=5;open(); // 调用按班次查询函数system("cls"); //清屏printf("1. 增加班次\n");printf("2. 返回\n");printf("请选择(1-2)\n");scanf("%d",&i);if(i==1){system("cls"); //清屏printf("1. 请输入要增加的班次:\n");scanf("%d",&timetable[class_num].no);for(i=0;i<class_num;i++)if(timetable[class_num].no==timetable[i].no)//比较是否相等,判断车次是否重复{printf("输入错误!\n");getch(); //收集回车break;}if(i==class_num){get(i,j); //修改及增加班次*class_num++; //使班次数加1save(); //调用保存函数}elsemenu1();}}#include<stdio.h>void Cipher()//密码验证函数{int m,n=123;//规定密码void menu1(); //上级菜单的声明;容错机制printf("请输入密码:");//输入提示scanf("%d",&m);//密码输入while(1){//容错机制if(m==n)menu1();elseprintf("密码错误请重新输入:");scanf("%d",&m);}}//删除班次信息#include<stdio.h>#include<stdlib.h> //system("cls")的声明#include<conio.h> //getch()的声明#include"news.h"void del(){ void save();int findnum(int s1);int i,h=0;int num;char or[10];system("cls"); //清屏printf("1. 删除班次\n");printf("2. 返回\n");printf("请选择(1-2):\n");scanf("%d",&i);if(i==1){system("cls"); //清屏printf("请输入要删除的班次:\n");scanf("%d",&num);i=findnum(num); //调用班次查询函数if(i==class_num) //全部匹配后但无匹配项{printf("输入错误,无此班次!\n");getch(); //收集回车del();}else{printf("确定?(y/n)\n");//确认机制scanf("%s",or);if(or[0]=='y'||or[0]=='Y'){for(;i<class_num-1;i++)timetable[i]=timetable[i+1];class_num--; //班次总数减1save(); //调用保存函数}}}}//查找函数#include<stdio.h>#include"news.h"#include<string.h>void find(int s1,char s2[]){int i,h=0,m;if(s2[0]=='\0')m=1; //1为无条件执行else m=0;printf("\n|----------|----------|----------|----------|--------|--------|--------|\n");printf("\n| 班次| 发车时间| 起点站| 终点站|行车时间|额定载量| 已售票|\n");for(i=0;i<class_num;i++)if(s1=timetable[i].no||strcmp(s2,timetable[i].Last_station)==0)//判断字符串比较是否相等{printf("\n|----------|----------|----------|----------|--------|--------|--------|\n");printf("|%10d|%5d:%-4d|%10s|%10s|%8.1f|%8d|%8d|\n",timetable[i].no,timetable [i].hour,timetable[i].minute,timetable[i].Starting_station,timetable[i].Last_station,timetable [i].time,timetable[i].max_number,timetable[i].sold_number);if(m==1)h++;break;}printf("\n|----------|----------|----------|----------|--------|--------|--------|\n");if(h==0)//不能break则执行printf("要查找的班次不存在!\n");}//查找班次#include<stdio.h>#include"news.h"int findnum(int s1){int i;printf("\n|----------|----------|----------|----------|--------|--------|--------|\n");for(i=0;i<class_num;i++){if(s1==timetable[i].no) //判断字符串比较是否相等,如果符合则输出车次等信息{printf("|----------|----------|----------|----------|--------|--------|--------|\n");printf("|%10d|%5d:%-4d|%10s|%10s|%8.1f|%8d|%8d|",timetable[i].no,timetable[i] .hour,timetable[i].minute,timetable[i].Starting_station,timetable[i].Last_station,timetable [i].time,timetable[i].max_number,timetable[i].sold_number);break;}}printf("\n|----------|----------|----------|----------|--------|--------|--------|\n");return i;}//欢迎界面#include <stdio.h>void huanying (){printf("\n\n\n\n");printf("\t************************************************************\n" );printf("\n\n\n\n");printf("\t\t\t\t车票管理系统\n");printf("\n\n\n\n");printf("\t\t\t设计人:李嘉星;刘新月;田宇\n");printf("\n\n");printf("\t\t\t\t感谢您的使用\n\t\t\t\t按任意键继续\n");printf("\n\n");printf("\t************************************************************\n" );}//信息录入界面#include <stdio.h>#include "news.h"#include<stdlib.h>#include<conio.h>void Input(){{int i=0,j=5,h;char s[5];void save();void add();void get(int i,int j);FILE *fp; //定义文件型指针变量system("cls"); //清屏if((fp=fopen("车票管理系统0.dat","rb"))!=NULL) //fopen打开文件{printf("车票信息已经存在!\n");printf("任意输入进入添加菜单\n");scanf("%s",s); //收集任意输入i=1; //通过是1add();}if(i==0){system("cls"); //清屏printf("请输入要录入班次总数:\n");scanf("%d",&class_num); //指向班次指针system("cls"); //清屏for(i=0;i<class_num;i++){system("cls"); //清屏printf("请输入第%d个班次信息:\n",i+1);h=-1;for(;h!=i;) ///循环输出{printf("请输入班次:\n");scanf("%d",&timetable[i].no);for(h=0;h<i;h++)if(timetable[h].no==timetable[i].no){printf("输入错误!该班次已存在!\n");break; //返回}}get(i,j); //修改及增加班次j=5;}save(); //调用保存函数}}}void get(int i,int j) // 修改及增加班次{for(;;){printf("请输入发车时间(xxxx)");scanf("%d %d",&timetable[i].hour,&timetable[i].minute);if(timetable[i].hour<24&&timetable[i].hour>=0&&timetable[i].minute<60&&tim etable[i].minute>=0)break;else{printf("输入错误!\n");getch(); //收集回车}}printf("请输入起点站:\n");scanf("%s",timetable[i].Starting_station);printf("请输入终点站:\n");scanf("%s",timetable[i].Last_station);printf("请输入行车时间:\n");scanf("%f",&timetable[i].time);printf("请输入额定载量:\n");scanf("%d",&timetable[i].max_number);printf("请输入已售票数:\n");scanf("%d",&timetable[i].sold_number);}//管理员菜单界面#include <stdio.h>void menu1(){void Input();void timetable1();void save();void del();void searchesmenu();void land();void add();int n;printf("\t\t\t\t1、车次信息录入\n\t\t\t\t2、增加车次信息\n\t\t\t\t3、时刻表浏览\n\t\t\t\t4、车辆信息查询\n\t\t\t\t5、注销车次\n\t\t\t\t6、保存\n\t\t\t\t7、返回\n");printf("\t\t\t 请输入需要运行的命令编号\n");while(1){//死循环形成菜单scanf("%d",&n);switch(n){case 1:Input();break;//车辆信息录入case 2:add();break;//增加车次信息case 3:timetable1();break;//浏览时刻表case 4:searchesmenu();break;//车辆信息查询case 5:del();break;//注销车次case 6: save();break;//保存命令case 7:land();break;//返回上级菜单default: printf("非法输入\n");break;}}}//普通登录菜单#include <stdio.h>void menu2(){void timetable1();void ticketorder();void ticketdelete();void land();void searchesmenu();int n;printf("\t\t\t\t1、时刻表浏览\n\t\t\t\t2、车辆信息查询\n\t\t\t\t3、购买车票\n\t\t\t\t4、退回车票\n\t\t\t\t5、返回\n");printf("\t\t\t 请输入需要运行的命令编号\n");while(1){scanf("%d",&n);switch(n){case 1:timetable1();break;//时刻表浏览case 2:searchesmenu();break;//车辆信息查询case 3:ticketorder();break;//购买车票case 4:ticketdelete(); break;//退回车票case 5:land();break;//返回上级菜单default: printf("非法输入\n");break;}}}#include<stdio.h>void huanying ();void land();int main(){char ch;huanying();ch=getchar( );//收集回车land();return 0;}#include <stdio.h>#include <stdlib.h>#include "news.h"#include<conio.h>void open(){FILE *fp1,*fp2;if((fp1=fopen("车票管理系统.dat","rb"))==NULL){system("cls"); //清屏printf("文件打开错误!\n");getch(); //收集回车exit(0);}if((fp2=fopen("车票管理系统0.dat","rb"))==NULL){system("cls"); //清屏printf("文件打开错误!\n");getch(); //收集回车exit(0); //退出}fread(&class_num,sizeof(int),1,fp2); ///读入信息fread(timetable,sizeof(timetable[0]),class_num,fp1);/////读入信息fclose(fp1);fclose(fp2); ///文件关闭}#include <stdio.h>#include <stdlib.h>#include "news.h"void save() //保存函数{void menu1();FILE *fp1,*fp2; //文件行指针if((fp1=fopen("车票管理系统.dat","wb"))==NULL) //打开文件、为输出打开一个二进制文件{printf("文件打开错误!\n");exit(0);}if((fp2=fopen("车票管理系统0.dat","wb"))==NULL) //打开文件、为输出打开一个二进制文件{printf("文件打开错误!\n");exit(0);}fwrite(&class_num,sizeof(int),1,fp2); //写入文件信息fwrite(timetable,sizeof(timetable[0]),class_num,fp1);fclose(fp1);fclose(fp2); //关闭文件printf("保存成功");menu1();}//查询菜单#include<stdio.h>#include<stdlib.h>#include<conio.h>void searchesmenu(){int i;void find(int s1,char s2[]);char s1=0,s2[10]={'\0'};void open();void land();system("cls"); //清屏printf("1. 按班次查询\n");printf("2. 按终点站查询\n");printf("3. 退出\n");printf("请选择(1-3):\n");scanf("%d",&i);open(); // 调用按班次查询函数switch(i) //菜单{case 1: printf("请输入要查询的班次:\n"); //s1为班次scanf("%d",&s1);find(s1,s2); //调用查找函数break;case 2: printf("请输入要查询终点站:\n"); //s2为终点站scanf("%s",s2);find(s1,s2); //调用查找函数break;case 3:land();break;//返回机制default : printf("输入错误!\n");break;}printf("按任意键继续....\n");getch(); //收集回车}//退票函数#include<stdio.h>#include"news.h"#include<stdlib.h>#include<conio.h>void ticketdelete(){int i;int num;char or;int timee();void open();int findnum(int s1);void save();void menu2();system("cls"); //清屏printf("1. 退票\n");printf("2. 返回\n");printf("请选择(1-2)\n:");scanf("%d",&i);if(i==1){system("cls"); //清屏open(); // 调用按班次查询函数printf("请输入要退票的班次:\n");scanf("%d",&num);i=findnum(num); //调用班次查询函数if(num=timetable[i].no) //判断字符串比较是否相等待比较的字符串if(timee(i)) //判断时间是否超出函数{scanf("%c",&or);if(or=='y'||or=='Y')getch();{timetable[i].sold_number--; //使已售票加1printf("退票成功!\n");save(); //调用保存函数getch(); //从控制台读取一个字符,但不显示在屏幕上}}else{printf("该班车已发出,无法退票!\n");getch(); //收集回车}}}//售票函数#include<stdio.h>#include"news.h"#include<stdlib.h>#include<conio.h>void ticketorder(){int i;int num;void save();int timee(int i);void open();void searchesmenu();void land();system("cls"); //清屏printf("1. 售票\n");printf("2. 返回\n");printf("请选择(1-2):\n");scanf("%d",&i);if(i==1){open(); // 调用openprintf("请输入要订票的班次(若无请输入0):\n");scanf("%d",&num);for(i=0;i<class_num;i++)if(num==timetable[i].no)//比较是否相等if(timetable[i].sold_number>timetable[i].max_number&&timee(i)==1)//判断时间是否超出函数***并且***没超出最大客量{timetable[i].sold_number++; //使已售的票数+1printf("通向%s班次为%d的票订票成功!\n",timetable[i].Starting_station,timetable[i].no);save(); //调用保存函数getch(); //收集回车break;}else{printf("该班次已满或已发出!\n");getch(); //收集回车land();}}else land();}#include<time.h>#include<stdlib.h>#include"news.h"int timee(int i) //判断时间是否超出函数***{struct tm *local; //时间结构体time_t t; //把当前时间给tt=time(NULL); //NULL在stdio.h中定义为0local=localtime(&t); /////获取当前系统时间if(local->tm_hour<timetable[i].hour||local->tm_hour==timetable[i].hour&&local->tm_ min<timetable[i].minute)return 1;elsereturn 0;}#include <stdio.h>#include "news.h"#include<stdlib.h>#include<conio.h>void timetable1() //显示车次函数{int i,j;void open();int timee(int i);void land();system("cls"); //清屏open();// 调用opensystem("cls"); //清屏printf("**************************MESSAGE车程信息**********************************\n");printf("\n|----------|----------|----------|----------|--------|--------|--------|\n");printf("\n| 班次| 发车时间| 起点站| 终点站|行车时间|额定载量| 已售票|\n");for(i=0,j=0;i<class_num;i++,j+=2) //按班次顺序输出{printf("\n|----------|----------|----------|----------|--------|--------|--------|\n");if(timee(i))//判断时间是否超出printf("|%10d|%5d:%-4d|%10s|%10s|%8.1f|%8d|%8d|",timetable[i].no,timetable[i] .hour,timetable[i].minute,timetable[i].Starting_station,timetable[i].Last_station,timetable [i].time,timetable[i].max_number,timetable[i].sold_number);elseprintf("|%10d| 已发车|%10s|%10s|%8.1f|%8d|%8d|",timetable[i].no,timetable[i].Starting_station,timetable[i].Last_station,timetable[i].time,timetable[i].max_number,timetable[i].sold_number);}printf("\n|----------|----------|----------|----------|--------|--------|--------|\n");printf("\n按任意键继续....\n");getch(); //收集回车land();}致谢最后,在这里郑重的感谢李老师的帮助,让我得到了许多的收获。