【C语言程序设计试验与习题指导】试验十三 1

自动售货机

#include <stdio.h>

/*  通过商品索引 返回价格 */
int goods_price(int index){
    switch (index) {
        case 1:case 2:case 3:
            return 1;
            break;
        case 4:case 5:
            return 2;
            break;
        case 6:case 7:case 8:
            return 3;
            break;
        case 9:case 10:
            return 3;
            break;
        default:
            return 0;;
    }
}


/*
 in message
 1 1 2 2 5 5 10 10 -1
 1 2 3 5 1 6 9 10 -1
 */

int main(void){
    
    int in_money,cost, num, i;
    
    char *names[] = {"Table-water", "Table-water", "Table-water", "Coca-Cola", "milk",
        "Beer", "Orange-Juice", "Sprite","Oolong-Tra", "Green-Tea"};
    
    int count_num[10] = {0};
    
    in_money = cost = 0;
    
    while (1) {
        scanf("%d", &num);
        if (num != -1) {
            in_money += num;
        }else
            break;
    }
    
    while (1) {
        scanf("%d", &num);
        if (num != -1) {
            cost += goods_price(num);
            count_num[num-1]++;
        }else
            break;
    }
    
    printf("Total: %dyuan, change: %dyuan\n", in_money, in_money - cost);
    
    for (i = 0; i < 10; i++) {
        if (count_num[i] > 0) {
            printf("%s: %d; ", names[i], count_num[i]);
        }
    }
    puts("");
    
    return 0;
}

 

posted @ 2021-09-30 14:03  就是想学习  阅读(29)  评论(0编辑  收藏  举报