程序设计基础课程设计自动售货机系统_第1页
程序设计基础课程设计自动售货机系统_第2页
程序设计基础课程设计自动售货机系统_第3页
程序设计基础课程设计自动售货机系统_第4页
程序设计基础课程设计自动售货机系统_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、xxxxxx课程设计报告 院(系):_电子信息工程学院_ 班 级: xxxxx 学生姓名: x x x 学 号: xxxxx 设计地点(单位)_ _ 设计题目:_ 自动售货机系统 _ _ 完成日期: 20011 年 11月 27 日 指导教师评语: _ _ _ 成绩(五级记分制):_ _ 教师签名:_重庆科技学院课程设计任务书设计题目:自动售货机系统学生姓名xxxxx课程名称程序设计基础课程设计专业班级xxxx地 点起止时间设计内容及要求某公司请你为其生产的自动售货机编写软件。这种无人值守自动售货机贩卖价值为a、b、c的三种商品,价格分别为2元,3元和6元。顾客投入10元的纸币,然后选择购买3

2、种商品之一,自动售货机吐出商品,并且找给用户零钱。如果商品已经卖完,或者无法找零,则给出用户一个提示,商品已售完,并且退还纸币。 自然,你的售货机用户希望尽可能地给用户找零,以免流失顾客。为了调查用户的喜好,希望得到三种商品的每日消费数据,由此来调整货柜中三种货物的存贮量。你的程序将实现以下功能: 库存查询:检索当前三种商品的储存量 商品上架:为三种商品增加或者减少储量 销售查询:分别统计今天每种商品的销售量和销售额 会计查询:打印当天的往来帐目以及剩余零钞数目 结算功能:取出今天所有的10元纸币,并且分别设置零钞的数目 销售界面:顾客投入纸币,选择商品,获得商品和零钱;或者直接显示错误并退还

3、纸币 【题目要求】 (1)为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后操作员通过菜单项选择希望进行的操作项目; (2)你的售货机用户不希望每一位顾客都有权限执行以上功能,因此一旦进入销售界面,就不应当退回到系统界面,但是应允许顾客反复购买,前一个顾客购买完毕后应停留在销售界面里允许下一个顾客操作。直到某位特殊的顾客(超级顾客)输入特殊的商品代号(密码)方可回到主控界面。 (3)计算机安排的找零算法应该合理,不要出现某一种零钱找光的情况。同时顾客也不喜欢明明有5元零钞,却被找给5个一元的零钞。尽量满足这两个要求。 (3)、要求以上功能分别用函数实现。并要求用c语言的文件操作语

4、句将以上所有结果保存在文件xx.out。 【输入/输出要求】 (1)应用程序运行后,先显示一个菜单,然后用户根据需要选择相应的操作项目。进入每个操作后,根据程序的提示输入相应的信息; (2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。根据题目要求,运用所学知识,完成设计和实现工作,并按照书写规范,撰写课程设计报告。设计参数(1)系统分析、设计正确。(2)结果以图表方式显示。(3)界面简洁、美观。(4)报告格式规范。进度要求周一:明确设计任务,学习相关基础知识周二:熟悉各知识点,进行基础练习周三:根据题目要求,进行设计和实现周四:根据题目要求,进行设计和

5、实现周五:撰写报告,进行答辩参考资料1何钦铭 颜晖.语言程序设计.高等教育出版社.2008年2谭浩强 张基温.语言程序设计教程.高等教育出版社.2006年其它难点提示:1、首先分析题目的数据结构,看看要操作那些值(商品数据,金额数据,甚至需要保存每一笔用户的交易);然后根据题意设计操作对象的结构。可以使用结构体来描述其中较为复杂的对象例如往来帐目;确定结构体的定义;可以使用数组来保存商品数据和已收款,剩余零钞数目这样的数据,使用结构体数组来保存往来帐目数据。2、找零算法一种简单的算法是优先找给大额的零钞,用完再找给小额零钞。但是这种算法充其量只能保证服务最多的顾客,但是后来的顾客就只能拿1元的

6、硬币了。因此可以采用动态最优化算法,剩余的零钞哪个最多,优先找哪个。说明.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。.若填写内容较多可另纸附后。3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。教研室主任: 指导教师:伍建全 2011年9 月14日摘要有史以来,人类发明了无数的信息技术来扩展自身的信息交流、处理和记忆能力。然而,以1946年世界第一台电子计算机的出现为开端,信息技术开始走向一个全新的数字时代。50年多年来,计算机技术飞速发展,日新月异。人们发现起初为解决计算问题而发明的计算机用途越来越广,几乎渗透到涉及信息活动的一切领域

7、。计算机软件的开发更是帮助到各个领域对计算机的使用,更加优化了计算机的功能。根据本次课程设计内容及要求,完成自动售货机系统的设计。这种无人值守自动售货机贩卖价值为a、b、c的三种商品,价格分别为2元,3元和6元。顾客投入10元的纸币,然后选择购买3种商品之一,自动售货机吐出商品,并且找给用户零钱。如果商品已经卖完,或者无法找零,则给出用户一个提示,商品已售完,并且退还纸币。在自动售货机系统中,数据的固化采用.out文件格式进行储存。关键词:计算机 自动售货机 储存目录摘要i1 设计内容和要求12 概要设计22.1 管理员模块22.2 用户模块32.3 数据固化33 详细设计53.1 管理员模块

8、的详细设计53.2 用户模块的详细设计64 系统测试84.1 管理模式下功能测试94.2库存查询功能测试104.3 商品上架功能测试114.4 销售查询功能测试124.5 销售功能测试125 总结14致谢15参考文献161 设计内容和要求某公司请你为其生产的自动售货机编写软件。这种无人值守自动售货机贩卖价值为a、b、c的三种商品,价格分别为2元,3元和6元。顾客投入10元的纸币,然后选择购买3种商品之一,自动售货机吐出商品,并且找给用户零钱。如果商品已经卖完,或者无法找零,则给出用户一个提示,商品已售完,并且退还纸币。 自然,你的售货机用户希望尽可能地给用户找零,以免流失顾客。为了调查用户的喜

9、好,希望得到三种商品的每日消费数据,由此来调整货柜中三种货物的存贮量。你的程序将实现以下功能: 库存查询:检索当前三种商品的储存量 商品上架:为三种商品增加或者减少储量 销售查询:分别统计今天每种商品的销售量和销售额 会计查询:打印当天的往来帐目以及剩余零钞数目 结算功能:取出今天所有的10元纸币,并且分别设置零钞的数目 销售界面:顾客投入纸币,选择商品,获得商品和零钱;或者直接显示错误并退还纸币 2 概要设计本自动售货机系统有两类用户权限,第一类管理员、第二类普通用户。根据各类权限的不同将系统分为了两个模块。自动售货机系统销售模块管理模块图2.1 自动售货机系统模块图它们各具有的功能将在下面

10、的章节中进行介绍。2.1 管理员模块管理员是自动售货机系统中权限最高的用户。在管理员工作模式下,管理员可以进行货物进行上/下架操作、商品库存信息查询、销售信息查询、会计查询、结算功能、切换到销售界面几大操作。管理员模块下的功能结构图,如下:管理员模块库存查询商品上架会计查询销售查询结算功能销售界面切 换图2.2 管理员模块图2.2 用户模块用户模块下主要提供的是商品的销售功能及切换至管理工作模式的功能,结构图如下:用户模块销售商品切换至管理模式图2.3 用户模块图2.3 数据固化数据:在计算机系统中,各种字母、数字符号的组合、语音、图形、图像等统称为数据,数据经过加工后就成为信息。在本系统中涉

11、及的数据只是一些简单的字符和数字的组合,对于它的数据固化也将采用比较简单的文本方式进行存储。但是,文件中的数据存储格式必须是我们程序员给出定义的。在自动售货机系统的使用到的文件是goods.out,用以存储货物的基本信息,他们的具体含义如下:1)商品的数据定义以行为单位,描述一类商品,数据格式为:商品名 商品总量 商品价格(以空格隔开)3 详细设计3.1 管理员模块的详细设计管理员是整个图书管理系统中拥有最多权限的一个系统角色。现在我们就来看看它的详细设计是怎么样的?它是怎么样完成预定的功能的?管理员选择库存查询商品上架销售查询销售界面切 换浏览增减浏览结束图3.1 管理员模块流程图库存查询和

12、销售查询处理流程大概相同,下面只给出商品上架的流程图。读取文件录入商品编号商品编号存在否更新数量完成各项商品信息录入写入文件图3.2 商品上架流程图3.2 用户模块的详细设计用户模块主要是销售商品的界面。销售商品的整个过程是,用户输入商品代号,然后投入货币,然后进行找零等操作,最后放出商品,完成交易。下面来看一下用户模块的流程。用户选择商品a商品b商品c投币投币投币写入文件图3.3 用户模块流程图4 系统测试它的的任务是尽可能彻底地检查出程序中的错误,提高软件系统的可靠性,其目的是检验系统做得怎样?。这阶段又可分为三个步骤:模块测试,测试每个模块的程序是否有错误;组装测试,测试模块之间的接口是

13、否正确;确认测试,测试整个软件系统是否满足用户功能和性能的要求。该阶段结束应交付测试报告,说明测试数据的选择,测试用例以及测试结果是否符合预期结果。测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不相符合或与之矛盾的地方。系统启动选择界面。图4.1系统启动选择界面4.1 管理模式下功能测试要进入管理模式,必须得到系统管理口令验证。系统正确的管理口令是“admin”图 4.2 管理验证界面图输入“admin123”错误口令,测试错

14、误的正确结果。输入“admin”正确口令,测试正确的结果,进入管理员模式。图 4.3 管理员模式下的主界面4.2库存查询功能测试库存功能的设计是为了检索当前三种商品的储存量。输入操作指令“1”进入库存查询功能。图4.4 库存查询功能测试结果图4.3 商品上架功能测试商品上架功能设计是为了实现三种商品增加或者减少储量。输入指令“2”,进入商品上架功能界面。图 4.5 商品上架功能测试界面图4.4 销售查询功能测试销售查询功能是设计为了完成分别统计今天每种商品的销售量和销售额的功能。输入口令“3”,进入销售查询功能界面。图 4.6 销售查询功能测试界面图4.5 销售功能测试在管理模式下,输入口令“6”,进入销售模式。图4.7 销售模式界面图以商品名为“

温馨提示

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

评论

0/150

提交评论