• ベストアンサー

消費税計算

#include <stdio.h> int main (void) { int price_komi, tax; printf("税込価格を入力してください:"); scanf("%d", &price_komi); tax = (double)(price_komi * 0.05); printf("消費税は%d円です。\n", tax); printf("税抜き価格は%dです。\n",price_komi - tax); return(0); } このプログラムでは消費税計算がうまくできません。型の使い方がよくないと思うのですがわかりません。おねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • MSZ006
  • ベストアンサー率38% (390/1011)
回答No.1

tax = (double)(price_komi * 0.05); ここの計算が違っていると思います。 税=税込金額*5/105 です。

k-haruka
質問者

お礼

ありがとうございました。おはずかしい限りです。

その他の回答 (2)

回答No.3

#2です、凡ミスです。 #1さんの回答でOKです、失礼致しました。

回答No.2

#include <stdio.h> int main (void) { int price_komi,tax; printf("税込価格を入力してください:"); scanf("%d", &price_komi); tax = (int)(price_komi * 0.05); printf("消費税は%d円です。\n", tax); printf("税抜き価格は%dです。\n",price_komi - tax); return(0); }

関連するQ&A

  • 記憶クラス(関数の引数をなくして外部変数を利用しての書き換え)

    /*入力した価格の合計とその税込価格を求めるプログラム*/ #include<stdio.h> #define TAX 0.05 float Getsyouhizeigaku(float); void main(void) { float price, total = 0.0; float zeigaku; while(1){ printf("Price? (finish -> -1)\n"); scanf("%f", &price); if(price == -1.0) break; total += price; } zeigaku = Getsyouhizeigaku(total); printf("価格 %.0f 円の場合, 消費税込み価格は %.0f 円\n", total, zeigaku); } float Getsyouhizeigaku(float kakaku) { float zeikomikakaku; zeikomikakaku = kakaku * (1.00 + TAX); return(zeikomikakaku); } このプログラムを関数の引数(価格を表す実数)をなくし、外部変数を利用して同じ処理を行うようにプログラムを変更せよ。 という問題で #include<stdio.h> #define TAX 0.05 float Getsyouhizeigaku(void); void main(void) { float price, total = 0.0; float zeigaku; while(1){ printf("Price? (finish -> -1)\n"); scanf("%f", &price); if(price == -1.0) break; total += price; } zeigaku = Getsyouhizeigaku(); printf("価格 %.0f 円の場合, 消費税込み価格は %.0f 円\n", total, zeigaku); } float Getsyouhizeigaku(void) { extern float total; float zeikomikakaku; zeikomikakaku = total * (1.00 + TAX); return(zeikomikakaku); } と変更してコンパイルしたところ「'_total'が未解決です」と出ました。何が問題なのかわかりません。 わかる方いましたらよろしくお願いします。

  • C言語初心者です。計算がうまく出来ず困っています。

    「苦しんで覚えるC言語」というサイトに載っている以下の問題を解きたいのですが、プログラムにエラーは出ないものの正常な結果が出ません。 定価を入力すると、1割引、3割引、5割引、8割引の値段を一覧表示するプログラムを作成せよ。 なお、結果の金額は整数値での表示が望ましいが、実数でもかまわない。 私は以下のようにプログラムを書いたのですが、実行して数値を入力すると、「0 ,0 ,0 ,0」と表示されてしまいます。 #include <stdio.h> int main(void) { int price,one,three,five,eight; scanf("%d",&price); /* 入力部分 */ one = price*0,9; three = price*0,7; five = price*0,5; eight = price*0,2; printf("%d ,%d ,%d ,%d \n",one,three,five,eight); return 0; } サイトでの解答は以下のようになっており、解答の他にも、変数を使用して書いても良いとあります。 #include <stdio.h> int main(void) { int price; printf("定価を入力して下さい : "); scanf("%d",&price); printf("1割引 = %d円\n",(int)(price * 0.9)); printf("3割引 = %d円\n",(int)(price * 0.7)); printf("5割引 = %d円\n",(int)(price * 0.5)); printf("8割引 = %d円\n",(int)(price * 0.2)); return 0; } これより前の内容を復習したり、調べたりもしたのですが、自分ではどこに間違いがあるのか見つけられませんでした。非常に初歩的な内容で恐縮ですが、助言をお願いします。

  • c++

    最近c++をはじめたのですが Borland C++を使用しているのですが 定価を入力したら一割引き三割引き五割引きが表示されるようにしようと以下のように入力したのですが、 1000 と入力したら  900 699 500 と表示されました。なぜ699になるのかわかりません。だれか教えてください。お願いします。 #include<stdio.h> #include<conio.h> void main() { int price; printf("定価を入力して下さい:",price); scanf("%d",&price); printf("一割引きは%d円\n",(int)(price*0.9)); printf("三割引きは%d円\n",(int)(price*0.7)); printf("五割引きは%d円\n",(int)(price*0.5)); getch(); }

  • 消費税の計算です?

    税込み105円の場合 税抜き100円 消費税5円となるのですが、 ------------- 税込み価格が解っている場合に、 税抜き価格と、消費税の価格の計算式を知りたいです。

  • C言語もしくは算数の問題

    aに消費税、bに税抜価格で 税込価格を小数点切り捨てで出力しなさいという問題で 以下のようにしたのですが不合格でした a=8, b=126 の答えは136と正解になるのですが、他の検証でバツが出てしまいます どこが間違ってるのか解りません よろしくおねがいします #include <stdio.h> int main() { float a, b; scanf("%f %f", &a, &b); printf("%.f\n", b*(a/100+1)); return 0; }

  • C言語でscanf()が先に実行されるのはなぜですか?

    C言語でscanf()が先に実行されるのはなぜですか? #include <stdio.h> int main(void){ int intNum; printf("整数を入力してください:\n"); scanf("%d", &intNum); printf("入力値は:%d\n",intNum); return(0); }

  • 消費税の計算について

    ある店での価格表記です。 666円(税込699円)との表記が有りました。 666円の5%を計算すると消費税は31円で、税込697円になるべきだと思いますが、 確かに税込699円から消費税を計算すると消費税は33円になります。本体価格(税抜き価格)を示す なら666円から消費税を求めるのが、正しい方法だと思いますが。

  • 長方形、円、三角形の計算するプログラムでエラーがでます

    タイトルの通りなんですがエラーがでます>< コンパイラはできたのですが、実行して二つ目の入力するとこで、入力したあと止まります。 どこがおかしいのでしょうか? #include <stdio.h> int sikaku(void); int en(void); int main(void) { char ch; int a,b; printf("円(A) 長方形(B) 三角形(C)\n"); printf("入力してください:"); ch = getche(); if(ch == 'C'){ printf("\n底辺を入力してください:"); scanf("%d ",a); printf("高さを入力してください:\n"); scanf("%d",b); printf("%dです",a * b); } else if(ch == 'B') sikaku(); else if(ch == 'A') en(); return 0; } int en(void) { int a; float f; printf("\n半径を入力してください:"); scanf("%d",a); printf("円周率を入力してください:"); scanf("%f",f); printf("%fです",a * a * f); return 0; } int sikaku(void) { int a,b; printf("\n縦を入力してください:"); scanf("%d",a); printf("横を入力してくさい:\n"); scanf("%d",b); printf("dです",a * b); return 0; }

  • 昇順に並べ替えるプログラム(続き)

    (C言語)実行例のような3つの整数を読み込み昇順に並べ替えるプログラムは途中までわかったのですがあとはどう修正・追加をすればいいのでしょうか? 実行例 1:45 2:43 3:38 昇順に並べ替えました。 1:38 2:43 3:45 途中までのプログラム #include<stdio.h> int main(void) { int n1,n2,n3; printf("1:"); scanf("%d",&n1); printf("2:"); scanf("%d",&n2); printf("3:"); scanf("%d",&n3); printf("昇順に並べ替えました。\n"); return 0; }

  • C言語の問題

    最近プログラミングの勉強を始めました。 キーボードから入力する整数を「商品の税抜き価格」とする。 税率を5%とし「税込価格(整数)」、「税金(整数)」を計算し画面に表示せよ。(端数は切り捨て) という問題なんですが #include <stdio.h> int main(void) { int data, result, a; data = scanf("%d", &data); result = data * 1.05; a = result - data; printf("%d %d\n", a, result); return (0); } このように考えたのですが、全くうまくいきません。 どこが間違っているかなど、ご指導をお願いしたいと思います。 また、上のものを実数(浮動小数)を読み込み、それを2倍した結果を表示するようにしたいのですが、これに関するアドバイスもいただけると嬉しいです。 初歩的な質問になってしまいますが、回答よろしくお願いします。

専門家に質問してみよう