C 公式无法获得正确的值

  • 本文关键字: printf formula scanf
  • 更新时间 :
  • 英文 :


我需要以下代码公式的帮助:

#include <stdio.h>
void main()
{
    int MAGNUM, AK47, Knife, Axe, total;
    char choice, choice2, confirm;
    MAGNUM = 75;
    AK47 = 150;
    Knife = 40;
    Axe = 20;
    printf("Welcome to weapon store.n");
    printf("Over here, we sell cheap weaponry you may be interested in.n");
    printf("Currently, this is what we have for sale:nnn");
    printf("(A) .44 MAGNUMn");
    printf("(B) AK-47n");
    printf("(C) Laredo Bowie knifen");
    printf("(D) Tomahawk axennn");
    printf("Pick one to buy, just type the letter in caps of the item and press enter.n");
    printf("ITEM SELECTED:");
    scanf("%c", &choice);   //First input//
    if (choice == 'A')
    {
        printf("That will be $%d.n", MAGNUM);
    }
    if (choice == 'B')
    {
        printf("That will be $%d.n", AK47);
    }
    if (choice == 'C')
    {
        printf("That will be $%d.n", Knife);
    }
    if (choice == 'D')
    {
        printf("That will be $%d.n", Axe);
    }
    printf("Do you want to buy anything else?<Y//N>n");    //Second input//
    scanf(" %c", &choice2);
    if (choice2 == 'Y')
    {
        printf("What else do you want to buy:");    //Third input//
        scanf(" %c", &confirm);
        if (confirm == 'A')
        {
            printf("That will be $%d.n ", MAGNUM);
        }
        else if (confirm == 'B')
        {
            printf("That will be $%d.n", AK47);
        }
        else if (confirm == 'C')
        {
            printf("That will be $%d.n", Knife);
        }
        else if (confirm == 'D')
        {
            printf("That will be $%d.n", Axe);
        }
        total = choice + confirm;   //Need help with formula here. total equals first input + third input//
        printf("Total cost is $%d. Thank you.n", total);
    }
    else
    {
        printf("Thank you for shopping with us.n");    
    }
}

调试时,当相加时,它不会显示输入 1 和 3 的正确值。

例如,如果我分别为输入 1 和 3 选择 D,然后再次选择 D,我应该得到 40 美元的总值,但我得到的是不同的值 136 美元。

这可能是我目前缺乏 C 知识,因为我两天前才开始。这段代码只是我对基础知识的测试,例如 if else 语句等,所以如果代码中的内容可能对任何人有冒犯性,我深表歉意。

您添加的是字符值而不是价格。

68 被解释为整数的"D"。 68+68=136。

我会在您的 if 语句中添加价格,例如

if (choice == 'D')
{
printf("That will be $%d.n", Axe);
total=total+Axe;
}

(代表OP发布)。

把C++作为标题是我的错误。没有意识到这一点很奇怪。以前也不知道角色值。

初始化总计 = 总计 1 + 总计 2,其中 total1 表示输入 1 的选定结果值,总计 2 表示输入 3 的选定结果值,解决了问题。

相关内容

  • 没有找到相关文章

最新更新