已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计课程设计报告一目的通过本教学环节的充分编程实践和实际应用,进一步熟悉与巩固C语言语法知识和程序设计的基本方法,通过应用进一步体会数据就够重常用算法的实质,建立算法优劣的概念以及算法评估分析和比较的方法。借助适当题材的程序设计实训,加深体会利用数据结构的算法和C语言程序设计解决实际问题的思维过程。通过一定的文档要求,培养学生良好的程序设计风格,包括程序结构形式,行文格式和程序正文格式等。二内容利用C语言这种程序设计语言设计一个应用程序,实现的题目和具体内容自拟三 实验要求进行简单的需求分析、设计说明,写出程序结构框架,阐明设计思路、用到的原理和方法。程序规模适中,着重于内核功能,对界面无要求。要求采用面向对象的程序设计方法来进行课程设计。四算法思想 该程序为地铁的价格查询系统,用到C语言中的选择结构程序设计,循环控制,函数。其中,选择结构程序设计用到了if语句的嵌套,switch语句;循环控制用到了for,dowhile语句实现循环,还有break语句,循环的嵌套;函数就用到了函数的嵌套调用。该系统难点在于转站问题,不过已经解决了。a) 需求分析:1.该系统主要提供地铁的价格查询功能,外附显示所要乘坐的站数以及经过的地铁站,转站等功能。2.该系统还可以让地铁的乘客清晰地知道自己乘坐所需要的付费,还有知道一共要经过多少个站,经过哪些站等,让乘客对自己的行程有个了解。3.该系统的界面清晰易懂,乘客看着界面可以明白地知道自己所在的位置以及可以轻松地选择目的地。其中,界面如下所示:欢迎使用广州地铁价格查询系统 * * * * 广州地铁一号线 * *_* * 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 * * 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 * * 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 * * 西 坑 花 芳 黄 长 陈 西 公 农 烈 东 杨 体 体 广 * * 湖 口 地 村 沙 寿 家 门 园 讲 士 山 箕 育 育 州 * * 湾 路 祠 口 前 所 陵 口 西 中 东 * * 园 路 心 站 * * * * 广州地铁二号线 * *_* * 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 * * 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 * * 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 * * 琶 新 磨 赤 客 鹭 中 晓 江 市 海 公 纪 越 广 三 远 广 新 江* * 洲 港 碟 岗 村 江 大 港 南 二 珠 园 念 秀 州 元 景 州 市 夏* * 东 沙 西 宫 广 前 堂 公 火 里 体 * * 场 园 车 育 * * 站 馆 * * * *4.对输入数据的格式要求为:只要输入数字就行了,可是输入的数字必需在101106,201220之间,否则输出错误提示,乘客需要继续输入,直到输入正确为止,输出结果后会有提示是否要继续。5.该软件可以在Turbo C/C+ for Windows内测试。 b) 概要设计第一模块:函数调用模块(分两种情况讨论):第一种情况:起点站和输出站都在同一号线if(c/100=d/100)a=max(c,d);b=min(c,d);j=a-b;subway(j); change_line( c, d); name_passed_station( c, d); 第一种情况:起点站和终点站不在同一号线(又分两种情况):(1)起点站在一号线,终点站在二号线在: if(cd) z=d; else z=c; return(z);把起点站跟终点站比较,取出较大者:int max(int c,int d) int z; if(cd) z=c; else z=d; return(z);输出所要的费用:void subway(int j) switch(j) case 0: printf(Sorry,你已经在本站,不用再乘座了。Thanks! _n);break; case 1: case 2: case 3: printf(收费2元,Thanks! _n);break; case 4: case 5: case 6: printf(收费3元, Thanks! _n);break; case 7: case 8: case 9: printf(收费4元, Thanks! _n);break; case 10: case 11: case 12: printf(收费5元, Thanks! _n);break; case 13: case 14: case 15: printf(收费6元, Thanks! _n);break; case 16: case 17: case 18: printf(收费7元, Thanks! _n);break; case 19: case 20: printf(收费8元,Thands! _n); 该函数检查是否需要转线void change_line(int c,int d) if(c/100=d/100) printf(不需要转线,可直达_n); else printf(请注意:要到公园前站转线n);输出途径的站名,分两种情况:情况一:不需要转线(1)起点站和终点站都在一号线if(c/100=1&d/100=1) for(i=c%100;i=d%100;i+)switch(i)case 1: printf(西湖t);break;case 2: printf(坑口t);break;case 3: printf(花地湾t);break;case 4: printf(芳村t);break;case 5: printf(黄沙t);break;case 6: printf(长寿路t);break;case 7: printf(陈家祠t);break;case 8: printf(西门口t);break;case 9: printf(公园前t);break;case 10: printf(农讲所t);break;case 11: printf(烈士陵园t);break;case 12: printf(东山口t);break;case 13: printf(杨箕t);break;case 14: printf(体育西路t);break;case 15: printf(体育中心t);break;case 16: printf(广州东站t);break;(2)起点站和终点站都在二号线if(c/100=2&d/100=2) for(i=c%100;i=d%100;i+)switch(i)case 1: printf(琶洲t);break;case 2: printf(新港东t);break;case 3: printf(磨碟沙t);break;case 4: printf(赤岗t);break;case 5: printf(客村t);break;case 6: printf(鹭江t);break;case 7: printf(中大t);break;case 8: printf(晓港t);break;case 9: printf(江南西t);break;case 10: printf(市儿宫t);break;case 11: printf(海珠广场t);break;case 12: printf(公园前t);break;case 13: printf(纪念堂t);break;case 14: printf(越秀公园t);break;case 15: printf(广州火车站t);break;case 16: printf(三元里t);break;case 17: printf(远景t);break;case 18: printf(广州体育馆t);break;case 19: printf(新市t);break;case 20: printf(江夏t);break; 情况二:需要转线分四种情况(1)起点站和终点站都是在公园前站前面if(c=109&d=201) for(i=c%10;i=9;i+)switch(i)case 1: printf(西湖t);break;case 2: printf(坑口t);break;case 3: printf(花地湾t);break;case 4: printf(芳村t);break;case 5: printf(黄沙t);break;case 6: printf(长寿路t);break;case 7: printf(陈家祠t);break;case 8: printf(西门口t);break;case 9: printf(公园前t);break;for(j=d%100;j=11;j+)switch(j)case 1: printf(琶洲t);break;case 2: printf(新港东t);break;case 3: printf(磨碟沙t);break;case 4: printf(赤岗t);break;case 5: printf(客村t);break;case 6: printf(鹭江t);break;case 7: printf(中大t);break;case 8: printf(晓港t);break;case 9: printf(江南西t);break;case 10: printf(市儿宫t);break;case 11: printf(海珠广场t);break;(2)起点站在公园前站前面,而终点站在公园前站后面if(c=212) for(i=c%10;i=9;i+)switch(i)case 1: printf(西湖t);break;case 2: printf(坑口t);break;case 3: printf(花地湾t);break;case 4: printf(芳村t);break;case 5: printf(黄沙t);break;case 6: printf(长寿路t);break;case 7: printf(陈家祠t);break;case 8: printf(西门口t);break;case 9: printf(公园前t);break;for(j=13;j=109&d=201) for(i=9;i=c%100;i+)switch(i)case 9: printf(公园前t);break;case 10: printf(农讲所t);break;case 11: printf(烈士陵园t);break;case 12: printf(东山口t);break;case 13: printf(杨箕t);break;case 14: printf(体育西路t);break;case 15: printf(体育中心t);break;case 16: printf(广州东站t);break;for(j=d%100;j=109&d=212) for(i=9;i=c%100;i+)switch(i)case 9: printf(公园前t);break;case 10: printf(农讲所t);break;case 11: printf(烈士陵园t);break;case 12: printf(东山口t);break;case 13: printf(杨箕t);break;case 14: printf(体育西路t);break;case 15: printf(体育中心t);break;case 16: printf(广州东站t);break;for(j=13;jd%100;j+)switch(j)case 13: printf(纪念堂t);break;case 14: printf(越秀公园t);break;case 15: printf(广州火车站t);break;case 16: printf(三元里t);break;case 17: printf(远景t);break;case 18: printf(广州体育馆t);break;case 19: printf(新市t);break;case 20: printf(江夏t);break; c)详细设计开始声明函数name_passed_station(),change_line(),subway(),Max(),min(),stull()定义变量a,b,c,d,j,n调用stull()输出界面输入c(101=c&c=116)|(201=c&c=220)输入错误,请重输输入d(101=d&d=117)|(201=d&d=220)输入错误,请重输c/100=d/100a=max(c,d);b=min(c,d); j=a-b;subway(j);change_line( c, d);name_passed_station( c, d);调用函数见附图函数调用部分cdz=cz=dreturn(z)min()Int c,d ,zz=creturn(z)cdz=dsubway(int j)判断I值输出票价结束change_line(int c,int d)c/100=d/100输出不用转线输出在公元前转线结束name_passed_station(int c,int d)int i,jc/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车间雨污分流改造实施方案
- 颈椎腰椎推拿操作规范手册
- 疼痛症状评估分级诊疗规范
- 颈椎病严重程度评估规范指引
- 脊柱矫正正骨复位流程指引
- 小麦一喷三防药剂喷施方案
- 农用种子质量检测技术规程
- 孕期营养配餐搭配制作规范
- 体态评估检查标准操作指引
- 家政会员卡充值消费管理规范
- 2026山东小升初语文作文备考集训(范文+指导)
- 安徽省合肥市2026届高三物理第二次教学质量检测试题【含答案】
- 2026年有限空间作业人员安全知识考试试题(含答案)
- 2026年军校招生面试常见问题及回答思路
- 广东省广州市增城区2025-2026学年九年级上学期1月期末考试语文试题
- 2026年国家电网面试题库及参考答案
- 班子成员2026年学习教育个人查摆问题对照发言材料
- 2026中航机载系统共性技术有限公司暑期实习生(校招提前批)招募笔试历年参考题库附带答案详解
- 阴道镜门诊工作制度
- 2025-2030中国激光脱毛产品市场未来趋势与营销战略规划研究报告
- 2026年重大事故隐患判定标准宣贯培训材料
评论
0/150
提交评论