您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 总结/报告 > 火车票系统-课程设计报告
课程设计报告课程设计题目:Linux下的火车系统专业:软件工程班级:姓名:学号:指导教师:2016年7月1日(一)实验题目Linux下的火车售票系统(二)实验时间,地点2016.6.27到2016.6.30,软件楼506(三)实验目的在linux下做一个火车售票系统(四)实验要求要求采用多线程编程,实现车票信息的查询,录入,更新,车次的修改;实现用户注册登录,订票查询、火车票预订、退票申请以及后台方面的列车车次信息发布更新、车票生成、提供取票服务。(五)实现思路该算法用c语言编写,再在linux下用vi建立文档,gcc后生成可行文件后,./运行。C语言实现思路为1.把ticket,user,定义为结构,其中ticket中有四个数据。User1和user2一开始都是为空2.定义开始地点四个,终点4个3.定义数组c1.c2,daaress.uname1,pass1.uname1,uname24.写个选择页面,共有5个页面。5.如果用户选择1购票,下面for循环控制路线。如果用户选择2注册,把输入的数据存入数组如果用户选择3查询,建立for循环如果用户选择4购票,用if判断语句判断用户输入的是否在数组里如果用户选择5购票.用exit退出流程图:实现过程:定义结构,再加whileif等循环实现代码#includestdio.hStructticket/*定义火车票为结构体*/{char*starName;char*endName;开始输入1到5选择购票注册查询登录退出订票系统系统数据库反馈操作intnumber;};structuser/*定义用户为结构体*/{char*userName;char*passWord;};structtickettickets[4];/*火车票里有4个对象*/structuseruser1={NULL,NULL};/*用户初始为空*/structuseruser2={NULL,NULL};intlq_index();/*定义数组*/voidgotolq_Index();voidmain(){inti=0;char*starNames[4]={南昌,深圳,广州,九江};/*4个起点*/char*endNames[4]={深圳,南昌,九江,广州};/*4个终点*/for(i=0;i4;i++){tickets[i].starName=starNames[i];tickets[i].endName=endNames[i];tickets[i].number=rand()%21+30;}/*for(i=0;i4;i++){printf(%s-%snumber:%d\n,tickets[i].starName,tickets[i].endName,tickets[i].number);}*/printf(\t**********欢迎使用火车票系统**********\n);/*输出主页面*/while(1==1){if(lq_index()==5)break;}}intlq_index(){inti=0,j=0;charyn;charc1[20];/*2个数组*/charc2[20];charaddress[20],uname1[20],pass1[20],uname2[20],pass2[20];printf(\n[1]购票[2]注册\n);printf([3]查询[4]登录\n);printf([5]退出\n);printf(请输入编号);scanf(%d,&i);if(i==1){printf(输入目的地和出发地:);scanf(%s%s,c1,c2);/*接受用户输入的数据*/j=0;for(i=0;i4;i++){j++;if(strcmp(tickets[i].starName,c1)==0&&strcmp(tickets[i].endName,c2)==0)/*判断是否有票*/{if(tickets[i].number0){printf(您的选择的线路%s-%s还剩%d张票是否确定购买(y/n):,c1,c2,tickets[i].number);scanf(%c,&yn);if(yn=='y'||yn=='Y'){if(user2.userName!=NULL){tickets[i].number--;printf(恭喜您购票成功!);}else{printf(登录后才能购票!);}/*如果没登录显示用户登录*/gotolq_Index();/*选择路线*/}elseif(yn=='n'||yn=='N'){gotolq_Index();}else{printf(输入有误!\n);i--;j--;continue;}return1;}else{printf(抱歉您的选择的线路%s-%s已无票出售!,c1,c2);/*如果无票就提示*/gotolq_Index();return1;}}elseif(j==4)/*路线不存在提示*/{printf(您的选择的线路%s-%s系统中不存在!,c1,c2);gotolq_Index();return1;}}}elseif(i==2){printf(输入账号:);/*注册账号*/scanf(%s,uname1);user1.userName=uname1;printf(输入密码:);scanf(%s,pass1);user1.passWord=pass1;printf(恭喜%s用户注册成功!,user1.userName);gotolq_Index();}elseif(i==3){printf(输入要查询的地点:);/*查询车票*/scanf(%s,address);printf(始发站\t终点站\t票数\n);i=0;for(i=0;i4;i++){if(strcmp(tickets[i].starName,address)==0){printf(%s\t%s\t%d\n,tickets[i].starName,tickets[i].endName,tickets[i].number);}else{j++;}if(j==4){printf(未找到相应数据!\n);}}gotolq_Index();return1;}elseif(i==4){printf(输入账号:);/*用户登录与已经注册的判断*/scanf(%s,uname2);user2.userName=uname2;printf(输入密码:);scanf(%s,pass2);user2.passWord=pass2;if(user1.userName!=NULL){if(strcmp(user1.userName,user2.userName)==0&&strcmp(user1.passWord,user2.passWord)==0){printf(欢迎%s用户使用本系统!,user2.userName);}else{user2.userName=NULL;user2.passWord=NULL;printf(输入账号或者密码不一致!);}}else{printf(请先注册用户!);/*不一致提示注册*/}gotolq_Index();}elseif(i==5){printf(欢迎再次使用本系统!);return5;}return1;}voidgotolq_Index(){printf(任意键返回首页!);/返回*/printf(\n**************************************\n);}
本文标题:火车票系统-课程设计报告
链接地址:https://www.777doc.com/doc-2105396 .html