您现在的位置:计算机技术学习网 > 技术中心 > 编程开发 > C >

C语言课程设计_自动贩卖机程序设计任务书

来源:不详 责任编辑:栏目编辑 发表时间:2013-07-01 15:28 点击:
一、目的要求
本课程设计任务的目的是要求学生按照分析、设计、编码、调试和测试的软件开发过程独立完成一个自动贩卖机控制系统,并能最终实现本系统的功能要求。
二、功能要求
【题目描述】
某公司请你为其生产的自动贩卖机编写软件。这种无人值守自动贩卖机贩卖价值为ABC三种商品,价格分别为2元,3元和6元。顾客投入10元的纸币,然后选择购买3种商品之一,自动贩卖机吐出商品,并且找给用户零钱。如果商品用完,或者无法找零,则给出用户一个提示,商品已售完,并且退还纸币。自然,你的贩卖机用户希望尽可能地给用户找零,以免流失顾客。为了调查用户的喜好,希望得到三种商品的每日消费数据,由此来调整货柜中三种货物的存贮量。你的程序将实现以下功能:
库存查询:检索当前三种商品的储存量
商品上架:为三种商品增加或者减少储量
销售查询:分别统计今天每种商品的销售量和销售额
会计查询:打印当天的往来帐目以及剩余零钞数目
结算功能:取出今天所有的10元纸币,并且分别设置零钞的数目
销售界面:顾客投入纸币,选择商品,获得商品和零钱;或者直接显示错误并退还纸币
【题目要求】
(1)为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后操作员通过菜单项选择希望进行的操作项目;
(2)你的贩卖机用户不希望每一位顾客都有权限执行以上功能,因此一旦进入销售界面,就不应当退回到系统界面,但是应允许顾客反复购买,前一个顾客购买完毕后应停留在销售界面里允许下一个顾客操作。直到某位特殊的顾客(超级顾客)输入特殊的商品代号(密码)方可回到主控界面。
(3)计算机安排的找零算法应该合理,不要出现某一种零钱找光的情况。同时顾客也不喜欢明明有5元零钞,却被找给5个一元的零钞。尽量满足这两个要求。
(3)、要求以上功能分别用函数实现。并要求用C语言的文件操作语句将以上所有结果保存在文件XX.out。
【输入/输出要求】
(1)应用程序运行后,先显示一个菜单,然后用户根据需要选择相应的操作项目。进入每个操作后,根据程序的提示输入相应的信息;
(2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。
三、难点提示
1、首先分析题目的数据结构,看看要操作那些值(商品数据,金额数据,甚至需要保存每一笔用户的交易);然后根据题意设计操作对象的结构。可以使用结构体来描述其中较为复杂的对象例如往来帐目;确定结构体的定义;可以使用数组来保存商品数据和已收款,剩余零钞数目这样的数据,使用结构体数组来保存往来帐目数据。找零算法一种简单的算法是优先找给大额的零钞,用完再找给小额零钞。但是这种算法充其量只能保证服务最多的顾客,但是后来的顾客就只能拿1元的硬币了。因此可以采用动态最优化算法,剩余的零钞哪个最多,优先找哪个。
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Glib实例学习(2)双链表
    • C程序员要学C++吗?
    • C++中实现Singleton的正确方法
    • 编程思维训练(一)
    • 【编程好习惯】引入中间变量使程序更易读
    • 在C++中通过模板规避潜在错误
    • 在C++中通过模板去除强制转换
    • 【编程好习惯】减少搜索头文件的目录数
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1