火车票管理系统—课程设计(附源代码)

合集下载

C程序设计 火车票管理系统

C程序设计 火车票管理系统

课程设计任务书课设题目:火车售票系统系别班级学生姓名学号指导教师职称课程设计进行地点:实训F座任务下达时间: 年月日起止日期:年月日起至年月日止教研室主任: 年12月24日批准一、课程设计的原始资料及依据在现代社会,火车以其安全,舒适以及其服务的周到使愈来愈多的人选择了火车为长距离出行的交通工具,这就使火车公司以及车站的工作量愈来愈大,若仍然使用文件或者人工来管理公司、车站、火车、列班、路线、客户以及售票的信息,那无疑在效率上会大打折扣。

21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。

利用计算机来储存和管理公司、车站、火车、列班、车线、客户以及售票的信息成为了首选,在这种情况下,火车订票系统就显得非常重要了。

两个客户名单可分别由线性表和队列实现。

为查找方便,已订票客户的线性表应按客户姓名有序,并且,为插入和删除方便,应以链表作存储结构。

由于预约人数无法预计,队列也应以链表作存储结构。

整个系统需汇总各条路线的情况登录在一张线性表上,由于路线基本不变,可采用顺序存储结构,并按车次有序或按终点站名有序。

每条路线是这张表上的一个记录,包含上述8个域,其中乘员名单域为指向乘员名单链表的头指针,等候替补的客户名单域为分别指向队头和队尾的指针。

队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表。

用队列来进行客户信息的存储。

编辑用户使用菜单,内容包括:输入列班信息,保存列班信息,读取列班信息,查找列班信息,删除列班信息,订票信息,退票信息以及修改信息。

二、课程设计主要内容及要求1. 列车基本信息管理:输入所有列班信息。

每条路线所涉及的信息有:终点站名、车次号、车厢号、开车周日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、座位等级1,2或3)以及等候替补的客户名单(包括姓名、所需的票量)。

2.列车基本信息查询:按车次号查找,按抵达站查找,按路线查找三种查找方式进行查找。

java+web+mysql火车票管理系统课程设计

java+web+mysql火车票管理系统课程设计

java+web+mysql火车票管理系统课程设计
火车票管理系统是一个非常常见的项目,可以用Java语言编写。

以下是一个简单的课程设计框架示例:
1. 系统需求分析
- 确定系统的基本功能需求,如用户登录、车票查询、订单
管理等。

- 确定系统的非功能需求,如界面友好、响应快速等。

2. 数据库设计
- 设计系统所需的数据库表结构,如用户表、车次表、订单
表等。

- 设计表之间的关系,如用户表与订单表的关联关系。

3. 界面设计
- 设计系统的用户界面,包括登录界面、主界面、查询界面、订单管理界面等。

- 界面应该直观、易用,符合用户的操作习惯。

4. 功能开发
- 编写用户登录功能,实现用户的注册、登录、注销等操作。

- 编写车票查询功能,实现按日期、起点站、终点站等条件
进行查询。

- 编写订单管理功能,实现订单的新增、修改、删除等操作。

5. 数据库操作
- 使用Java的JDBC接口操作MySQL数据库。

- 编写数据库访问层,封装数据库操作,提供给其他模块使用。

6. 系统集成测试
- 对各个模块进行集成测试,确保系统的功能正常运行。

- 测试用户登录、车票查询、订单管理等功能。

7. 系统部署与运行
- 部署系统到服务器,确保能够正常运行。

- 测试系统在实际环境下的稳定性和性能。

以上仅为简单的课程设计框架示例,具体的项目实现细节和功能需求需要根据自己的具体情况进行调整和完善。

希望对你的课程设计有帮助!。

C语言编程---火车订票系统源代码

C语言编程---火车订票系统源代码

火车订票系统源码(一)#include <conio.h>#include <stdio.h>#include <stdlib.h>#include <string.h>intshoudsave=0 ;int count1=0,count2=0,mark=0,mark1=0 ;/*定义存储火车信息的结构体*/struct train{char num[10];/*列车号*/char city[10];/*目的城市*/char takeoffTime[10];/*发车时间*/char receiveTime[10];/*到达时间*/int price;/*票价*/intbookNum ;/*票数*/};/*订票人的信息*/struct man{charnum[10];/*ID*/char name[10];/*姓名*/intbookNum ;/*需求的票数*/};/*定义火车信息链表的结点结构*/typedefstruct node{struct train data ;struct node * next ;}Node,*Link ;/*定义订票人链表的结点结构*/typedefstruct people{struct man data ;struct people*next ;}bookMan,*bookManLink ;/* 初始界面*/voidprintInterface(){puts("********************************************************"); puts("* Welcome to use the system of booking tickets *");puts("********************************************************"); puts("* You can choose the operation: *");puts("* 1:Insert a train information *");puts("* 2:Inquire a train information *");puts("* 3:Book a train ticket *");puts("* 4:Update the train information *");puts("* 5:Advice to you about the train *");puts("* 6:save information to file *");puts("* 7:quit the system *");puts("********************************************************"); }/*添加一个火车信息*/voidInsertTraininfo(Link linkhead){struct node *p,*r,*s ;charnum[10];r = linkhead ;s = linkhead->next ;while(r->next!=NULL)r=r->next ;while(1){printf("please input the number of the train(0-return)");scanf("%s",num);if(strcmp(num,"0")==0)break ;/*判断是否已经存在*/while(s){if(strcmp(s->data.num,num)==0){printf("the train '%s'has been born!\n",num);return ;}s = s->next ;}p = (struct node*)malloc(sizeof(struct node));strcpy(p->data.num,num);printf("Input the city where the train will reach:");scanf("%s",p->data.city);printf("Input the time which the train take off:");scanf("%s",p->data.takeoffTime);printf("Input the time which the train receive:");scanf("%s",&p->data.receiveTime);printf("Input the price of ticket:");scanf("%d",&p->data.price);printf("Input the number of booked tickets:");scanf("%d",&p->data.bookNum);p->next=NULL ;r->next=p ;r=p ;shoudsave = 1 ;}}/*打印火车票信息*/voidprintTrainInfo(struct node*p){puts("\nThe following is the record you want:");printf(">>number of train: %s\n",p->data.num);printf(">>city the train will reach: %s\n",p->data.city);printf(">>the time the train take off: %s\nthe time the train reach: %s\n",p->data.takeoffTime,p->data.receiveTime);printf(">>the price of the ticket: %d\n",p->data.price);printf(">>the number of booked tickets: %d\n",p->data.bookNum);}struct node * Locate1(Link l,charfindmess[],char numorcity[]){Node*r ;if(strcmp(numorcity,"num")==0){r=l->next ;while(r){if(strcmp(r->data.num,findmess)==0)return r ;r=r->next ;}}else if(strcmp(numorcity,"city")==0){r=l->next ;while(r){if(strcmp(r->data.city,findmess)==0)return r ;r=r->next ;}}return 0 ;}/*查询火车信息*/voidQueryTrain(Link l){Node *p ;intsel ;char str1[5],str2[10];if(!l->next){printf("There is not any record !");return ;}printf("Choose the way:\n>>1:according to the number of train;\n>>2:according to the city:\n");scanf("%d",&sel);if(sel==1){printf("Input the the number of train:");scanf("%s",str1);p=Locate1(l,str1,"num");if(p){printTrainInfo(p);}else{mark1=1 ;printf("\nthe file can't be found!");}}else if(sel==2){printf("Input the city:");scanf("%s",str2);p=Locate1(l,str2,"city");if(p){printTrainInfo(p);}else{mark1=1 ;printf("\nthe file can't be found!");}}}/*订票子模块*/voidBookTicket(Link l,bookManLink k){Node*r[10],*p ;charch,dem ;bookMan*v,*h ;int i=0,t=0 ;charstr[10],str1[10],str2[10];v=k ;while(v->next!=NULL)v=v->next ;printf("Input the city you want to go: ");scanf("%s",&str);p=l->next ;while(p!=NULL){if(strcmp(p->data.city,str)==0){r[i]=p ;i++;}p=p->next ;}printf("\n\nthe number of record have %d\n",i);for(t=0;t<i;t++)printTrainInfo(r[t]);if(i==0)printf("\n\t\t\tSorry!Can't find the train for you!\n"); else{printf("\ndo you want to book it?<1/0>\n");scanf("%d",&ch);if(ch == 1){h=(bookMan*)malloc(sizeof(bookMan)); printf("Input your name: ");scanf("%s",&str1);strcpy(h->,str1);printf("Input your id: ");scanf("%s",&str2);strcpy(h->data.num,str2);printf("Input your bookNum: ");scanf("%d",&dem);h->data.bookNum=dem ;h->next=NULL ;v->next=h ;v=h ;printf("\nLucky!you have booked a ticket!"); getch();shoudsave=1 ;}}}bookMan*Locate2(bookManLinkk,charfindmess[]) {bookMan*r ;r=k->next ;while(r){if(strcmp(r->data.num,findmess)==0){mark=1 ;return r ;}r=r->next ;}return 0 ;}/*修改火车信息*/voidUpdateInfo(Link l){Node*p ;charfindmess[20],ch ;if(!l->next){printf("\nthere isn't record for you to modify!\n"); return ;}else{QueryTrain(l);if(mark1==0){printf("\nDo you want to modify it?\n"); getchar();scanf("%c",&ch);if(ch=='y');{printf("\nInput the number of the train:");scanf("%s",findmess);p=Locate1(l,findmess,"num");if(p){printf("Input new number of train:");scanf("%s",&p->data.num);printf("Input new city the train will reach:");scanf("%s",&p->data.city);printf("Input new time the train take off");scanf("%s",&p->data.takeoffTime);printf("Input new time the train reach:");scanf("%s",&p->data.receiveTime);printf("Input new price of the ticket::");scanf("%d",&p->data.price);printf("Input new number of people who have booked ticket:"); scanf("%d",&p->data.bookNum);printf("\nmodifying record is sucessful!\n");shoudsave=1 ;}elseprintf("\t\t\tcan't find the record!");}}elsemark1=0 ;}}/*系统给用户的提示信息*/voidAdvicedTrains(Link l){Node*r ;charstr[10];int mar=0 ;r=l->next ;printf("Iuput the city you want to go: ");scanf("%s",str);while(r){if(strcmp(r->data.city,str)==0&&r->data.bookNum<200){mar=1 ;printf("\nyou can select the following train!\n");printf("\n\nplease select the fourth operation to book the ticket!\n"); printTrainInfo(r);}r=r->next ;}if(mar==0)printf("\n\t\t\tyou can't book any ticket now!\n");}/*保存火车信息*/voidSaveTrainInfo(Link l){FILE*fp ;Node*p ;int count=0,flag=1 ;fp=fopen("c:\\train.txt","wb");if(fp==NULL){printf("the file can't be opened!");return ;}p=l->next ;while(p){if(fwrite(p,sizeof(Node),1,fp)==1){p=p->next ;count++;}else{flag=0 ;break ;}}if(flag){printf("the number of the record which have been saved is %d\n",count); shoudsave=0 ;}fclose(fp);}/*保存订票人的信息*/voidSaveBookmanInfo(bookManLink k){FILE*fp ;bookMan*p ;int count=0,flag=1 ;fp=fopen("c:\\man.txt","wb");if(fp==NULL){printf("the file can't be opened!");return ;}p=k->next ;while(p){if(fwrite(p,sizeof(bookMan),1,fp)==1){p=p->next ;count++;}else{flag=0 ;break ;}}if(flag){printf("the number of the record which have been saved is %d\n",count); shoudsave=0 ;}fclose(fp);}int main(){FILE*fp1,*fp2 ;Node*p,*r ;char ch1,ch2 ;Link l ;bookManLink k ;bookMan*t,*h ;intsel ;l=(Node*)malloc(sizeof(Node));l->next=NULL ;r=l ;k=(bookMan*)malloc(sizeof(bookMan));k->next=NULL ;h=k ;fp1=fopen("c:\\train.txt","ab+");if((fp1==NULL)){printf("can't open the file!");return 0 ;}while(!feof(fp1)){p=(Node*)malloc(sizeof(Node));if(fread(p,sizeof(Node),1,fp1)==1){p->next=NULL ;r->next=p ;r=p ;count1++;}}fclose(fp1);fp2=fopen("c:\\man.txt","ab+");if((fp2==NULL)){printf("can't open the file!");return 0 ;}while(!feof(fp2)){t=(bookMan*)malloc(sizeof(bookMan)); if(fread(t,sizeof(bookMan),1,fp2)==1){t->next=NULL ;h->next=t ;h=t ;count2++;}}fclose(fp2);while(1){system("cls");printInterface();printf("please choose the operation: "); scanf("%d",&sel);system("cls");if(sel==8){if(shoudsave==1){getchar();printf("\nthe file have been changed!do you want to save it(y/n)?\n"); scanf("%c",&ch1);if(ch1=='y'||ch1=='Y'){SaveBookmanInfo(k);SaveTrainInfo(l);}}printf("\nThank you!!You are welcome too\n");break ;}switch(sel){case 1 :InsertTraininfo(l);break ;case 2 :QueryTrain(l);break ;case 3 :BookTicket(l,k);break ;case 4 :UpdateInfo(l);break ;case 5 :AdvicedTrains(l);break ;case 6 :SaveTrainInfo(l);SaveBookmanInfo(k);break ;case 7 :return 0;}printf("\nplease press any key to continue.......");getch();}return 0;}11/11。

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

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

车票管理系统 c语言课程设计一、教学目标本节课的教学目标是使学生掌握车票管理系统的设计与实现,通过学习,学生应能理解C语言在实际应用中的编程方法,熟练运用C语言实现一个简单的车票管理系统。

具体来说,知识目标包括理解车票管理系统的业务流程,掌握C语言的基本数据类型和控制结构;技能目标包括能够使用C语言编写程序,实现车票管理系统的基本功能;情感态度价值观目标包括培养学生的团队协作意识,提高学生解决实际问题的能力。

二、教学内容本节课的教学内容主要包括车票管理系统的业务流程分析、C语言基本数据类型和控制结构的学习,以及车票管理系统程序的编写和调试。

首先,学生需要了解车票管理系统的业务流程,包括车票的购买、退票、改签等操作;其次,学生需要学习C语言的基本数据类型和控制结构,如整数、浮点数、字符、条件语句、循环语句等;最后,学生需要运用所学知识,编写车票管理系统程序,并进行调试。

三、教学方法为了达到本节课的教学目标,将采用讲授法、案例分析法和实验法等多种教学方法。

首先,通过讲授法向学生传授车票管理系统的业务流程和C语言的基本知识;其次,通过案例分析法,分析车票管理系统的实际应用,使学生更好地理解所学知识;最后,通过实验法,让学生动手编写和调试车票管理系统程序,提高学生的实际操作能力。

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

教材和参考书将提供车票管理系统的设计原理和C语言编程方法的理论知识;多媒体资料将展示车票管理系统的实际应用场景,帮助学生更好地理解所学知识;实验设备将支持学生进行车票管理系统程序的编写和调试,提高学生的实际操作能力。

五、教学评估本节课的教学评估将采用多元化的评估方式,包括平时表现、作业和考试等,以全面客观地评价学生的学习成果。

平时表现将占课程总评的30%,主要评估学生在课堂上的参与程度和表现;作业将占课程总评的30%,主要评估学生对车票管理系统设计和C语言编程的掌握情况;考试将占课程总评的40%,主要评估学生对车票管理系统设计和C语言编程的综合运用能力。

C语言编写车票管理系统(2024)

C语言编写车票管理系统(2024)

引言概述:车票管理系统是一种用于管理车票信息,包括购票、退票、查询票务等功能的软件系统。

本文将以C语言为编程语言,详细阐述如何编写一个车票管理系统。

该系统可以方便管理者对车票信息进行操作,同时也提供给用户便捷的购票和查询功能。

正文内容:一、数据库设计1.1数据库表的建立1.2表中字段的设置1.3数据库的连接与操作1.4数据库的备份与恢复1.5数据库的维护与优化二、用户管理2.1用户注册2.2用户登录2.3用户信息修改2.4用户权限管理2.5用户数据备份与恢复三、车票管理3.1车票添加3.2车票查询3.3车票修改3.4车票删除3.5车票排序和筛选四、订单管理4.1订单4.2订单查询4.3订单修改4.4订单删除4.5订单统计和报表五、支付管理5.1支付方式的选择5.2支付状态的更新5.3支付记录的查询5.4退款管理5.5支付安全性保证总结:通过本文详细的阐述,我们了解到了如何使用C语言编写一个车票管理系统。

在系统的开发过程中,数据库设计、用户管理、车票管理、订单管理和支付管理等方面都需要详细考虑。

通过对每个模块的分析和设计,能够使系统更加高效、安全和易用。

在实际开发中,我们还需要根据具体需求进行对系统的优化和完善,保证系统能够满足用户的需求,并且能够稳定运行。

希望本文对您有所帮助,能够指导您在C语言中编写车票管理系统的开发过程。

引言概述:C语言编写车票管理系统是一个涉及到计算机编程技术的项目,旨在帮助车票销售员和管理员更好地管理和控制车票的销售与出票过程。

本文将详细介绍该系统的设计和实现过程,包括系统的功能需求、系统的结构设计、关键代码的实现以及系统的优化与改进。

正文内容:1.功能需求车票管理系统的功能需求包括但不限于:车票销售、车票查询、座位管理、车票退换等。

具体的系统功能要求涉及到对车票信息的录入、查询、修改和删除,车票的座位分配和座位的查询,以及对车票销售记录的统计和报表等功能。

1.1车票销售功能实现车票销售功能是车票管理系统的核心功能之一。

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

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

河北建筑工程学院课程设计报告课程设计名称:C语言课程设计课程设计题目:车票管理系统院(系):理学院专业:信息与计算科学班级:信142学号:20143140201姓名:刘新月指导教师:李鸿强完成日期: 2015-6-17目录前言 (2)第1章概要设计 (3)1.1题目的内容与要求 (3)1.2总体结构 (3)第2章详细设计 (4)主模块流程图 (4)车票管理系统软件详细设计 (4)第3章调试分析 (6)第4章使用说明与执行结果 (7)参考文献 (15)附录(程序清单) (16)致谢 (32)前言随着计算机技术的发展,可视编程技术占有了越来越重要的作用。

Visual C++6.0 是一种功能强大行之有效的可视化编程工具。

因此此软件是在Visual C++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),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。

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

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

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

一、课程目标知识目标:1. 学生能掌握C语言基础语法,包括变量定义、数据类型、运算符、控制结构等;2. 学生能理解车票管理系统的需求分析,明确系统功能模块;3. 学生能运用C语言编写车票管理系统中各个功能模块的程序代码;4. 学生了解文件操作在车票管理系统中的应用。

技能目标:1. 学生能够运用结构体数组、链表等数据结构实现车票信息的管理;2. 学生能够使用函数实现模块化编程,提高代码的可读性和可维护性;3. 学生通过课程设计,培养分析和解决实际问题的能力;4. 学生能够运用调试工具,找出程序中的错误并进行修正。

情感态度价值观目标:1. 学生通过课程设计,培养对编程的兴趣和热情,提高自主学习能力;2. 学生在团队协作中,学会沟通与分享,培养合作精神;3. 学生在解决实际问题的过程中,体验程序设计的乐趣,增强自信心;4. 学生能够认识到编程在现实生活中的应用价值,激发对计算机科学的热爱。

二、教学内容1. C语言基础语法:变量定义、数据类型、运算符、控制结构(选择、循环);2. 面向过程编程:函数定义、调用、参数传递、递归;3. 数据结构:数组、结构体、链表;4. 文件操作:文件打开、读写、关闭;5. 车票管理系统功能模块:- 车票查询:按车次、日期、起始站、终点站查询车票信息;- 车票预订:选择车次、座位,录入乘客信息,完成预订;- 车票退订:根据预订记录,进行退票操作;- 车票统计:统计各车次、日期的售票情况;6. 程序调试与优化:调试工具使用,性能分析,代码优化;7. 项目实践:按照需求分析,分阶段完成车票管理系统的设计与实现。

教学内容安排与进度:第一周:C语言基础语法复习;第二周:数据结构、函数定义与调用;第三周:文件操作;第四周:车票管理系统需求分析,功能模块设计;第五周:车票查询、预订模块实现;第六周:车票退订、统计模块实现;第七周:项目调试、优化与测试;第八周:课程总结与项目汇报。

C语言课程设计--火车票管理系统

C语言课程设计--火车票管理系统

二、设计内容设计一个火车票务管理系统,用C语言实现。

对该系统的要求如下:需求描述:1.系统功能(1)火车时刻信息录入。

包括车次、日期、起点、终点、开车时间、到达时间、票价。

数据存入数据文件hchsk.dat或hchsk.txt中。

(2)火车时刻信息查询。

按照车次查询按终点查询按起点查询按终点和日期查询(3)统计按终点统计每日的车次数按起点统计每日的车次数2. 系统主界面应有以下功能选项录入火车时刻信息查询火车时刻信息统计火车车次退出三、详细设计说明#include<stdio.h>#include<string.h>#include<stdlib.h>int MENU(); //菜单模块void INPUT(); //输入模块void SEARCH(); //查询模块void SELECT(); //统计模块void WRITE(); //文件记录模块void PRINT(); //打印模块void READ(); //文件读取模块void WRONG(); //纠错模块#define N 1000 //最大列车组数#define Print " %s%13s%10s%10s%12s%15s%11s\n",T[i].code,T[i].data,T[i].lp,T[i].ap,T[i].lt,T[i].at,T[i].price //输出记录格式#define Wrong "\n ! ! ! ! ! ! ! ! ! ! ! 输入错误,请重新输入! ! ! ! ! ! ! ! ! ! ! \n"#define GeShi " 车次日期起点终点开车时间到达时间票价\n"struct Train{c har code[10]; //车次c har data[10]; //日期c har lp[10]; //left place 起点c har ap[10]; //arrive place 终点char lt[10]; //left time 开车时间c har at[10]; //arrive time 到达时间c har price[10]; // 票价}T[N];/* 全局变量*/int i=0; //输入计数器int n=0; //合计计数器char l[20]; //纠错空间///////////////////////////////////////////////////////////////////////////////////////主函数int main(){i nt x;d o{x=MENU();switch(x){case 1:INPUT(); break;case 2:SEARCH(); break;case 3:SELECT(); break;case 4:printf("\n ---------------------------------------");printf("\n 正在退出,请按任意键退出");printf("\n\n ");printf("\n ---------------------------------------\n ");break;default:WRONG(); break;}}while(x!=4);r eturn 0;}///////////////////////////////////////////////////////////////////////////////////////菜单模块int MENU(){i nt choice;s ystem("cls");p rintf("\n ----------------------------------------------\n");p rintf(" ----------------------------------------------\n");p rintf(" --- ---\n");p rintf(" --- 欢迎进入火车票务管理系统---\n");p rintf(" --- ---\n");p rintf(" ----------------------------------------------\n");p rintf(" ----------------------------------------------\n\n");p rintf(" \n -------------- 请输入选项-------------\n");p rintf(" 1.录入火车时刻信息\n");p rintf(" 2.查询火车时刻信息\n");p rintf(" 3.统计火车车次\n");p rintf(" 4.退出\n");p rintf(" -----------------------------------------\n");p rintf(" 请选择:");s canf("%d",&choice);g ets(l);r eturn choice;}///////////////////////////////////////////////////////////////////////////////////////输入模块void INPUT(){c har ch;d o{system("cls");printf("\n\n ====================欢迎进入录入火车时刻信息界面====================\n");do{printf("\n 新建列车信息?(y/n) ");scanf("%c",&ch);gets(l);if(ch!='y'&&ch!='n')WRONG ();}while(ch!='y'&&ch!='n');if(ch=='n')break;printf(" ---------------------");printf("\n 录入第%d趟列车信息\n",n+1);printf(" 车次");gets(T[i].code);printf(" 日期");gets(T[i].data);printf(" 起点");gets(T[i].lp);printf(" 终点");gets(T[i].ap);printf(" 开车时间");gets(T[i].lt);printf(" 到达时间");gets(T[i].at);printf(" 票价");gets(T[i].price);n++;i++;}while(i<N);W RITE();s ystem("cls");p rintf("\n");p rintf(" --------------------------------\n");p rintf(" 系统记载的列车信息如下\n");p rintf(" --------------------------------\n\n");P RINT();}///////////////////////////////////////////////////////////////////////////////////////文件记录模块void WRITE(){F ILE *fp,*fp1;i f((fp=fopen("hchsk.txt","w"))==NULL){printf("无法创建文件!\n\n");getchar();return;}i f((fp1=fopen("N.txt","w"))==NULL)//用于记录共几趟车{printf("无法创建文件!\n");getchar();return;}f or(i=0;i<n;i++)if(fwrite(&T[i],sizeof(struct Train),1,fp)==0)printf("写入数据失败!\n\n");f printf(fp1,"%d",n);f close(fp);f close(fp1);}///////////////////////////////////////////////////////////////////////////////////////文件读取模块void READ(){F ILE *fp,*fp1;i f((fp=fopen("hchsk.txt","r"))==NULL)printf("无法打开文件\n");getchar();return;}i f((fp1=fopen("N.txt","r"))==NULL){printf("无法打开文件!\n\n");getchar();return;}f scanf(fp1,"%d",&n);f close(fp1);f or(i=0;i<n;i++){fread(&T[i],sizeof(struct Train),1,fp);}f close(fp);}///////////////////////////////////////////////////////////////////////////////////////打印模块void PRINT(){c har ch[10];R EAD();p rintf("\n ===========================================================================\n"); p rintf(GeShi);f or(i=0;i<n;i++)printf(Print);p rintf(" ===========================================================================\n"); p rintf("\n 按任意键返回上级菜单: ");g ets(ch);///////////////////////////////////////////////////////////////////////////////////////查询模块void SEARCH(){c har name1[10];//车次c har name2[10];//终点c har name3[10];//起点c har name41[10];//终点c har name42[10];//日期c har choice;i nt j;i nt k;d o{system("cls");printf("\n\n ====================欢迎进入查询火车时刻信息界面====================\n");printf("\n ++++++++++++++++++请选择查找方式++++++++++++++++++\n\n");printf(" ----1.显示所有列车信息 2.按车次查询 3.按终点查询----\n");printf(" -----4.按起点查询 5.按终点和日期查询 6.返回上级菜单----\n");printf("\n 请选择:");scanf("%d",&j);gets(l);switch(j){case 1:PRINT();break;case 2:printf("\n --- 请输入车次---:");gets(name1);break;case 3:printf("\n --- 请输入终点---:");gets(name2);break;case 4:printf("\n --- 请输入起点---:");gets(name3);break;case 5:printf("\n --- 请输入终点---:");gets(name41);printf("\n --- 请输入日期---:");gets(name42);break;case 6:break;default:WRONG ();break;}READ();k=0;if(j==2){for(i=0;i<n;i++){if(strcmp(T[i].code,name1)==0){printf("\n 按车次查找列车信息成功!\n");printf("\n===========================================================================\n");printf(GeShi);break;}}for(i=0;i<n;i++){if(strcmp(T[i].code,name1)==0){printf(Print);k++;}}printf("===========================================================================\n");printf("\n --> 共查询到%d 趟列车信息,请按任意键返回<-- ",k);gets(l);}if(j==3){for(i=0;i<n;i++){if(strcmp(T[i].ap,name2)==0){printf("\n 按终点查找列车信息成功!\n");printf("\n===========================================================================\n");printf(GeShi);break;}}for(i=0;i<n;i++){if(strcmp(T[i].ap,name2)==0){printf(Print);k++;}}printf("===========================================================================\n");printf("\n --> 共查询到%d 趟列车信息,请按任意键返回<-- ",k);gets(l);}if(j==4){for(i=0;i<n;i++){if(strcmp(T[i].lp,name3)==0){printf("\n 按起点查找列车信息成功!\n");printf("\n===========================================================================\n");printf(GeShi);break;}}for(i=0;i<n;i++){if(strcmp(T[i].lp,name3)==0){k++;}}printf("===========================================================================\n");printf("\n --> 共查询到%d 趟列车信息,请按任意键返回<-- ",k);gets(l);}if(j==5){for(i=0;i<n;i++){if(strcmp(T[i].ap,name41)==0&&strcmp(T[i].data,name42)==0){printf("\n 按终点和日期查找列车信息成功!\n");printf("\n===========================================================================\n");printf(GeShi);break;}}for(i=0;i<n;i++){if(strcmp(T[i].ap,name41)==0&&strcmp(T[i].data,name42)==0){printf(Print);k++;}}printf("printf("\n --> 共查询到%d 趟列车信息,请按任意键返回<-- ",k);gets(l);}do{system("cls");printf("\n\n -->继续查找(1),返回主菜单(2)<-- ");choice=getchar();gets(l);if(choice!='1'&&choice!='2')WRONG ();}while(choice!='1'&&choice!='2');}while(choice!='2');}///////////////////////////////////////////////////////////////////////////////////////统计模块void SELECT(){c har name1[10];//终点c har name2[10];//起点i nt t,k;c har choice;d o{system("cls");printf("\n\n ====================欢迎进入统计火车车次界面====================\n");printf("\n -|- -|- -|- -|- 请选择统计方式-|- -|- -|- -|- \n\n");printf(" 1.按终点统计每日的车次数\n");printf(" 2.按起点统计每日的车次数\n");printf("\n 请选择:");scanf("%d",&t);switch(t){case 1:printf(" 请输入终点:");gets(name1);break;case 2:printf(" 请输入起点:");gets(name2);break;default:WRONG();break;}READ();if(t==1){k=0;for(i=0;i<n;i++){if(strcmp(T[i].lp,name1)==0){printf("\n 按终点统计列车信息成功!\n");break;}}for(i=0;i<n;i++){if(strcmp(T[i].lp,name1)==0)k++;printf("\n --> 共查询到%d 趟列车信息,请按任意键返回<-- ",k);gets(l);}if(t==2){k=0;for(i=0;i<n;i++){if(strcmp(T[i].lp,name2)==0){printf("\n 按起点统计列车信息成功!\n");break;}}for(i=0;i<n;i++){if(strcmp(T[i].lp,name2)==0)k++;}printf("\n --> 共查询到%d 趟列车信息,请按任意键返回<-- ",k);gets(l);}do{system("cls");printf("\n\n -->继续统计(1),返回主菜单(2)<-- ");choice=getchar();gets(l);if(choice!='1'&&choice!='2')WRONG ();}while(choice!='2');}///////////////////////////////////////////////////////////////////////////////////////纠错模块void WRONG(){s ystem("cls");p rintf("\n\n ---> ! ! ! 输入错误,请按任意键返回! ! ! <--- ");g ets(l);}信你自己罢!只有你自己是真实的,也只有你能够创造你自己。

java课程设计火车票管理系统

java课程设计火车票管理系统

*******************实践教学*******************兰州理工大学计算机与通信学院2013年秋季学期Java 课程设计题目:火车票管理系统专业班级:姓名:学号:指导教师:成绩:随着计算机技术的发展,人们对计算机智能化的需求越来越大,对软件的实用性、速度等性能的要求也越来越高。

未来火车站的发展趋势是完全自动化的售票信息查询,网络售票,智能化售票,而且随着计算机的普及,信息处理量的逐渐扩大,手工处理方式已经远远不能满足人们管理活动的需要,各种工作都逐渐由手工转为自动化,将使许多复杂、繁琐、且需要很多人力的工作变得简单。

在本此毕业设计中,由于时间与水平的关系,当然不可能做到这样的程度,只不过是模拟一下由售票员来操作的售票系统而已。

工具软件利用Myeclipse 2013开发工具和SQL Server 2008数据库来开发这个火车站网上售票系统。

该系统要解决的是火车站网上售票工作所要解决的问题,可以满足火车站网上售票的基本要求,包括查询、订票、退票等三个方面的功能。

该系统能运用到火车站售票的工作中,根据用户的需求,设置其权限,并快捷方便的为用户提供服务。

关键字:火车票管理,Myeclipse 2013,SQL server 2008用信息化推动工业化,用信息化技术改造传统产业,这是我国迫切需要完成的一项战略任务。

作为工业文明产物的铁路,如何借重于信息经济技术的帮助,实现管理方式、运营组织、服务标准的现代化这是摆在我国铁路管理者面前的重大课题。

铁路信息化是铁路线代化的主要标志,其根本目的是将信息技术广泛应用于铁路生产经营与管理决策的各项活动中,改造传统产业,提高铁路运输生产效率、提升铁路运输市场的竞争力,提高铁路运输的经济效益。

采用计算机出售火车票大大方便了旅客购票,但毕竟还局限于火车站的售票厅和市内售票处的售票窗口,不论在地理位置分布上还是售票窗口的数量上,都有一定的局限性。

火车票管理系统课程设计报告

火车票管理系统课程设计报告

程序设计报告( 2014 / 2015 学年第一学期)题目:火车票管理系统专业通信工程学生姓名班级学号指导教师指导单位计算机学院计算机软件教学中心日期火车票务管理系统一、课题内容和要求(一)课题内容该系统要求实现一个简单、实用的火车票管理程序,主要功能包括火车票数据的录入、查找、删除、显示、售票、退票等。

所有火车票数据都要利用文件系统保存,以备系统下次运行时使用。

通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些基本算法思想的应用。

(二)课题要求(1)火车票数据由多条记录组成,其信息包括:车次,发车时间,起点站,终点站,行车时间,额定载量,已售票人数等。

(2)数据保存形式:所有火车票数据要以文本或二进制文件保存。

(3)需要实现的功能1)新增火车票数据记录。

2)查找火车票数据(可按车次,发车时间、起点站、终点站等查找)。

3)删除火车票数据记录(先查找,再删除。

若查找出多条记录,则进一步提示用户选择记录的车次,再删除)。

4)对火车票排序(可按车次、发车时间、起点站、终点站等排序。

)。

5)显示当前所有火车票信息列表。

6)售票(先查找,当确定车次后,根据售票张数对该车次的已售票人数进行修改)。

7)退票(售票的逆处理,过程与售票类似)。

8)保存火车票数据到文件中。

9)从文件中读入火车票数据。

(4)界面功能要求:1)采用友好的字符界面,实现一个功能控制菜单。

2)每次操作都从该菜单选择,利用循环结构使得一次运行程序可进行多次操作。

需求分析一、功能分析图二、录入班次信息:依次输入班次、起点站和终点站等信息同时保存在文件中,并可以随时增加新的班次信息。

三、浏览班次信息:输出保存在文件中的全部班次信息,并区分当前的车次是否已发出,如发出则标记“此车已发出”。

四、按班次号查询路线:以输入的班次号为依据进行查找,找到匹配项则输出该项完整的班次信息;未找到则显示“未找到该车次信息!”五、按起点站查询路线:输入的起点站为依据进行查找,找到匹配项则输出该项完整的班次信息;未找到则显示“未找到该车次信息!”六、按终点站查询路线:输入的终点站为依据进行查找,找到匹配项则输出该项完整的班次信息;未找到则显示“未找到该车次信息!”七、排列发车时间表:按照发车时间从早到晚的顺序逐条显示车次信息。

程序设计:火车票管理系统

程序设计:火车票管理系统

程序设计报告(2010/2011学年第1学期)题目:火车票管理系统专业网络工程学生姓名杨竞舟班级学号 B09011423指导教师程春玲指导单位计算机学院·计算机科学与技术系日期 2010年11月5日南京邮电大学程序设计指导教师成绩评定表电信计费系统车次帐单管理一、课题内容和要求车次帐单管理是电信计费系统必备的重要功能模块,主要负责对电信各类车次每月帐单的增加、修改、删除、查询、备份等管理工作。

本课题以中国电信企业车次帐单管理模块原型参照,要求基于单链表结构对文件存储的车次帐单数据进行排序、查找、计算、显示等造作。

通过此可以,熟练掌握单链表结构、文件读写、函数调用等知识,以及查找、排序典型算法的设计与应用。

二、需求分析1)提供可操作的主菜单:输出个菜单,用于显示以从文件中加载的车辆信息和若干个可选的功能选项。

根据车次输入的选项来运行不同的功能,运行不同的函数。

2)进行文本信息的载入:从指定的文件中以链表形式加载列车信息并建立链表。

这里的文件是在编译时就已经指定好的、存在的文本,需设计者预先自己建立好。

3)查找车次功能:以乘客输入的车次号进行查找对应的车次信息并将它们输出。

可通过所建立的链表进行对应的查找。

4)添加一个新的车次:将车次添加到指定的车次之后。

应提示乘客按照正确的格式输入。

并建立添加链表结点的函数将车次信息加入。

5)删除一个车次的功能:将乘客希望删除的某个车次信息删除。

(这里的删除只是才内存中建立的链表中删除,在保存之前待删车次的信息还储存在原文本只中的。

)6)进行车次信息的修改:根据车次提供的名称,找到对应的链表,将链表中的信息重置。

内容应有车次输入,由一系列读写函数实现。

7)对现有信息的保存:保存内存中的最新的记录输出到磁盘文件中。

这里默认的是保存到原读取文件中并覆盖原来的信息。

8)将信息备份到另外的一个文本中:通过文件格式读写函数,将源文件信息写到车次提供的目标文件中。

(C++在存储时可自动建立文件,可以不事先建立好。

c语言火车售票系统课程设计

c语言火车售票系统课程设计

c语言火车售票系统课程设计一、课程目标知识目标:1. 理解C语言中数组、函数、指针、结构体等基本概念,并能运用到火车售票系统的设计与实现中;2. 掌握C语言文件操作,实现火车票信息的存储与读取;3. 理解并掌握C语言中模块化编程思想,将火车售票系统划分为多个功能模块。

技能目标:1. 能够运用C语言编写出具有良好结构和可读性的代码;2. 培养学生分析问题、解决问题的能力,通过设计火车售票系统,学会使用C 语言进行实际项目开发;3. 学会使用调试工具,对火车售票系统进行测试和优化。

情感态度价值观目标:1. 培养学生合作意识,学会在团队中共同解决问题,提高沟通与协作能力;2. 激发学生对计算机编程的兴趣,培养勇于探索、积极创新的精神;3. 培养学生关注社会实际问题的责任感,了解信息技术在实际应用中的作用和价值。

课程性质:本课程为C语言程序设计课程的实践环节,通过设计火车售票系统,让学生将所学理论知识运用到实际项目中。

学生特点:学生已具备C语言基础知识和一定的编程能力,但对实际项目的开发流程和模块化编程思想尚不熟悉。

教学要求:注重理论与实践相结合,引导学生自主探究,培养学生实际编程能力和团队协作能力。

在教学过程中,关注学生的个体差异,提供个性化指导,确保每位学生都能达到课程目标。

通过课程学习,使学生具备独立开发小型项目的能力。

二、教学内容1. 火车售票系统需求分析:介绍项目背景,分析系统功能需求,明确学生需要实现的功能模块,如用户登录、车次查询、购票、退票、余票显示等。

2. C语言基础知识回顾:- 数组:回顾一维数组、二维数组的概念和应用;- 函数:介绍函数定义、调用、参数传递等基本概念;- 指针:讲解指针的定义、使用和指针操作;- 结构体:回顾结构体的定义和使用。

3. 火车售票系统设计:- 系统架构设计:引导学生采用模块化设计思想,将系统划分为多个功能模块;- 数据结构设计:介绍如何使用结构体和数组来存储和管理车次、座位、用户等信息。

列车时刻管理系统C语言程序设计(源代码)

列车时刻管理系统C语言程序设计(源代码)

一、问题分析随着社会的不断发展,人们在交通方式的选择上有了不同以往的选择,以前的靠人力,畜力,以及摩托车,现在人们的选择更多的会放在了汽车,飞机还有列车上。

每当春节前后时,都有一批民工潮,学生潮,这些农民工和学生都来自于祖国的各个地方,因此车站如何合理有序的安排列车出站到站时间成了一个很关键的内容,有助于维持车站的秩序以及减少不必要的等待。

而本课题的列车时刻管理系统也应用与这些地方,不过由于专业知识学的还不多,因此还不能将一个完整的列车时刻管理系统完全的展示出来,只是在最基础的层面上做了一些工作。

二、系统功能设计1.添加新记录:利用结构数组的方式来添加新记录,并且保存在文件train.txt文件中,并且记录上限为300,新纪录的内容包括:出站地址,出站的时刻(时),出站时刻(分),到站地址,到站时刻(时),到站时刻(分)。

2.查看:查询功能总共分为四种方式:①按出站地址查询②按出站时刻查询③按到站地址查询④按到站时刻查询,这个功能由于能力有限,只限查找单一数据。

3.修改:修改功能:根据出站的地址,查找出对应的一组数据的内容,然后逐一修改。

4.删除:修改功能总共分为两个部分:①单一删除(按照出站地址)②全部删除5.保存:每执行一个任务后程序会自动将数据写入train.txt文档中.三、模块(函数)划分void main():主函数void MainMenu():主菜单列表void ShowMenu():查询菜单列表void AddNew():添加新的数据int IsLoop():循环输入数据void Display():输出所有的函数void Search_ccity():按出站地址查询void Search_dcity():按到站地址查询void Search_ctime():按出站时刻查询void Search_dtime():按到站时刻查询void ChkData(char city1[],char city2[],int hour1,int minute1,int hour2,int minute2):数据检测void Record_Modify():修改数据void DeleteMenu():删除菜单列表void DeleteOne():删除一组数据void DeleteAll():删除所有数据void ReadFromFile():从文件中读入void WriteToFile():从文件中写入四、模块的算法设计(部分主要函数的代码)1.整体构造:2.结构体:struct Record{int hour1;int hour2;int minute1;int minute2;char city1[20];char city2[20];};3.主菜单:void MainMenu(){system("cls");printf(”---—-—-———---—-—--———-——主菜单-—--——-——————-—--———----———-—\n");int option;printf(”—-—-—-—--——-————-——--1—添加新记录----—--—————-—-————-——-——-\n");printf(”--————-——--—-——-———-—2—查看——---—--—-——--—-——-———-———-—————\n”);printf(”-—--——----—-—-——--—-—3-修改—-—--—-—-—-——————-——----———-———-\n”);printf("-————-—-—-—---—--—-—-4—删除——--———-———-———-----————----————\n");printf("—-—---—-—-———-—--————5-退出程序——---—-—-—--—-—--—----————--\n”);printf("请选择:\n”);scanf("%d",&option);getchar();switch (option){case 1:AddNew();break;case 2:ShowMenu();break;case 3:Record_Modify();break;case 4:DeleteMenu();break;case 5:exit(0);}}4.数据检测:void ChkData(char city1[],char city2[],int hour1,int minute1,int hour2,int minute2){if (strlen(city1)>20){printf(”出站地址的字符不能超过20个!\n”);MainMenu();}if (strlen(city2)〉20){printf("到站地址不能超过20位!\n");MainMenu();}if (hour1〈0||hour1〉23){printf("时刻输入错误(0〈=hour<24)!\n”);MainMenu();}if (hour2〈0||hour2〉24){printf(”时刻输入错误(0<=hour<24)!\n”);MainMenu();}if (minute1〈0||minute1〉59){printf(”时刻输入错误(0〈=minute〈59)!\n");MainMenu();}if (minute2〈0||minute2〉59){printf(”时刻输入错误(0<=minute〈59)!\n");MainMenu();}}5.读入文件中的数据:void ReadFromFile(){FILE *fp;int i;if ((fp=fopen(”train。

火车订票系统c语言课程设计

火车订票系统c语言课程设计

火车订票系统c语言课程设计一、课程目标知识目标:1. 学生理解并掌握C语言的基本语法,包括数据类型、运算符、控制结构等;2. 学生掌握数组、结构体等C语言高级数据结构的使用;3. 学生掌握文件操作、指针等C语言核心知识点的应用;4. 学生了解火车订票系统的业务流程和功能需求。

技能目标:1. 学生能够运用C语言编写出具有实际功能的火车订票系统程序;2. 学生具备分析问题、设计程序结构、编写代码、调试程序的能力;3. 学生能够运用所学知识解决实际问题,具备一定的编程实践能力。

情感态度价值观目标:1. 学生培养对编程的兴趣,激发学习C语言的积极性;2. 学生养成严谨、细致、负责任的编程习惯,注重代码规范和逻辑性;3. 学生通过团队协作完成课程设计,培养沟通与协作能力;4. 学生认识到编程在生活中的实际应用,增强学以致用的意识。

课程性质:本课程为C语言程序设计课程设计,旨在通过火车订票系统项目实践,提高学生的编程能力和解决实际问题的能力。

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

教学要求:注重实践操作,引导学生运用所学知识解决实际问题,培养编程思维和实际应用能力。

将课程目标分解为具体的学习成果,以便进行教学设计和评估。

和教学内容相对应,写教学方法,300字。

教学方法需具体详细,结合教学内容展开,注意教学过程中师生的互动,突出学生的主体地位。

二、教学内容1. 火车订票系统的需求分析与功能设计:讲解系统需求,分析功能模块,引导学生明确系统目标;2. C语言基础语法复习:重点回顾数组、结构体、文件操作等知识点;3. 火车订票系统程序设计:指导学生进行程序结构设计,编码实现各功能模块;4. 系统测试与调试:教授测试方法,指导学生进行系统测试,分析并解决存在的问题;5. 代码优化与规范:强调编程规范,引导学生进行代码优化,提高程序质量。

三、教学方法1. 讲授与讨论相结合:教师讲解火车订票系统相关知识点,引导学生进行需求分析和功能设计讨论,激发学生思考;2. 案例分析法:通过分析实际火车订票系统案例,使学生更好地理解系统设计和实现方法;3. 任务驱动法:将课程设计任务分解为多个子任务,引导学生分阶段完成,培养学生解决问题的能力;4. 小组合作学习:鼓励学生组成学习小组,共同完成课程设计,培养学生的团队协作能力;5. 互动式教学:在教学过程中,教师及时解答学生疑问,组织学生互相交流心得,分享编程技巧;6. 实践操作:为学生提供充足的实践机会,让学生在实际操作中掌握知识点,提高编程能力;7. 反馈与评价:教师对学生的课程设计成果进行评价,及时反馈意见,指导学生改进。

c语言课程设计火车售票系统

c语言课程设计火车售票系统

c语言课程设计火车售票系统一、教学目标本章节的教学目标旨在让学生掌握C语言编程的基本知识,通过构建火车售票系统的案例,使学生能够理解和运用C语言的数据类型、控制结构、函数等核心概念。

同时,培养学生解决实际问题的能力,提高学生的编程思维和团队协作能力。

具体来说,知识目标包括:1.掌握C语言的基本语法和数据类型。

2.理解函数的定义和调用。

3.熟悉数组、指针和字符串在编程中的应用。

4.学习常用的输入输出库函数。

技能目标包括:1.能够使用C语言编写简单的程序。

2.能够运用条件语句和循环语句实现复杂逻辑。

3.能够独立完成火车售票系统的编程任务。

4.具备良好的代码调试和优化能力。

情感态度价值观目标包括:1.培养学生的创新意识和解决问题的能力。

2.增强学生对编程事业的热爱和敬业精神。

3.培养学生团队合作和沟通交流的能力。

二、教学内容本章节的教学内容主要包括C语言的基本语法、数据类型、控制结构、函数、数组、指针和字符串等。

通过讲解火车售票系统的案例,使学生能够将这些知识点运用到实际编程中。

具体的教学大纲如下:1.第一课时:C语言概述和基本语法。

2.第二课时:数据类型和变量。

3.第三课时:运算符和表达式。

4.第四课时:控制结构(条件语句、循环语句)。

5.第五课时:函数的定义和调用。

6.第六课时:数组、指针和字符串。

7.第七课时:文件操作和库函数。

8.第八课时:火车售票系统案例分析。

9.第九课时:火车售票系统编程实践。

10.第十课时:代码调试和优化。

三、教学方法为了提高教学效果,本章节将采用多种教学方法相结合的方式。

包括:1.讲授法:讲解C语言的基本语法、数据类型、控制结构等知识点。

2.案例分析法:分析火车售票系统的案例,引导学生运用所学知识解决实际问题。

3.实验法:让学生动手编写代码,进行火车售票系统的实践操作。

4.讨论法:学生进行小组讨论,分享编程心得和解决问题的方法。

四、教学资源本章节的教学资源包括:1.教材:《C程序设计语言》(K&R)。

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

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

车票管理系统c语言课程设计一、教学目标本课程的教学目标是使学生掌握车票管理系统的设计与实现方法,具备使用C 语言进行简单应用程序开发的能力。

具体目标如下:1.知识目标:–掌握C语言的基本语法和数据结构。

–理解面向对象编程的基本概念。

–学习使用常见的调试工具和技巧。

2.技能目标:–能够使用C语言编写简单的应用程序。

–能够使用面向对象的方法设计程序。

–能够对程序进行调试和优化。

3.情感态度价值观目标:–培养学生的团队合作意识和解决问题的能力。

–培养学生的创新思维和持续学习的热情。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、面向对象编程、程序调试和优化等。

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

–变量和数据类型。

–运算符和表达式。

–控制结构和函数。

–数组和字符串。

–指针和动态内存管理。

2.面向对象编程。

–类和对象的概念。

–构造函数和析构函数。

–继承和多态。

–封装和接口。

3.程序调试和优化。

–常见的调试技巧和工具。

–性能分析和优化方法。

三、教学方法本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

具体方法如下:1.讲授法:通过讲解和演示的方式,向学生传授C语言的基本语法和数据结构,以及面向对象编程的概念和方法。

2.讨论法:通过小组讨论和问题解答的方式,培养学生的团队合作意识和解决问题的能力。

3.案例分析法:通过分析实际案例,让学生了解车票管理系统的设计和实现过程。

4.实验法:通过上机实验,让学生亲手编写代码,培养学生的实际编程能力。

四、教学资源本课程将使用教材《C语言程序设计》作为主要教学资源,同时辅以参考书籍、多媒体资料和实验设备。

参考书籍包括《C Primer Plus》和《C和指针》。

多媒体资料包括教学PPT和视频教程。

实验设备包括计算机和网络设备,用于进行代码编写和调试。

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

火车票管理系统―课程设计(附源代码)

火车票管理系统―课程设计(附源代码)

火车票管理系统―课程设计(附源代码)计算机科学与技术系信息管理与信息系统专业《程序设计综合课程设计》报告(2021/2021学年第一学期)学生姓名:学生班级:学生学号:指导教师: 2021年 1 月 8 日目录第一章课程设计的目的和要求 (1)1.1课程设计的目的 ................................................ 1 1.2 课程设计的基本要求............................................ 1 第二章课程设计任务内容 . (2)2.1 简介.......................................................... 2 2.2 功能说明...................................................... 2 第三章详细设计说明 .. (3)3.1 模板设计图.................................................... 3 3.2主函数流程图.................................................. 4 3.3 子函数流程图.................................................. 5 第四章编码与调试 (7)4.1 软件使用说明.................................................. 7 4.2运行结果及截图................................................ 7 第五章课程设计心得与体会 .......................................... 11 附录一参考文献 ..................................................... 12 附录二程序清单 ..................................................... 13 附录三录入文件 (27)I程序设计综合课程设计火车票管理系统第一章课程设计的目的和要求高级语言课程设计的主要目的是培养学生能够提高综合应用语言的能力,通过课程设计的训练,使学生能及时巩固已学的知识,补充未学的但有必要的内容,掌握应用计算机解决实际问题的基本方法,熟悉程序开发的全过程,提高综合应用语言的能力。

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

计算机科学与技术系信息管理与信息系统专业《程序设计综合课程设计》报告(2013/2014学年第一学期)学生姓名:学生班级:学生学号:指导教师:2013年1月8日目录第一章课程设计的目的和要求 (1)1.1课程设计的目的 (1)1.2 课程设计的基本要求 (1)第二章课程设计任务内容 (2)2.1 简介 (2)2.2 功能说明 (2)第三章详细设计说明 (3)3.1 模板设计图 (3)3.2 主函数流程图 (4)3.3 子函数流程图 (5)第四章编码与调试 (7)4.1 软件使用说明 (7)4.2 运行结果及截图 (7)第五章课程设计心得与体会 (11)附录一参考文献 (12)附录二程序清单 (13)附录三录入文件 (27)火车票管理系统第一章课程设计的目的和要求高级语言课程设计的主要目的是培养学生能够提高综合应用语言的能力,通过课程设计的训练,使学生能及时巩固已学的知识,补充未学的但有必要的内容,掌握应用计算机解决实际问题的基本方法,熟悉程序开发的全过程,提高综合应用语言的能力。

高级语言程序设计的主要任务是要求学生遵循软件开发过程的基本规范,运用结构程序设计的方法按照课程设计的题目要求,分析,编写,调试和测试高级语言程序及编写设计报告。

1.1课程设计的目的1.巩固和掌握高级语言程序设计基本概念;2.掌握基本的程序设计方法;3.掌握开发软件所需的需求定义能力;4.提高书写程序设计说明文档的能力;5.提高综合运用高级语言的能力,强化编程和调试能力。

1.2 课程设计的基本要求1.根据所给的课程设计题目,分析课程设计题目的要求;2.对系统功能模块进行分析,写出详细的设计说明文档;3.编写程序代码,调试所编写程序使其能正确运行;4.设计完成的软件便于操作和使用;5.设计完成后提交课程设计报告。

第二章课程设计任务内容2.1 简介火车票管理系统:是为广大群众开发的,帮助人们查询车次信息,订票和退票,大大节约了人们的时间,是铁路营运公司所需要的全部功能的一个综合的管理系统。

2.2 功能说明(1)录入班次信息:信息用文件保存,可不定时地增加班次数据。

(2)浏览班次信息:可显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。

(3)查询路线:可按班次号查询 ,可按终点站查询。

(4)售票和退票功能:A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数。

B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数。

(5)删除功能:该功能可以删除录入的错误信息。

(6)订购功能:该功能可以方便旅客提前预定。

第三章详细设计说明3.1 模板设计图图3-1函数功能模板图3.2 主函数流程图图3-2主函数流程图3.3 子函数流程图图3-3 录入班次流程图图3-4 查询车次函数流程图图3-5 订票函数流程图第四章编码与调试4.1 软件使用说明打开软件后,会出现一个主页面,这时候你首先要把火车票信息调用出来,这款软件具备很多功能,例如用键盘操作页面;可以更改班次信息;浏览班次信息;订票;退票等等,并且能够随时退出系统得功能。

这款软件简单易操作,希望大家会喜欢。

4.2 运行结果及截图1、进入系统页面录入班次信息图4-1 录入班次信息图2、浏览录入班次信息图4-2 浏览班次信息图3、查询你乘车需要的信息(1)按班次查询图4-3 班次查询图(2)按终点站查询图4-4 班次查询图4、订票与退票(1)订票成功图4-5 订票成功图(2)订票失败图4-6 订票失败图(3)退票成功图4-7 退票成功图(4)退票失败图4-8 退票失败图5、退出系统图4-9 退出系统图第五章课程设计心得与体会三周的课程设计结束了,我终于完成了这次高级语言课程设计,并且认真完成了课程设计报告。

在这次的课程设计中不仅检验了我所学习的知识,也培养了自己的耐心。

课程设计是我们专业课程知识综合应用的实践训练,也是我们迈向社会,从事职业工作前一个必不少的过程.”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义.通过这次课程设计,本人在多方面都有所提高。

通过这次火车票系统设计,综合运用本专业所学课程的理论,巩固与扩充了高级语言设计等课程所学的内容,掌握高级语言设计的方法和步骤,掌握了高级语言设计的基本的概念,了解了高级语言的基本结构,提高了编程能力,绘图能力,熟悉了规范和标准,同时各科相关的课程都有了全面的复习,独立思考的能力也有了提高。

在这次设计过程中,大大激发了我编程的兴趣,在设计的过程中亦遇到了许多困难,我会向同学和学长寻求帮助,在交流中共同进步,也体现出自己设计程序的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。

附录一参考文献[1] 张海藩编著.软件工程导论(第四版)[M] .清华大学出版社.2006.5.[2] Roger S.Pressman.软件工程----实践者的研究方法.机械工业出版社.1990[3] 张敬等编著.软件工程教程.北京航空航天大学出版社.2003.7.[4] Steve maguire. Writing Clean Code(姜静波等译).电子工业出版社.1993[5]谭浩强著.<<C++程序设计>>.清华大学出版社[6]严蔚敏.吴伟民编著.<<数据结构(C语言版)>>.清华大学出版社附录二程序清单以下是火车票管理系统的完整程序清单:#include<stdio.h>#include<stdlib.h>#include<dos.h>#include<time.h>#include<conio.h>#include<string.h>const int MAX=20;const int N=50;const int MAXFILENAME=100;enum {FALSE,TRUE};struct time{int hour;int minutes;};struct ticket{int SerialNumber;struct time SetOut;char DeparturePoint[MAX];char TerminalPoint[MAX];float LastTime;int FixNumber;int FixedNumber;}car[N];int RecordNumber;int FLAG=FALSE;/**********************************************/ int ShowMessage(void); //载入原始数据void mainmenu(void); //主菜单void InsertMessage(void); //录入班次信息void SearchMenu(void); //查询路线子菜单void SearchByNumber(void); //按班次号查询void SearchByAddress(void); //按终点站查询void TicketManagement(void); //车票售出与退回void TicketOrder(void); //售票void TicketDelete(void); //退票void exit(void); //退出该系统void SaveRecord(ticket x); //储存信息到文件中/********************************************/ int main(void){do{mainmenu();}while(FLAG==FALSE);return 0;}void mainmenu(void){system("color 1f");system("mode con: cols=140 lines=130");char functionNumber;printf(" 车票管理系统\n\n");printf(" 日期:2011/1/3/22:57\n");printf("============================================================== ==============\n");printf(" 1.录入班次信息\t\n");printf(" 2.浏览班次信息\t\n");printf(" 3.查询行车路线\t\n");printf(" 4.售票与退票系统\t\n");printf(" 5.退出该系统\t\n");printf("============================================================== ==============\n");printf("请选择你所需要的功能:");scanf("%c",&functionNumber);switch(functionNumber){case '1':{InsertMessage();printf("\n按任意键回主菜单......\n");getchar();getchar();}break;case '2':{RecordNumber=ShowMessage();printf("\n按任意键回主菜单......\n");getchar();getchar();}break;case '3':{SearchMenu();printf("\n按任意键回主菜单......\n");getchar();getchar();}break;case '4':{TicketManagement();getchar();getchar();}break;case '5':FLAG=TRUE;exit();break;default:{printf("输入错误,请确保你的输入为1--5.\n"); printf("按任意键回主菜单......\n");getchar();getchar();}}//switch endsFLAG=FALSE;}void InsertMessage(void){FILE *fp;char filename[MAXFILENAME];int i;printf("请输入文件名或者文件路径名:");scanf("%s",filename);if((fp=fopen(filename,"r"))==NULL){printf("文件%s不可读,请确认文件%s存在或者文件路径正确.\n\n",filename,filename);mainmenu();}for(i=RecordNumber;!feof(fp)&&!ferror(fp);i++){fscanf(fp,"%d%d%d",&car[i].SerialNumber,&car[i].SetOut.hour,&car[i].Se tOut.minutes);fscanf(fp,"%s%s%f%d%d",&car[i].DeparturePoint,&car[i].TerminalPoint,&c ar[i].LastTime,&car[i].FixNumber,&car[i].FixedNumber);SaveRecord(*(car+i));}RecordNumber=i;/*******************************输出更新后的订票记录************************************************************/printf("班次\t发车时间\t起点\t终点\t行车时间(小时)\t额定载量\t已定票人数\n");for(i=0;i<RecordNumber;i++){printf("%d\t%d:%d\t\t",car[i].SerialNumber,car[i].SetOut.hour,car[i].S etOut.minutes);printf("%s\t%s\t\t%.1f\t %d\t\t%d\n",car[i].DeparturePoint,car[i].TerminalPoint,car[i].LastTime,car[i].FixNumber,car[i].FixedNumber);}fclose(fp);}int ShowMessage(void){int i;FILE *fp;if((fp=fopen("add.txt","r"))==NULL){printf("读取数据失败,请检查文件add.txt是否存在.\n");exit(-1);}for(i=RecordNumber;!feof(fp)&&!ferror(fp);i++){fscanf(fp,"%d%d%d",&car[i].SerialNumber,&car[i].SetOut.hour,&car[i].Se tOut.minutes);fscanf(fp,"%s%s%f%d%d",&car[i].DeparturePoint,&car[i].TerminalPoint,&c ar[i].LastTime,&car[i].FixNumber,&car[i].FixedNumber);}int count=i;printf("班次\t发车时间\t起点\t终点\t 行车时间(小时)\t额定载量\t已定票人数\n");for(i=0;i<count;i++){printf("%d\t%d:%d\t\t",car[i].SerialNumber,car[i].SetOut.hour,car[i]. SetOut.minutes);printf("%s\t%s\t\t%.1f\t %d\t\t%d\t",car[i].DeparturePoint,car[i].Term inalPoint,car[i].LastTime,car[i].FixNumber,car[i].FixedNumber);/*调用系统时间实现的功能:如果车已发出,则打出提示"此车已发出",但是此处有错误*/time_t tval;struct tm *now;tval = time(NULL);now = localtime(&tval);if((now->tm_hour==car[i].SetOut.hour&&now->tm_min>car[i].SetOut.minute s)||(now->tm_hour>car[i].SetOut.hour))printf("此车已发出");printf("\n");}return count;}void SearchMenu(void){system("color 1f");system("mode con: cols=140 lines=130");char functionNumber;printf(" 查询子菜单\n");printf("============================================================== ==============\n");printf(" 1.按班次号查询\t\n");printf(" 2.按终点站查询\t\n");printf(" 3.返回主菜单\t\n");printf("============================================================== ==============\n");printf("请选择你所需要的功能:");scanf("%*c%c",&functionNumber);switch(functionNumber)case '1':SearchByNumber();break;case '2':SearchByAddress();break;case '3':getchar();mainmenu();break;default:printf("输入错误,请确保你的输入为1--3.\n");printf("按任意键回查询子菜单......\n");getchar();getchar();SearchMenu();}}void SearchByNumber(void){int SearchNumber;printf("请输入要查询的班次号:");scanf("%d",&SearchNumber);printf("班次\t发车时间\t起点\t终点\t行车时间(小时)\t额定载量\t已定票人数\n");printf("%d\t%d:%d\t\t",car[SearchNumber-1].SerialNumber,car[SearchNumb er-1].SetOut.hour,car[SearchNumber-1].SetOut.minutes);printf("%s\t%s\t\t%.1f\t %d\t\t%d\n",car[SearchNumber-1].DeparturePoin t,car[SearchNumber-1].TerminalPoint,car[SearchNumber-1].LastTime,car[S earchNumber-1].FixNumber,car[SearchNumber-1].FixedNumber);}void SearchByAddress(void)int i;char Address[MAX];printf("请输入终点站的名称:");scanf("%s",&Address);printf("班次\t发车时间\t起点\t终点\t行车时间(小时)\t额定载量\t已定票人数\n");for(i=0;i<RecordNumber;i++){//对比终点站记录,找到并输出if((strcmp(Address,car[i].TerminalPoint))==0){printf("%d\t%d:%d\t\t",car[i].SerialNumber,car[i].SetOut.hour,car[i].S etOut.minutes);printf("%s\t%s\t\t%.1f\t %d\t\t%d\n",car[i].DeparturePoint,car[i].Term inalPoint,car[i].LastTime,car[i].FixNumber,car[i].FixedNumber);}}}void TicketManagement(void){char functionNumber;system("color 1f");system("mode con: cols=140 lines=130");printf(" 订票与退票菜单\n");printf("============================================================== ==============\n");printf(" 1.订票\t\n");printf(" 2.退票\t\n");printf(" 3.返回主菜单.\n");printf("============================================================== ==============\n");printf("选择你需要的功能:");scanf("%*c%c",&functionNumber);switch(functionNumber){case '1':{TicketOrder();//getchar();//getchar();}break;case '2':TicketDelete();break;case '3':{getchar();mainmenu();}break;default:{printf("输入错误,请确保你的输入为1--3.\n");printf("按任意键回主菜单......\n");getchar();getchar();mainmenu();}}}void TicketOrder(void){int i;printf("请输入要订购的车票的班次:");scanf("%d",&i);if(i<0||i>RecordNumber){printf("对不起,今天没有这趟车,请明天再来,谢谢使用!\n");printf("按任意键回主菜单......\n");getchar();//getchar();TicketManagement();}time_t tval;struct tm *now;tval = time(NULL);now = localtime(&tval);if((now->tm_hour==car[i].SetOut.hour&&now->tm_min<car[i].SetOut.minute s)||(now->tm_hour<car[i].SetOut.hour)){if(car[i].FixedNumber<car[i].FixNumber){(car[i].FixedNumber)++;printf("你的订票成功,请按时上车,谢谢使用!\n");}else printf("对不起,今天的这趟车的票已卖完,请明天再来,谢谢合作!\n");}else printf("对不起,今天的这趟车已发出,请明天再来,谢谢合作!\n");printf("班次\t发车时间\t起点\t终点\t行车时间(小时)\t额定载量\t已定票人数\n");printf("%d\t%d:%d\t\t",car[i-1].SerialNumber,car[i-1].SetOut.hour,car[ i-1].SetOut.minutes);printf("%s\t%s\t\t%.1f\t %d\t\t%d\n",car[i-1].DeparturePoint,car[i-1]. TerminalPoint,car[i-1].LastTime,car[i-1].FixNumber,car[i-1].FixedNumbe r);//printf("按任意键回主菜单......\n");//getchar();getchar();}void TicketDelete(void){int i;printf("请输入要退购的车票的班次:");scanf("%d",&i);if(i<0||i>RecordNumber){printf("对不起,今天没有这趟车,无法完成退票.谢谢使用!\n");getchar();//getchar();TicketManagement();getchar();}time_t tval;struct tm *now;tval = time(NULL);now = localtime(&tval);if((now->tm_hour==car[i].SetOut.hour&&now->tm_min<car[i].SetOut.minute s)||(now->tm_hour<car[i].SetOut.hour)){if(car[i].FixedNumber>=1){car[i].FixedNumber-=1;printf("退订车票成功,谢谢使用!\n");}else printf("对不起,今天的这趟车的票尚未卖出,无法完成退票!\n");}else printf("对不起,今天的这趟车已发出,无法完成退票!\n");printf("班次\t发车时间\t起点\t终点\t行车时间(小时)\t额定载量\t已定票人数\n");printf("%d\t%d:%d\t\t",car[i-1].SerialNumber,car[i-1].SetOut.hour,car[ i-1].SetOut.minutes);printf("%s\t%s\t\t%.1f\t %d\t\t%d\n",car[i-1].DeparturePoint,car[i-1]. TerminalPoint,car[i-1].LastTime,car[i-1].FixNumber,car[i-1].FixedNumbe r);getchar();}void exit(void){printf("\n\n*********************谢谢使用本系统,欢迎下次继续使用***********************\n");exit(0);}void SaveRecord(ticket x){FILE *fp;if((fp=fopen("add.txt","a"))==NULL){printf("打开文件%s失败\n","add.txt");exit(-1);}fprintf(fp,"\n%d\t%d\t%d\t\t",x.SerialNumber,x.SetOut.hour,x.SetOut.mi nutes);fprintf(fp,"%s\t%s\t\t%.1f\t %d\t\t%d",x.DeparturePoint,x.TerminalPoin t,stTime,x.FixNumber,x.FixedNumber);}附录三录入文件。

相关文档
最新文档