用C语言实现自动售货机
自动售货机
如图所示的简易自动售货机,物品架1、2上共有10样商品,按顺序进行编号,分别为1-10。同时标有价格与名称,- 一个编号对应一个可操作按钮,供选择商品使用。如果物架上的商品被用户买走,储物柜中会自动取出商品送到物架上,保证物品架上一定会有商品.用户可以一次投入较多钱币,并可以选择多样商品,售货机可以一次性将商品输出并找零钱。
文章图片
用户购买方法:
(1)放入钱币,用户可以以此放入多个纸币,面额可以是1元、2元、>5元、10元。售货机会统计总金额并显示。
(2)依次输入要购买的产品,可购买多个产品,售货机自动判断余额,若余额不足,则找零后退出程序。
若需自主退出需按退出按钮,程序中用输入“-1表示”。
售货机本着人性化原则,绝不会私吞用户钱,也不会白送给用户商
品。
因此在选择货物号时,要注意以下几个点:
1.若什么都不买,用户投入的钱全部将退回;
2.若购买商品后还有余额,但用户自主退出程序,退回余额;
3.若用户购买货物时余额不足,将停止购买此商品,退回余额
代码如下:
4.钱正好花光,没有余额,结束程序。
#include#define N 10int sum=0; int sum1; typedef struct sell{int num; char name[20]; int price; }sell; void main(){int i,c,s; int s1=0,s2=0,s3=0,s4=0,s5=0,s6=0,s7=0,s8=0; //记录商品购买数量sell se[N]={{1,"Table-water",1},{2,"Table-water",1},{3,"Table-water",1},{4,"Coca-Cola",2},{5,"Milk",2},{6,"Beer",3},{7,"Orange-Juice",3},{8,"Sprite",3},{9,"Oolong-Tea",4},{10,"Green-Tea",4}}; //售货机装入商品do {printf("Please put in coins:"); scanf("%d",&c); //投币if(c==1||c==2||c==5||c==10)sum=sum+c; else if(c==-1) break; elseprintf("error!\n"); }while(c!=-1); printf("Total:%d yuan\n",sum); printf("Please select the goods serial number:"); scanf("%d",&s); //选择商品号se[-2].price =0; sum1=sum-se[s-1].price ; //第一个选的商品超过投币数if(sum1<0||s==-1) printf("Not enough money!\n"); elsesum=sum1; while(sum>=0&&s!=-1)//什么都没买或者钱够但是不想买了{if(sum>=0){//钱花光了for(i=0; i<3; i++)if(s==se[i].num )s1++; for(i=3; i=0)printf("change:%d yuan\n",sum); //输出余额}
运行结果:
文章图片
【用C语言实现自动售货机】以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
推荐阅读
- C#算法之实现阿姆斯特朗数
- 用C语言实现排雷游戏
- vue中使用过滤器filters的this为undefined的问题
- 如何在Unix或Linux中使用管道()
- 用于数据分析的Violin Plot用法详解
- jQuery post()方法用法示例介绍
- 算法题(Knight巡回问题的Warnsdorff算法实现)
- 苹果手机打电话别人听不到我语言
- 华为若何启用googleplay服务
- 路由器怎么重启