C语言程序设计报告.doc_第1页
C语言程序设计报告.doc_第2页
C语言程序设计报告.doc_第3页
C语言程序设计报告.doc_第4页
C语言程序设计报告.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

重庆科技学院C语言程序设计课程设计报告 学 院:_电气与信息工程学院_ 专业班级: 学生姓名: 学 号: 设计地点(单位)_ _ _设计题目:_ _ 完成日期: 年 月 日 指导教师评语: _ _成绩(五级记分制):_ _ 指导教师(签字):_ _ 课程设计任务书设计题目:自动售货机系统学生姓名课程名称C语言程序设计课程设计专业班级地 点起止时间设计目的及要求某公司请你为其生产的自动售货机编写软件。这种无人值守自动售货机贩卖价值为A、B、C的三种商品,价格分别为2元,3元和6元。顾客投入10元的纸币,然后选择购买3种商品之一,自动售货机吐出商品,并且找给用户零钱。如果商品已经卖完,或者无法找零,则给出用户一个提示,商品已售完,并且退还纸币。 自然,你的售货机用户希望尽可能地给用户找零,以免流失顾客。为了调查用户的喜好,希望得到三种商品的每日消费数据,由此来调整货柜中三种货物的存贮量。你的程序将实现以下功能: 库存查询:检索当前三种商品的储存量 商品上架:为三种商品增加或者减少储量 销售查询:分别统计今天每种商品的销售量和销售额 会计查询:打印当天的往来帐目以及剩余零钞数目 结算功能:取出今天所有的10元纸币,并且分别设置零钞的数目 销售界面:顾客投入纸币,选择商品,获得商品和零钱;或者直接显示错误并退还纸【题目要求】 (1)为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后操作员通过菜单项选择希望进行的操作项目; (2)你的售货机用户不希望每一位顾客都有权限执行以上功能,因此一旦进入销售界面,就不应当退回到系统界面,但是应允许顾客反复购买,前一个顾客购买完毕后应停留在销售界面里允许下一个顾客操作。直到某位特殊的顾客(超级顾客)输入特殊的商品代号(密码)方可回到主控界面。 (3)计算机安排的找零算法应该合理,不要出现某一种零钱找光的情况。同时顾客也不喜欢明明有5元零钞,却被找给5个一元的零钞。尽量满足这两个要求。 (3)、要求以上功能分别用函数实现。并要求用C语言的文件操作语句将以上所有结果保存在文件XX.out。 【输入/输出要求】 (1)应用程序运行后,先显示一个菜单,然后用户根据需要选择相应的操作项目。进入每个操作后,根据程序的提示输入相应的信息; (2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。根据题目要求,运用所学知识,完成设计和实现工作,并按照书写规范,撰写课程设计报告。参数(1)系统分析、设计正确。(2)结果以图表方式显示。(3)界面简洁、美观。(4)报告格式规范。进度计划具体进度详见“校内独立实践教学日程安排表”参考资料1何钦铭 颜晖.语言程序设计.高等教育出版社.2008年2谭浩强 张基温.语言程序设计教程.高等教育出版社.2006年其它难点提示:1、首先分析题目的数据结构,看看要操作那些值(商品数据,金额数据,甚至需要保存每一笔用户的交易);然后根据题意设计操作对象的结构。可以使用结构体来描述其中较为复杂的对象例如往来帐目;确定结构体的定义;可以使用数组来保存商品数据和已收款,剩余零钞数目这样的数据,使用结构体数组来保存往来帐目数据。2、找零算法一种简单的算法是优先找给大额的零钞,用完再找给小额零钞。但是这种算法充其量只能保证服务最多的顾客,但是后来的顾客就只能拿1元的硬币了。因此可以采用动态最优化算法,剩余的零钞哪个最多,优先找哪个。说明.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。.若填写内容较多可另纸附后。3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。教研室主任: 指导教师:雷亮/韩琦/陈刘奎 摘要50年多年来,计算机技术飞速发展,日新月异。人们发现起初为解决计算问题而发明的计算机用途越来越广,几乎渗透到涉及信息动的一切领域。C语言的开发更是帮助到各个领域对计算机的使用,更加优化了计算机的功能。根据本次课程设计内容及要求,完成自动售货机系统的设计。这种无人值守自动售货机贩卖价值为A、B、C的三种商品,价格分别为2元,3元和6元。顾客投入10元的纸币,然后选择购买3种商品一,自动售货机吐商品,并且找给用户零钱。如果商品已经卖完,或者无法找零,则给出用户一个提示,商品已售完,并且退还纸币。在自动售货机系统中,数据的固化采用.out文件格式进行储存。关键词:计算机,c语言,自动销售机目录第一章 软件需求分析说明书1. 软件所具有的功能:1.1 库存查询:管理员可以通过此功能了解自动售货机内的商品数量.1.2产品上架:管理员可以通过此功能减少和增加自动售货机内的商品数量。1.3 销售查询:管理员可以通过此功能了解一段时间内自动售货机内商品的销售情况。1.4 会计查询:管理员可以通过此功能了解一段段时间内的盈利情况。1.5 结算功能:管理员可以通过此功能对自动售货机内的零钱进行补充。1.6 销售功能:顾客可以通过此功能来购买自己想要的商品。2. 软件的界面要求:界面要求美观,简洁,大方。第二章 系统分析与设计2.1 软件界面设计 画出软件全部输入、输出数据的界面,并对每一个界面进行详细的操作说明2.2 软件的数据(结构)设计 对整个软件使用的文件功能、文件内部的数据格式进行说明2.3 软件的算法设计 本自动售货机系统有两类用户权限,第一类管理员、第二类普通用户。根据各类权限的不同将系统分为了两个模块。自动售货系统销 售模 块管 理模 块管理模块销售界面转到管理模块销售模块销售界面结算功能会计查询销售查询商品上架库存查询第一模块 printf( -A商品剩余:%dn -B商品剩余:%dn -C商品剩余:%dn.,A,B,C);B-printf(*);printf(n);A-printf(*);A0 B0Multichara,b;b=+Multiplex第二模块a=A MultiplexA=A+c;MultiplexPrintf(“n”): charb;a!=10Normalprintf(OK!);D+;b=AYESMulti printf(今天A商品销售了%d,销售额为:%d,100-A,(100-A)*2);printf(今天B商品销售了%d,销售额为:%d,100-B,(100-B)*3);printf(今天C商品销售了%d,销售额为:%d,100-C,(100-C)*6);printf(今天收入10元钞票%d张,支出5元钞票%d张,1元钞票%d张.n,D,50-E,250-F);Chara;a=Nb=0;b=1;a=1inta;AutoFlowCIF YESa=4a=2save();a=3break;up();sell();break;break;第三章 软件的实现软件涉及到核心功能模块进行设计实现,并对关键代码进行分析阐述。第四章 软件测试对每一个函数、及组装以后的函数、写出测试用例。格式如下(注:自己可以自定义格式,但要满足以下要求,写成表格的形式等):1、 int Calculate(char * stuNo);/*计算学生的总成绩*/用例1:input: 20070001 output: 245用例2:inp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论