タクシーの基本料金と走行距離をもとに、C言語で料金を計算するプログラムを作成する方法について解説します。質問者が遭遇した問題「加算料金80円がうまく適用されない」といった問題点を改善するため、正しい計算方法と実装例を提供します。
タクシー料金の計算方法
タクシー料金の計算には、基本料金と走行距離に基づく加算料金があります。基本料金は1300mまでの料金で、1300mを超えた分については301mごとに80円が加算されます。問題のポイントは、この加算料金が正しく計算される方法にあります。
加算料金の計算方法
加算料金の計算には、1300mを超えた距離を301mで割って、80円を掛け算する必要があります。例えば、1602mの場合、1300mを超えた302m分に加算料金80円が適用されます。
コードでこれを実現するためには、以下のように条件分岐を作成します。
プログラムの修正例
質問者のコードに加算料金の部分が正しく実装されていない可能性があるため、以下のように修正します。
#include
int main(void)
{
int kyori;
int kasan;
while(1){
printf("距離を入力して下さい。(0または負の数を入力すると終了します。): ");
scanf("%d", &kyori);
if(kyori<=0)
break;
else if(kyori <= 1300)
printf("%d [m]の料金は570円です。\n", kyori);
else {
kasan = ((kyori - 1300) / 301 + 1) * 80;
printf("%d [m]の料金は%d円です。\n", kyori, 570 + kasan);
}
}
return 0;
}
この修正により、1300mを超える分について、301mごとに80円の加算料金が計算され、正しい料金が表示されるようになります。
まとめ:C言語でタクシー料金を計算する
このプログラムでは、タクシー料金を計算するための基本的な流れを実現しています。基本料金を570円とし、1300mを超えた距離に対して301mごとに80円が加算されます。プログラムの中で適切に条件分岐を設定し、加算料金を計算する方法を理解することで、他の類似した問題にも対応できるようになります。

コメント