眼里没有星星 2022-12-11 16:43 采纳率: 0%
浏览 36
已结题

三菱plc自动售货机梯形图

自动售货机出售可乐、红茶、矿泉水三种饮料,价格分别为5元、3元和2元。
2.自动售货机有1个投币孔,通过3个传感器可识别出1元、5元和10元。投入金额可由两个LED数码管显示。
3.当投入货币金额大于等于可乐、红茶、矿泉水售价时,对应的饮料指示灯点亮,表示可以购买。当按下相应的商品按钮后,则商品指示灯闪烁,同时售货机会启动相应电机,延时3s将商品送到出货口,然后继续等待外部命令。如继续交易,则操作过程同上;如不再交易,按下退币按钮,售货机进行退币操作,退还相应的金额,完成交易。

  • 写回答

2条回答 默认 最新

  • Minuw 2022-12-15 09:57
    关注
    获得3.30元问题酬金
    
    #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;
    }
    
    
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月20日
  • 赞助了问题酬金15元 12月12日
  • 创建了问题 12月11日