練習課題:税込価格を求める(改良版3)

 以前、税込価格を求めるプログラムとして、以下のようなプログラムを作成しました。

#include <stdio.h>

int calcTax(int price) {
    int sum;
    sum = price * 1.05;
    return sum;
}

int main(int argc, const char * argv[])
{
    
    // insert code here...
    int price;      // 価格
    int sum;        // 税込価格
    
    // 価格の設定
    printf("商品価格を入力して下さい。\n");
    scanf("%d", &price);
    
    // 税込価格を計算
    sum = calcTax(price);
    
    // 税込価格を表示
    printf("税込価格は%d円です。\n", sum);
    
    return 0;
}

 ここまで、ずっと、入力する数値は1500で固定してきました。まだ四捨五入の方法をお伝えしていなかったので、仮に消費税額が小数になってしまう金額を入力した場合、切り捨てた値が表示されてしまいます。math.hのroundという関数があることをお伝えしましたので、今回は、そのround関数を使って、正確に消費税額が求まるプログラムを作成しましょう。

 課題:ある価格の商品の税込価格を表示して下さい。消費税額の計算にround関数を利用して下さい。

 ...

 では、回答の一例を掲載します。

#include <stdio.h>
#include <math.h>

int calcTax(int price) {
    int sum;
    sum = round(price * 1.05);
    return sum;
}

int main(int argc, const char * argv[])
{
    
    // insert code here...
    int price;      // 価格
    int sum;        // 税込価格
    
    // 価格の設定
    printf("商品価格を入力して下さい。\n");
    scanf("%d", &price);
    
    // 税込価格を計算
    sum = calcTax(price);
    
    // 税込価格を表示
    printf("税込価格は%d円です。\n", sum);
    
    return 0;
}

 実行し、様々な金額を入力して動作を確認してみて下さい。以下は、一例です。

商品価格を入力して下さい。
99
税込価格は104円です。

■スポンサーリンク

このページの先頭へ