




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、隼兑央通大季课程设计(论文)任务书软件学院学院软件+电气专业2010-2班一、课程设计(论文)题目火车售票系统二、课程设计(论文)工作自2011年12月26日起至2011年12月30日止三、课程设计(论文)地点:创新大楼机房四、课程设计(论文)内容要求:1 .本课程设计的目的训练学生灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题;初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法独立分析和解决问题的能力,巩固、深化学生的理论知识,提升编程水平。2 .课程设计的任务及要求1)基本要求:要求从分析题目的
2、需求入手,按设计抽象数据类型、构思算法、通过设计实现抽象数据类型、编写上机程序和上机调试等若干步骤完成题目,最终写出完整的报告;在程序设计阶段应尽量利用已有的标准函数,加大代码的重用率;程序设计语言推荐使用C/C+,程序书写规范,源程序需加必要的注释;每位同学需提交可独立运行的程序和规范的课程设计报告。2)课程设计论文编写要求理论设计部分以课程设计论文的形式提交,格式必须按照课程设计论文标准格式进行书写和装订;课程设计报告(论文)包括中文目录、设计任务、需求分析、概要设计、详细设计、编码实现、调试分析、课设总结、谢辞、参考文献、附录等;设计部分应包含系统功能模块图,调试分析应包括运行截图等。3
3、)课程设计评分标准:系统设计:20分;编程调试:20分;回答问题:20分;论文撰写:30分。4)参考文献:严蔚敏,吴伟民.数据Z勾(C语言版)M.清华大学出版社.2010.3严蔚敏,吴伟民.数据结本题集(C语言版)M.清华大学出版社.1999.2何钦铭,冯燕等.数据结构课程设计M.浙江大学出版社.2007.85)课程设计进度安排准备阶段(4学时):选择设计题目、了解设计目的要求、查阅相关资料;程序模块设计分析阶段(4学时):程序概要设计、详细设计;代码编写调试阶段(8学时):程序模块代码编写、调试、测试;撰写论文阶段(4学时):总结课程设计任务和设计内容,撰写课程设计论学生签名:2011年12
4、月26日6)课程设计题目具体要求:在售票、退票、查询剩余票等环节中,都必须显示出车票的信息,即车次、座位情况。为简单起见,在此假设所有出售的车票均为同一车次的车票。退票时,必须是车站售出的车票才能退,否则视为无效票,不能退票。课程设计(论文)评审意见1)学习态度(10分):优()、良())、()、差();(2)系统设计(20分):优()、良()、中()、()、差();(3)编程调试(20优()、良()、中()、()、差();(4)回答问题(20分):优()、良()、中()、()、差();(5)论文撰写(30优()、良()、中()、()、差();(6:是()()评阅人:王英华职称:讲师2012年
5、1月4日-2 -目录正文一、需求分析二、个人工作三、概要设计四、源程序五、程序结果课程设计体会-1 -一、需求分析火车售票系统,该系统要求实现功能实现订票子系统、售票子系统、退票子系统,查询子系统,金额查询系统,其中每个子系统对应一个函数,首先我们要把要实现的功能在主菜单上一一显示,这样我们进人该系统的时候就可以根据时间查询:该子系统通过showlocaltimes()这个函数生成系统当前的时间,这样顾客在买票是可以通过该系统进行时间的查询,可以给顾客带来很大的方便车辆的添加:该子系统通过addticket()这个函数用来储存要进入该站的车辆,用户可以通过提示选择2服务进入该系统,当有车辆进入
6、该站是可以添加车辆的车次,出站时间等信息,售票系统:该系统负责对顾客进行售票,按照顾客的诉求,车次时间的进行查询,选择顾客所需的票,如果该票售完,会给出相应的提示,该系统还可以一次售多张票,并准确的计算所售票的总额;当天金额查询:该系统查询当天所售的票的总金额除上面介绍的功能之外,程序还具有显示当地时间,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。每一个车次都包含车次、日期,始发、终点以及所受票数和所需费用,在程序当中,将车次类型定义为结构体类型。最后退出系统;二、个人工作通过做火车售票系统,在做这个过程中我遇到了一些很严重的问题,首先在进行需求分析是,我还不知道怎么
7、下手,是用到哪些知识点呢要实现哪些功能,后来找了写资料,了解了又关的知识,要实现的功能,于是我就开始着手,在做车连添加时,我不知道怎么把已有的信息进行储存,在查询是怎么把所有得车辆的信息显示,后来在网上找到了要用到的File这个类,通过这个类,我们可以对火车的详细信息进行储存,另外,当我们查询是我们可以通过读取该文件就、来获取已经存储的车辆信息,这样车辆的储存信息功能就实现了,查询是也可以实现查询所有的车连信息,在进行买票时,我还不知道怎么去查询我们存储的车辆的信息,如,车的车次号等后来,通过读取文件,在循环就可以查到了,在对比一下,就可以显示,查到后就可以显示详细的信息,在做总金额的时候,自
8、需把查询到的售的金额相加后显示,就实现了三、概要设计按照程序流程图的绘图规范绘制主程序以及子程序的流程图,并配上相应的说明。四、源程序各个算法实现的源程序,要求模块代码与关键代码要有注释。(源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。)#include<stdio.h>#include<stdlib.h>#include"time.h"#include"conio.h"#defineNum100structtrainsintnum;intdate;chartrain20;cha
9、rt20;intmaipiao;floattickeprice;voidcarte();intreads(structtraintraNum);voidchange(structtraintraNum,intn);voidaddticket();voidsellticket();voidshowmessage();voidshowlocaltimes();voidallmoney();voidmain()intn;while(1)carte();printf("n请输入您要选择的操作序号,按回车键确认:");scanf("%d",&n);swit
10、ch(n)case 1: showlocaltimes();break;case 2: addticket();break;case 3: showmessage();break;case 4: sellticket();break;case 5: allmoney();break;case 6: tuipiao();voidcarte()*南昌火车订票系统printf("* "printf("n时间 ");printf("n录入 ");printf("n车次信息 ");printf("n系统 "
11、;);printf("n售金额 ");printf("n系统 ");printf(" n1 显示当前2车次信息3查询所有4进入售票5 统计某日销6退出售票*");voidaddticket()/该方法用于存储车列的信息,并放入一个文件FILE*fp;intn,i;structtraintra;if(fp=fopen("e:train.txt","a")=null)/通过读取文件可以获得已经存储的信息if(fp=fopen("e:train.txt","w"
12、)=null)/当没有是,从新创建一个文件printf("没有改文件!n");return;printf("请输入要车次的数量,按回车键确认:");scanf("%d",&n);for(i=1;i<=n;i+)printf("n请输入第%d辆车的车次,日期,始发,终点,用空格分开,并按回车键确认:n",i);scanf("%d%d%s%s",&tra.num,&tra.date,tra.train,tra.t);printf("n请输入第%d辆车卖票的数量
13、,车次所需的费用,用空格分开,并按回车键确认:n",i);scanf("%d%f",&tra.maipiao,&tra.tickeprice);fprintf(fp,"%d%d%s%s%d%fn",tra.num,tra.date,tra.train,tra.t,tra.maipiao,tra.tickeprice);fclose(fp);voidshowmessage()/显示所有的车次信息structtraintraNum;inti,n;n=reads(tra);printf("*nn");printf(
14、" 序号车次点 卖出 票价所有的车次信息如下日期始发终n");printf("*n");I*for(i=0;i<5;i+)printf("n%3d%12d%11d%11s%11s%11d%11.2fn",i+1,trai.num,trai.date,trai.train,trai.t,trai.maipiao,trai.tickeprice);getch();voidsellticket()/该方法为出售火车票structtraintraNum;intnum,n,j;inti;n=reads(tra);printf("
15、n请输入待查询的车次号,按回车键确认:n");scanf("%d",&num);for(i=0;i<n;i+)if(num=trai.num)break;if(i>=n)printf("没有找到该车次信息!n");return;elseprintf("n请输入所买票数,按回车键确认:n");scanf("%d",&j);trai.maipiao=trai.maipiao+j;printf("n购买成功n");printf("n%12d%11d%11
16、s%11s%11d%11.2fn",trai.num,trai.date,trai.train,trai.t,trai.maipiao,trai.tickeprice);change(tra,n);intreads(structtraintraNum)/获取该车次的详细信息FILE*fp;inti=0;if(fp=fopen("e:train.txt","r")=null)printf("文件打开失败!n");return0;elsefor(i=0;!feof(fp);i+)fscanf(fp,"%d%d%s%s%
17、d%fn",&trai.num,&trai.date,trai.train,trai.t,&trai.maipiao,&trai.tickeprice);fclose(fp);returni;voidchange(structtraintraNum,intn)/如果车次信息改变,该方法及时更改FILE*fp;inti=0;if(fp=fopen("e:train.txt","w")=null)printf("文件打开失败!n");return;elsefor(i=0;i<n;i+)fpr
18、intf(fp,"%d%d%s%s%d%fn",trai.num,trai.date,trai.train,trai.t,trai.maipiao,trai.tickeprice);fclose(fp);voidallmoney()/计算当然总销售额structtraintraNum,temp;floatsum=0;FILE*fp;inti,j=0;if(fp=fopen("e:train.txt","r")=null)printf("没有该文件!n");return;elsefor(i=0;i<Num;i+
19、)fscanf(fp,"%d%d%s%s%d%fn",&trai.num,&trai.date,trai.train,trai.t,&trai.maipiao,&trai.tickeprice);printf("请输入你要查询的日期:n");scanf("%d",&temp.date);for(i=0;i<N;i+)if(temp.date=trai.date)sum=sum+trai.maipiao*trai.tickeprice;j=1;if(j=0)printf("没有该信
20、息,请从新输入");elseprintf("今天的总销售额为:%fn",sum);fclose(fp);voidshowlocaltimes()/该方法用于提取系统当前时间structtm*p;time_tt;t=time(null);p=localtime(&t);printf(asctime(p);voidtuipiao()/完成退票功能structtraintraN,temp;floatsum=0;FILE*fp;inti,j=0;if(fp=fopen("h:trainmessage.txt","r")=NU
21、LL)printf("读取错误,不能打开该文件!n");return;elsefor(i=0;i<N;i+)fscanf(fp,"%d%d%s%s%d%fn",&trai.num,&trai.date,trai.from,trai.ter,&trai.maipiao,&trai.tickeprice);printf("请输入你要查询的日期:n");scanf("%d",&temp.date);for(i=0;i<N;i+)if(temp.date=trai.dat
22、e)sum=sum+trai.maipiao*trai.tickeprice;j=1;if(j=0)printf("无此日期销售信息,请重新输入");elseprintf("退票成功!");printf("所需费用为:%fn");fclose(fp);五、程序结果程序的使用说明,运行结果截图及相关说明,并测试数据,测试输出的结果,时间复杂度分析,和每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?),算法的改进设想。- 9 -课程设计体会在课程设计过程中的个人感想,字数不多于200。(包括:课程设计过程的收获、遇到问题、遇
23、到问题解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对数据结构课程的认识等内容)主菜单:E前息啻b日曲不 ”一及询人计出 饕番诜统退按叵生健确认:1语输入您要选择的操作序弓at Dec 17 m:«n=E4 2nil车次信息的储存:- 忘斯 借±- 间入跷 时录糜制系 前日由示 当信访4皆 一董询人U出 SHHD进统退请输入.惚笠选择的厚作序号,按叵左链辨认,请输入第14车的车次,日期,始发,终点,月空格分开,并接回车健询认;1221212121-10 -2鹿1一一,询人计出的 显主菅寻线退确- 息颔 信金同人次稣隹最 时矍 前息蠢_E曰
24、要名请输入第1辆车的车次,日期,始发,终点:123432342题滤辆车耨的数曼车次所需的费用请输入第2辆车的车次,日期,始置,终点12700.00请希1W3W第1个卖出的低量,车次所需的将用,用不酩并开.可掖回耳疑确泅:32d34-*«:*«;UMM>(*MM«;南昌火年j丁票阜珏网*(-MyUMMSJtMMXq1显示当前旬回.退出售K M M M M HEM JC M M M XM K HX * M*F H Z 黄就反尸 X M:M MA K MW X MM W l«V K M M X » 苴 MXWM::薮费I翰*息h场合曼I帮省金查
25、询所有车次信息-ii -按要买的车次购买车票啬输入营要巡拦的涕作严弓.接回生犍的人,4福辕入芹杏词的年次异,接回车神或凶1市帽人所买年效,接回车铤确公-15 -1ttT:师总fr鼻襄W当信审生存生至一亮询人廿出空IU4JSS绵阳信金息甑m1p1显示当前G退出在里请输入您要选择的操作序号,技回车箱确次二筑息额养信金宗间人次1J时苴川JOCKMXNX堇:MMM,及回年罅瀛认;,/,南昌火车订票系统+WHHI1显示当前野间2丰次信息塞人;illt:请输入您要选择的操作序号,技回车键确认:k"自心”按所卖的车票计算当天的中销售额道琼入您更手间更作序号.按回斗淀薪入5谓输人你要题的日期:22落天的总铜为犷桐2羽.9国00、*-iff-Iff片事菁与墓¥*鹏音看¥/甫昌火车订京系统*M*HHt*AHHRWfr*1显不当前由间2半次伯息录入区缭计发屯AujI汶信息还色全雹i匿XMMXttfOritMmMKMMHkri&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年初级市场营销实战模拟题及解析
- 拉土车安全教育培训计划课件
- 抢险救援指挥培训课件
- 2025年模塑绝缘制品项目发展计划
- 2025年供配电测控保护装置项目合作计划书
- 抢救室工作制度课件
- 抛光岗位安全培训课件
- 期末真题卷(无答案) 2025-2026学年人教版四年级数学上册
- 吉林省第二实验高新学校2024-2025学年七年级下学期第一次月考生物试题(含答案)
- 北京市东城区广渠门中学2025-2026学年高三上学期开学考试数学试卷(含答案)
- DB45∕T 2952-2024 高标准农田耕地质量评价技术规程
- 安全生产合规管理
- 宠物嘉年华活动方案
- 2025至2030中国超高温热泵行业发展趋势分析与未来投资战略咨询研究报告
- alc墙板安装培训课件
- 转移性肝癌超声诊断
- 药械法律法规培训
- Unit 2 Home Sweet Home 第1课时(Section A 1a-1d) 2025-2026学年人教版英语八年级下册
- 药剂专业教学标准(中等职业教育)2025修订
- 2025年法硕联考综合(非法学)试卷真题附详细解析
- 2025年秋三年级上册语文同步教案 4 古诗三首
评论
0/150
提交评论