二、设计内容
设计一个火车票务管理系统,用C语言实现。对该系统的要求如下:
需求描述:
1.系统功能
(1)火车时刻信息录入。包括车次、日期、起点、终点、开车时间、到达时间、
票价。数据存入数据文件hchsk.dat或hchsk.txt中。
(2)火车时刻信息查询。
按照车次查询
按终点查询
按起点查询
按终点和日期查询
(3)统计
按终点统计每日的车次数
按起点统计每日的车次数
2. 系统主界面应有以下功能选项
录入火车时刻信息
查询火车时刻信息
统计火车车次
退出
三、详细设计说明
#include
#include
#include
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]; // 票价
/* 全局变量*/
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;
{
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(" 到达时间");
printf(" 票价");
gets(T[i].price);
n++;
i++;
}while(i 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"); return; } f or(i=0;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); { 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 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 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); 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 { if(strcmp(T[i].code,name1)==0) { printf("\n 按车次查找列车信息成功!\n"); printf("\n ===========================================================================\n"); printf(GeShi); break; } } 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 { if(strcmp(T[i].ap,name2)==0) { printf("\n 按终点查找列车信息成功!\n"); printf("\n ===========================================================================\n"); printf(GeShi); break; } } for(i=0;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 { if(strcmp(T[i].lp,name3)==0) { printf("\n 按起点查找列车信息成功!\n"); printf("\n ===========================================================================\n"); printf(GeShi); break; } } for(i=0;i { if(strcmp(T[i].lp,name3)==0) { printf(Print); k++; } printf(" ===========================================================================\n"); printf("\n --> 共查询到%d 趟列车信息,请按任意键返回<-- ",k); gets(l); } if(j==5) { for(i=0;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 { if(strcmp(T[i].ap,name41)==0&&strcmp(T[i].data,name42)==0) { printf(Print); k++; } } printf(" ===========================================================================\n"); 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); gets(l); 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 { if(strcmp(T[i].lp,name1)==0) { printf("\n 按终点统计列车信息成功!\n"); } } for(i=0;i { if(strcmp(T[i].lp,name1)==0) k++; } printf("\n --> 共查询到%d 趟列车信息,请按任意键返回<-- ",k); gets(l); } if(t==2) { k=0; for(i=0;i { if(strcmp(T[i].lp,name2)==0) { printf("\n 按起点统计列车信息成功!\n"); break; } } for(i=0;i { if(strcmp(T[i].lp,name2)==0) k++; } printf("\n --> 共查询到%d 趟列车信息,请按任意键返回<-- ",k); } 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 WRONG() { s ystem("cls"); p rintf("\n\n ---> ! ! ! 输入错误,请按任意键返回! ! ! <--- "); g ets(l); } 鞠躬尽瘁,死而后已。——诸葛亮 二、设计内容 设计一个火车票务管理系统,用C语言实现。对该系统的要求如下: 需求描述: 1. 系统功能 (1)火车时刻信息录入。包括车次、日期、起点、终点、开车时 间、到达时间、票价。数据存入数据文件hchsk.dat 或hchsk.txt 中。 (2)火车时刻信息查询。 按照车次查询按终点查询 按起点查询按终点和日期查询 (3) 统计按终点统计每日的车次数按起点统计每日的车次数 2. 系统主界面应有以下功能选项录入火车时刻信息查询火车时刻 信息统计火车车次退出 三、详细设计说明 #include 河北建筑工程学院课程设计报告 课程设计名称:C语言课程设计 课程设计题目:车票管理系统 院(系):理学院 专业:信息与计算科学 班级:信142 学号: 姓名:李嘉星 指导教师:李鸿强 完成日期:2015-6-17 目录 前言 随着计算机技术的发展,可视编程技术占有了越来越重要的作用。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),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如 班次发车时间起点站终点站行车时间额定载量已定票人 数 1 8:00 郫县广汉 2 45 30 2 6:30 郫县成都 0.5 40 40 3 7:00 郫县成都 0.5 40 20 C语言课程设计火车票 管理系统 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】 二、设计内容 设计一个火车票务管理系统,用C语言实现。对该系统的要求如下: 需求描述: 1.系统功能 (1)火车时刻信息录入。包括车次、日期、起点、终点、开车时间、到达时 间、票价。数据存入数据文件hchsk.dat或hchsk.txt中。 (2)火车时刻信息查询。 按照车次查询 按终点查询 按起点查询 按终点和日期查询 (3)统计 按终点统计每日的车次数 按起点统计每日的车次数 2. 系统主界面应有以下功能选项 录入火车时刻信息 查询火车时刻信息 统计火车车次 退出 三、详细设计说明 #include #include 题 目: 学生成绩管理系统 院 系: 信息科技学院 专 业: 计算机科学与技术 姓 名: 何荣荣 学 号: 1751200204 指导教师: 王小琼 日 期: 2018年6月28日 桂林电子科技大学信息科技学院 前 言 课程设计环节是应用型本科院校非常重要的一个教学环节,是学完一门课后应用本课知识及以前的知识积累而进行的综合性、开放性的训练。通过课程设计,不仅能够使学生得到系统的技能训练,巩固和加强所学得专业理论知识,而且能够培养学生工程意识、创新能力、团队精神等综合素质,培养学生的设计能力和解决实际问题的能力。 C 语言由于其强大的功能,丰富的表达能力,高效的代码,良好的移植性和灵活性,自 1972年问世以来,经久不衰,即使现在出现了面向对象的程序设计方法和开发工具,但它仍然是人们学习程序设计的首选语言,用它训练和提高编程技术,以及开发应用程序等。 我们通过《C语言程序设计》这门课程的学习,已经能编写解决小问题的程序,对程序的开发也有了初步的认识,还掌握了C 语言的基本语法,这一过程确确实实令我们感到欣喜,有点计算机可以完成自我任务的成就感。但是,对于程序设计而言,学习C 的步伐不应该停留于此。我们最终的目的应该是掌握开发大型综合程序的方法,即遵循软件工程的开发步骤和结构化程序设计思想,用C 语言开发出解决复杂问题的大型综合程序。可是对于多数学生来说,学习了C语言后,除了应付各种考试之外,别无它用,对Turbo C语言丰富的函数知之甚少,加上DOS环境所限,因而对C语言兴趣不大,也感到C语言比较难以掌握。 本实训就是为了让学生在学完C语言后进一步了解C语言的知识,掌握C语言在软件开发方面的使用方法,希望通过此次实训,不仅能提高学生学习C语言的兴趣,更为今后学习其它专业知识及开发程序打下坚实的基础。 本指导书中有些内容借鉴了互联网上相关程序的设计思想,在此对相关者表示衷心的感谢。 由于时间、经验及水平的原因,不当、不足之处,请大家提出宝贵意见。 编者 目录 1、问题定义 (3) 2、系统设计 (3) 2.1 总体设计 (3) 2.2 详细设计 (5) 3、程序测试 (5) 4、详细程序 (7) 5、归纳总结 (19) 5.1 开发经验 (19) 5.2 实训中遇到的问题及解决方法 (19) 二○○九~二○一○学年第二学期 信息科学与工程学院 课程设计报告书 课程名称:C语言课程设计 班级: 学号: 姓名: 指导教师: 二○一○年九月 车票管理系统 一.需求分析 设计题目及要求: 设计题目:车票管理 设计要求: 建立车票系统,每个车次的信息包括:班次,发车时间,起点站,终点站,行车时间,额定人数,已定票人数等. 系统能够完成车票信息的录入,浏览,查询,售票,退票等功能. 系统功能需求分析: (1)录入: 录入班次信息(信息用文件保存),可不定时的增加班次数据 (2)浏览: 浏览班次信息,可显示出所有班次当前总状态(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。 (3)查询: 查询线路:可按班次号查询,可按钟点战查询. (4)售票: 当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数 (5)退票: 退票时,输入退票班次,当本班次未出发时才能退票,自动更新已售票人数 二.概要设计: 系统总体设计框架(系统功能模块图): 系统模块图 信息输入模块完成班次信息的输入功能,输入信息包括班次、发车时间、起点站、终点站、行车时间、额定载量、定票人数等; 信息浏览模块完成已录入信息的显示; 信息查询模块完成班次信息的查询,查询时对应有按班次查询和按终点站查询两种方式; 售票和退票模块完成车票的购买和退订的功能; 菜单选择模块完成用户命令的接收,此模块也是车票管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能; 三.详细设计 数据结构:本系统中主要的数据结构就是车次的信息,包括班次、发车时间、起点站、终点站、行车时间、额定载量、定票人数等,在处理过程中各项可以作为车次的不同属性来处理。 车票系统: typedef struct information { int numb; /*列车号*/ char starttime[10]; /*发车时间*/ char begin[21]; /*起点*/ char end[21]; /*终点*/ float lasttime; /*行车时间*/ int FixNumber; /*额定载客量*/ int FixedNumber; /*已定票数*/ struct information *next; }INFORMA TION,*PINF; void main() /*主函数*/ { switch(i){ case 1:{ Insert(); printf("\n按任意键回主菜单......\n");getchar();getchar();}break;/*录入*/ case 2:{Scan();printf("\n按任意键回主菜单......\n");getchar();getchar();}break; /*浏览*/ case 3:SearchMenu();break; /*查询*/ case 4:Buyticket();break; /*订票*/ case 5:TicketDelete();break; /*退票*/ case 6:exit();break; /*退出*/ default:printf("输入错误,请确保你的输入为1--6.\n");break;} } 系统工作程序流程: 系统的执行应从功能菜单的选择开始,依据用户的选择来进行后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。算法的流程图如下: 前言 随着计算机技术的发展,可视编程技术占有了越来越重要的作用。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 语言语法。 本文档的安排如下: 第一章主要介绍了对面向对象C语言以及Visual C++6.0编程环境。 第二章主要的介绍说明了车票管理系统的编程思想和详细设计。 第三章主要对车票管理系统进行调试,运行程序并截图,显示运行界面和结果。 第四章主要介绍了软件开发过程中遇到的一些问题,对该软件进行的一个总结。 程序在设计的过程中遇到的问题已及时更正,但由于编者的能力和水平有限,车票管理系统和文档中不免会出现一些不期待的错误,望文档读者能够理解和体谅,并欢迎提醒和纠正,在此表示感谢以及敬意。 #include 课程设计(论文)任务书 学院专业班 一、课程设计(论文)题目 二、课程设计(论文)工作自 2011年 12月 27日至 2011年 12月 31日。 三、课程设计(论文) 地点: 创新大楼实训中心3楼 四、课程设计(论文)内容要求: 1.本课程设计的目的 1) 使学生增进对数据结构各理论知识的熟练程度, 2) 加强算法设计的能力,为以后的数据库原理等课程的学习打下良好基 础。, 2.课程设计的任务及要求 □题目一:运动会分数统计 □要求:(要求参考《数据结构题集》P79) □题目二:停车场管理 要求:(要求参考《数据结构题集》P96) □题目三:车厢调度 要求:(要求参考《数据结构题集》P98) □题目四:算术表达式求值演示 要求:(要求参考《数据结构题集》P99)。 □题目五:银行业务模拟 要求:(要求参考《数据结构题集》P100)。 □题目六:航空客运订票系统 要求:(要求参考《数据结构题集》P101) □题目七:电梯模拟 要求:(要求参考《数据结构题集》P102) □题目八:迷宫问题 要求:(要求参考《数据结构题集》P105) □题目九:火车订票系统 要求:功能实现订票子系统、售票子系统、退票子系统、统计子系统、查询子 系统、生成数据子系统 □题目十:教学计划编制问题 要求:(要求参考《数据结构题集》P150) □题目十一:校园导游咨询 要求:(要求参考《数据结构题集》P151) □题目十二:表达式类型的实现 要求:(要求参考《数据结构题集》P152) □题目十三:全国交通咨询模拟 要求:(要求参考《数据结构题集》P153) □题目十四:超市管理系统 要求:实现对超市的各业务的管理(例如:货物的管理、价目的管理等) □题目十五:职工工资管理系统 要求:实现对职工工资的管理编辑。 3)课程设计论文编写要求 1)详细清晰地描述个人的课程设计工作; 2)要按照本模板的规格打印誊写课程报告; 3)课设报告包括目录、内容提要、正文、课程设计体会、参考文献、附录等; 4)课程报告装订按学校的统一要求完成 4)评分标准: 1)完成原理分析:20分; 2)完成设计过程:40分; 3)完成代码分析:20分。 4)个人创新工作:20分。 学生签名: 2011年12月27 日 河北建筑工程学院 课程设计报告 课程设计名称:C语言课程设计 课程设计题目:车票管理系统 院(系):理学院 专业:信息与计算科学 班级:信142 学号:219 姓名:李嘉星 指导教师:李鸿强 完成日期: 2015-6-17 目录 前言................................................ 错误!未定义书签。第1章概要设计..................................... 错误!未定义书签。题目的内容与要求.................................... 错误!未定义书签。总体结构............................................ 错误!未定义书签。第2章详细设计..................................... 错误!未定义书签。主模块流程图........................................ 错误!未定义书签。车票管理系统软件详细设计............................ 错误!未定义书签。第3章调试分析..................................... 错误!未定义书签。第4章使用说明与执行结果........................... 错误!未定义书签。参考文献............................................ 错误!未定义书签。附录(程序清单)................................. 错误!未定义书签。 致谢.............................................. 错误!未定义书签。 软件课程设计--C 语言设计火车票订票系统之源代码模拟数据库功能需求分析可行性分析设计题目:火车订票系统小组成员:指导教师:完成时间:一.需求设计:1.每条线路所涉及的信息有:起点、终点、站名、车次、、票价、时间、座位号。2.作为示意系统,全部数据可以只放在内存中。3.系统能实现的功能和操作如下:①.查询路线:根据旅客提出的终点站名输入下列信息:车次、车站名。②.承办订票业务:根据客户提出的要求查询该车次票额的情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新查询客户要求,若需要可登记排队候补。③.承办退票业务:根据客户提供的情况(车次、时间、座位号)为客户办理退票手续,然后查询该车次是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队候补的客户。④登记旅客情况:包括旅客姓名,性别,年龄,家庭住址,联系方式等。⑤统计功能:将每次车的订票,退票结果统计出来。⑥管理功能:列车管理员可以通过调用函数来查看车票极其用户情况.⑦.查询功能:用户可以查询自己需要的车辆信息.二.总体设计1.程序流程图:按1键按2键按3键按4键进入in 函数进入book 函数进入inquire 函数进入cancel 函数按5键进入you 函数2.总体设计说明:①.数据结构设计:程序数据结构算法一个好的程序必定有一个好的数据结构.本设计主要考虑车票信息和用户信息的数据结构.车票信息采用半十字链表.横向链表中的每一个结点包含以下内容:车次起始站发车时间指向下一个结点的指针指向中途站的指针.纵向链表中每一个结点包含以下内容:从始发站开始的依次到站票价到达时间是否已被购买标识才用mark 标识当mark 为1 时车票已售出当mark 为0时车票还未售出.以及指向下一个结点的指针.纵向链表采用循环链表尾指针指向首指针.未购票用户信息使用队列来保存因为考虑到用户会预订票所以把用户以来订票的时间早晚排在队中.先来先买后来后买.队列中的每个元素包含以下内容:用户姓名身份证号码想要购票的车次起始站要到的站时间.已经购票用户信息使用一个单链表来保存链表中的没个结点包含以下内容:用户姓名身份证号码已购车票的车次出发时间到达时间.车票信息链表示意图:车次起始站发车时间downnnext下一站名到站时间票价marknext座位号未购票用户信息队列:用户姓名购票的车次起始站要到的站达到时间用户姓名购票的车次起始站要到的站达到时间注:座位号包含在车次号中已购票用户信息链表示意图:用户姓名身份证号码已购车票的车次号出发时间到达时间注:座位号包含在车次号中②算法的设计:主函数: 利用case 语句实现用户界面,用户输入需要的服务的数字代码,程序就会转到相应的函数,实现相应的功能。在主函数开始处做下First 标识,以便在其他函数中使用goto 语句返回主函数的用户界面。In函数: In函数负责输入各种信息链表中车票信息的初始值.Book函数: Book函数负责订票功能.主要是遍历整个链表查找到需要订票的结点后修改其mark值.Inquire函数: Inquire函数主要负责查询功能.主要是遍历整个链表查找到需要的结点然后输出.Cancel函数: Cancel函数主要负责退票功能.主要是遍历整个链表查找到需要的结点然后修改mark 的值.You函数: You 函数主要负责输入用户信息主要是创建一个单链表将用户信息放入.并提供管理人员的查询功能.Find函数: Find函数主要负责查询用户信息遍历整个单链表后输出需 二、设计容 设计一个火车票务管理系统,用C语言实现。对该系统的要求如下:需求描述: 1.系统功能 (1)火车时刻信息录入。包括车次、日期、起点、终点、开车 时间、到达时间、票价。数据存入数据文件hchsk.dat或hchsk.txt 中。 (2)火车时刻信息查询。 按照车次查询 按终点查询 按起点查询 按终点和日期查询 (3)统计 按终点统计每日的车次数 按起点统计每日的车次数 2. 系统主界面应有以下功能选项 录入火车时刻信息 查询火车时刻信息 统计火车车次 退出 三、详细设计说明 #include 东华理工大学C语言课程设计 题目名称车票管理系统程序设计 姓名刘韬 学号201520150133 班级1521501 指导教师徐猛华 编写日期2016年1月 目录 第一章、设计任务需求分析 (2) 1、目标; 2、要求; 3、学生成绩管理系统; 第二章、总体设计 (2) 1、采用的基本思想及完成过程; 2、遇到的问题和解决的方法; 3、程序设的流程图; 第三章、所负责部分详细设计 (4) 1、程序所需函数; 2、明确分工各组员所负责的模块; 3,函数功能及参数的意义; 4、模块功能说明; 第四章、程序运行结果测试 (7) 1、录入班车信息; 2、浏览班车信息; 3、按班次查询; 4、按终点站查询; 5、订票; 6、退票; 7、退出系统; 第五章、结论与心得 (10) 第六章、致谢 (10) 第七章、附录 (11) 正文 第一章、设计任务需求分析 1、目标: (1)掌握和利用C语言进行程序设计的能力。 (2)理解和运用结构化程序设计的思想和方法。 (3)学会调试一个较长程序的基本方法。 (4)掌握书写程序设计开发文档的能力(书写课程设计报告)。 2、要求:该系统需实现的功能有 (1)录入班次信息(信息用文件保存),可不定时地增加班次数据。 (2)浏览班次信息,可显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。 (3)查询路线:可按班次号查询 ,可按终点站查询 (4)售票和退票功能: A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数。 B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数。 3、学生成绩管理系统: 程序执行出一个有好的人机界面,供人合理的操作,完成浏览查询、退订票以及自动更新的功能。 第二章、总体设计 1、采用的基本思路: 改程序设计采用的思路是利用结构体存放车辆信息,车辆的信息有操作人员录入,录入完成后,通过菜单的提示进行相应的操作,不同的模块采用不同的算法进行管理,主要采用的头文件有:#include C语言课程设计--火车票管理系统 二、设计内容 设计一个火车票务管理系统,用C语言实现。对该系统的要求如下:需求描述: 1.系统功能 (1)火车时刻信息录入。包括车次、日期、起点、终点、开 车时间、到达时间、票价。数据存入数据文件hchsk.dat或 hchsk.txt中。 (2)火车时刻信息查询。 按照车次查询 按终点查询 按起点查询 按终点和日期查询 (3)统计 按终点统计每日的车次数 按起点统计每日的车次数 2. 系统主界面应有以下功能选项 录入火车时刻信息 查询火车时刻信息 统计火车车次 退出 三、详细设计说明 #include C程序课程设计报告 题目车票管理系统 院别数学与计算机学院班级 姓名学号 指导教师邓永江 二○一五年六月 目录 1、设计目的和要求............................................... - 2 - 2、总体设计..................................................... - 2 - 3、详细设计..................................................... - 3 - 4、程序测试分析................................................. - 4 - 4.1 菜单界面............................................... - 5 - 4.3 查询所有班次界面........................................ - 6 - 4.4 查询班次界面........................................... - 6 - 4.5 增加班次界面........................................... - 7 - 4.6 售票界面............................................... - 8 - 4.7 退票界面............................................... - 9 - 4.8 修改班次界面........................................... - 9 - 4.9 删除班次界面.......................................... - 10 - 4.10 退出界面.............................................. - 10 - 5、总结....................................................... - 11 - 附录........................................................... - 12 - 火车站售票查询系统: #include 建筑工程学院 课程设计报告 课程设计名称:C语言课程设计课程设计题目:车票管理系统 院(系):理学院 专业:信息与计算科学 班级:信142 学号: 姓名:嘉星 指导教师:鸿强 完成日期: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语言语法。 程序在设计的过程中遇到的问题已及时更正,但由于编者的能力和水平有限,车票管理系统和文档中不免会出现一些不期待的错误,望文档读者能够理解和体谅,并欢迎提醒和纠正,在此表示感以及敬意。 #include 精心整理二、设计内容 设计一个火车票务管理系统,用C语言实现。对该系统的要求如下: 需求描述: 1.系统功能 统计火车车次 退出 三、详细设计说明 #include /* 全局变量*/ int i=0; //输入计数器 int n=0; //合计计数器 char l[20]; //纠错空间 ///////////////////////////////////////////////////////////////////////////////////////主函数int main() { { "); } }while(x!=4); return 0; } ///////////////////////////////////////////////////////////////////////////////////////菜单模块int MENU() { int choice; system("cls"); printf("\n ----------------------------------------------\n"); printf(" ----------------------------------------------\n"); printf(" --- ---\n"); printf(" --- 欢迎进入火车票务管理系统---\n"); } { char ch; do { system("cls"); printf("\n\n ====================欢迎进入录入火车时刻信息界面====================\n"); 实训报告 题目:学生成绩管理系统 院系:信息科技学院 专业:计算机科学与技术 姓名:何荣荣 学号: 04 指导教师:王小琼 日期: 2018年6月28日 桂林电子科技大学信息科技学院 前言 课程设计环节是应用型本科院校非常重要的一个教学环节,是学完一门课后应用本课知识及以前的知识积累而进行的综合性、开放性的训练。通过课程设计,不仅能够使学生得到系统的技能训练,巩固和加强所学得专业理论知识,而且能够培养学生工程意识、创新能力、团队精神等综合素质,培养学生的设计能力和解决实际问题的能力。 C语言由于其强大的功能,丰富的表达能力,高效的代码,良好的移植性和灵活性,自1972年问世以来,经久不衰,即使现在出现了面向对象的程序设计方法和开发工具,但它仍然是人们学习程序设计的首选语言,用它训练和提高编程技术,以及开发应用程序等。 我们通过《C语言程序设计》这门课程的学习,已经能编写解决小问题的程序,对程序的开发也有了初步的认识,还掌握了C 语言的基本语法,这一过程确确实实令我们感到欣喜,有点计算机可以完成自我任务的成就感。但是,对于程序设计而言,学习C 的步伐不应该停留于此。我们最终的目的应该是掌握开发大型综合程序的方法,即遵循软件工程的开发步骤和结构化程序设计思想,用C 语言开发出解决复杂问题的大型综合程序。可是对于多数学生来说,学习了C语言后,除了应付各种考试之外,别无它用,对Turbo C语言丰富的函数知之甚少,加上DOS环境所限,因而对C语言兴趣不大,也感到C语言比较难以掌握。 本实训就是为了让学生在学完C语言后进一步了解C语言的知识,掌握C语言在软件开发方面的使用方法,希望通过此次实训,不仅能提高学生学习C语言的兴趣,更为今后学习其它专业知识及开发程序打下坚实的基础。 本指导书中有些内容借鉴了互联网上相关程序的设计思想,在此对相关者表示衷心的感谢。 由于时间、经验及水平的原因,不当、不足之处,请大家提出宝贵意见。 编者 火车订票系统源码 #include C语言课程设计火车票管理系统
c语言课程设计车票管理系统
C语言课程设计火车票管理系统
火车票管理系统——C语言程序设计实训报告
c语言车票系统报告
车票管理系统c语言
c语言火车票管理系统基本代码
火车票订票系统(c语言)
c语言课程设计车票管理系统
C语言设计火车票订票系统
C语言课程设计报告火车票管理系统
车票管理系统C语言课程设计实验报告
C语言课程设计--火车票管理系统
车票管理系统c语言程序设计报告(课程设计格式要求)
C语言程序--火车站售票系统程序
c语言课程设计车票管理系统方案
C语言课程设计火车票系统源代码
C语言课程设计火车票管理系统
火车票管理系统——C语言程序设计实训报告
C语言编程---火车订票系统源代码