0

コードを見てください

#include <stdio.h>

#define TAX 5   /* Defines percentage of tax for the year */

int main(void)
{
    float amount;
    float taxes;
    float total;

    printf("Enter the value of the amount: ");
    scanf("%f", &amount);

    taxes = (TAX / amount); 
    total = amount + taxes;

    printf("The total amount is: $%.2f",total);
    return 0;
}

これは、指定された金額に対して 5% の利息を計算する必要があります。式の税を次のように置き換えています: 税 = (TAX / 金額) * 100
しかし、入力 i,e 金額 50 未満を入力すると、愚かで無意味な出力が得られます。は正しい式です。入力が小さい場合にどうすればよいかわかりません。これを行う正しい方法を誰かに教えてもらえますか。

スタイルについてもお聞きしたいのですが、この問題のプログラムを出しました。変数の数を最小限に抑えるべきか、定義された TAX マクロ自体で税の値を直接計算するべきか、どのようなプログラムが優れているかを教えてください。

#include <stdio.h>

#define TAX (5 / amount) * 100  /* Defines percentage of tax for the year */

int main(void)
{
    float amount;
    float total;

    printf("Enter the value of the amount: ");
    scanf("%f", &amount);

    total = amount + TAX

    printf("The total amount is: $%.2f",total);
    return 0;
}

これを見て

#include <stdio.h>

#define TAX 5   /* Defines percentage of tax for the year */

int main(void)
{
    float amount;
    float taxes;
    float total;

    printf("Enter the value of the amount: ");
    scanf("%f", &amount);

    taxes = (TAX / amount) * 100;
    total = amount + taxes;

    printf("The tax on your amount is: $%f",total);
    return 0;
}

そして、これを書くための他のより良い方法は何ですか、どうすれば式にたどり着くことができますか? 私は本 C プログラミング b KN King から多くの演習を解決しました。実際、それらのほぼ 90% ですが、今日、すべての概念をもう一度修正することを考え、このことに行き詰まりました。

もう一度質問です。与えられた金額の利率を計算するプログラムです。与えられた利率は 5% です。難しいことではありません。より小さな金額の値を試してみてください。

提案と解決策を提供してくれたすべての人に感謝します。

4

1 に答える 1

1

したがって、数式の問題は、税金を計算するために、税率を小数として取り、金額を掛ける必要があることです。したがって、5% を 100 で割って 10 進数にする必要があります。

スタイルに関しては、最初の例が最も読みやすく、変数名が「ストーリーを伝え」、何をしているのかを正確に示しています。taxただし、実際には必要ないため、他の目的で使用していない限り、変数を削除します。2 番目のものは、マクロを再利用する場合、という変数があると想定しているため、「悪い」ものamountです (再利用しない場合、そもそもマクロである理由は何でしょうか?)。 . 引数を取るマクロを使用することもできますが、その場合は、CALCULATE_TAX などの名前を付けて、単なる定数ではなく何かを計算していることをすぐに明らかにする必要があります。

とにかく、これが私がそれを行う方法です:

#define TAX_RATE 0.05   /* Defines percentage of tax for the year as 5% (0.05) */

int main(void)
{
    double amount;
    double total;

    // Get the amount, there should be some error checking on the input though:
    printf("Enter the value of the amount: ");
    scanf("%f", &amount);

    // Calculate the total amount, with taxes and print it:
    total = amount + TAX_RATE * amount;
    printf("The total amount is: $%.2f",total);

    return 0;
}
于 2012-08-19T17:41:14.213 に答える