if else语句不在循环#c中工作

时间:2018-04-09 04:43:34

标签: c

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a, itemAmount, totalFee = 0, rate[10], fee[6] = {7, 3, 5, 2, 3};
    char item[6][50], inputItem[50];

    strcpy(item[0], "Rice Cooker");
    strcpy(item[1], "Radio");
    strcpy(item[2], "Iron");
    strcpy(item[3], "Charger");
    strcpy(item[4], "Kettle");

    printf("Amount of item: ");
    scanf("%i", &itemAmount);

    for(int a = 0; a < itemAmount; a++){
        printf("\n%i) Item : ", a+1);
        scanf("%s", &inputItem);
        strcpy(item[a], inputItem);

        if(item[a] == item[0]){
            rate[a] = fee[0];
        }else if(item[a] == item[1]){
            rate[a] = fee[1];
        }else if(item[a] == item[2]){
            rate[a] = fee[2];
        }else if(item[a] == item[3]){
            rate[a] = fee[3];
        }else{
            rate[a] = fee[4];
        }

        totalFee = totalFee + rate[a];
    }

    printf("\n%i", totalFee);
}

我想添加所有项目&#39;最后的价格,但是当我运行它时,所有商品的价格是7而不是以下:

电饭煲:7

电台:3

铁:5

充电器:2

水壶:3

例如,如果我输入两个项目,即Radio和Kettle,则总费率为10.这是错误的,因为无线电(3)和水壶(3)如果被添加则应为6起来。

我现在正在学习数组,而且我对编程非常陌生,请帮助我:)

0 个答案:

没有答案