自动售货机出售可乐、红茶、矿泉水三种饮料,价格分别为5元、3元和2元。
2.自动售货机有1个投币孔,通过3个传感器可识别出1元、5元和10元。投入金额可由两个LED数码管显示。
3.当投入货币金额大于等于可乐、红茶、矿泉水售价时,对应的饮料指示灯点亮,表示可以购买。当按下相应的商品按钮后,则商品指示灯闪烁,同时售货机会启动相应电机,延时3s将商品送到出货口,然后继续等待外部命令。如继续交易,则操作过程同上;如不再交易,按下退币按钮,售货机进行退币操作,退还相应的金额,完成交易。
#include<stdio.h>
void pputs(int s[])
{
int i;
for(i=1;i<11;i++){
if(s[i]!=0){
switch(i){
case 1:printf("Table-water:%d;",s[i]);break;
case 2:printf("Table-water:%d;",s[i]);break;
case 3:printf("Table-water:%d;",s[i]);break;
case 4:printf("Coca-Cola:%d;",s[i]);break;
case 5:printf("Milk:%d;",s[i]);break;
case 6:printf("Beer:%d;",s[i]);break;
case 7:printf("Orange-Juice:%d;",s[i]);break;
case 8:printf("Sprite:%d;",s[i]);break;
case 9:printf("Oolong-Tea:%d;",s[i]);break;
case 10:printf("Green-Tea:%d;",s[i]);break;
}
}
}
}
int main()
{
int i,total=0,n=0,number,a[11]={0},count=0;
//计算投入硬币价值,以-1结束
while(n!=-1){
total+=n;
scanf("%d",&n);
}
//计算输入所需产品的标号,并统计每个标号数量存在数组a,价格相加存放在count,以-1结束
while(number!=-1){
scanf("%d",&number);
if(number==-1){
break;
}
a[number]++;
if(number>0&&number<4){
count++;
}
else if(number>3&&number<6){
count+=2;
}
else if(number>5&&number<9){
count+=3;
}
else{
count+=4;
}
}
//如果产品的价格大于投入硬币数,输出Insufficient money
if(count>total){
printf("Insufficient money");
}
//如果钱足够,按题意进行以下输出
else{
printf("Total:%dyuan,change:%dyuan\n",total,total-count);
pputs(a);
}
return 0;
}
这样子就只能自己写了