【C++入門】定価と販売価格から割引率を求めるプログラムの作成方法
問題概要
この問題では、ある商品の定価(M)と販売価格(S)を表す2つの数値が与えられます。私たちの課題は、C++を用いて割引率を求めるプログラムを作成することです。
割引とは
割引とは、商品の実際の価格(定価)から差し引かれる金額のことを指します。
割引額を求めるための計算式は以下の通りです。
割引額 = 定価 − 販売価格
割引率とは
割引率とは、商品の実際の価格に対してどれだけの割合が割り引かれたかを示す数値です。
割引率を求めるための計算式は以下の通りです。
割引率 = (割引額 ÷ 定価) × 100
計算例
具体的な数値を使って問題を確認してみましょう。
入力
240, 180
出力
25%
解説
割引額 = (240 − 180) = 60 割引率 = (60 ÷ 240) × 100 = 25%
解決アプローチ
この問題は、先ほどの2つの計算式をそのままコードに変換するだけで解くことができます。手順は以下の通りです。
- 定価(MP)と販売価格(SP)を用意する。
- 「定価 − 販売価格」から割引額を求める。
- 「割引額 ÷ 定価 × 100」から割引率を計算する。
- 結果を出力する。
C++での実装例
実際に動作するプログラムを見てみましょう。
サンプルコード
#include <iostream>
using namespace std;
int main() {
float MP = 130, SP = 120;
float DP = (float)(((MP - SP) * 100) / MP);
printf("The discount percentage on the given product is %.2f\n", DP);
return 0;
}
出力
The discount percentage on the given product is 7.69
コードの解説
このプログラムでは、まず定価 MP に 130、販売価格 SP に 120 を代入しています。
次に、計算式 ((MP − SP) × 100) ÷ MP を使って割引率 DP を求めています。(float) へのキャストを行うことで、整数同士の除算による切り捨て誤差を防ぎ、小数点以下まで正確な結果を得られるようにしています。
最後に、printf 関数の書式指定子 %.2f を使用して、結果を小数点以下2桁で表示しています。この例では、(130 − 120) × 100 ÷ 130 = 7.69% という計算結果が出力されます。
まとめ
割引率の計算は、「割引額 = 定価 − 販売価格」「割引率 = (割引額 ÷ 定価) × 100」という2つの基本的な式で表せます。C++では float や double などの浮動小数点型を使うことで、小数を含む正確な計算が可能になります。ECサイトやPOSレジシステムなど、実務でもよく使われる処理なので、ぜひマスターしておきましょう。
-
C++で三角形の重心を求めるプログラムの作成方法
この記事では、三角形の3つの頂点の座標を格納した2次元配列が与えられたときに、その三角形の重心を求めるC++プログラムの作成方法を解説します。 三角形の重心とは、三角形の3本の中線がすべて交わる点のことです。 また、三角形の中線とは、ある頂点と、その対辺(向かい合う辺)の中点を結ぶ線分のことを指します。 それでは、具体的な例を使って問題を確認してみましょう。 入力 (-3, 1), (1.5, 0), (-3, -4) 出力 (-1.5, -1) 説明 重心 (x, y) = ((-3 + 1.5 - 3) / 3, (1 + 0 - 4) / 3) = (-1.5, -1) 解法のアプロ
-
C++で平行四辺形の面積を求めるプログラムの作成方法
この記事では、平行四辺形の底辺と高さを表す2つの値が与えられたとき、C++を使ってその面積を求めるプログラムを作成する方法を解説します。 平行四辺形とは? 平行四辺形とは、4つの辺からなる閉じた図形であり、向かい合う2組の辺がそれぞれ長さが等しく、互いに平行になっている四角形のことです。 問題を理解するための具体例 入力 B = 20, H = 15 出力 300 説明 平行四辺形の面積 = 底辺 × 高さ = 20 × 15 = 300 解決アプローチ この問題を解くには、平行四辺形の面積を求める幾何学の公式を使用します。 面積 = 底辺 × 高さ つまり、与えられた底辺と高さを掛け合わせ