2つの入力値(整数値)の四則演算結果を表示する
キーボードから2つの値(整数)を入力し、その四則演算を行い結果を表示してみます。
今回は、MicrofoftのVisual Studio 2022を使用します。
・Visual Studio 2022を起動します。
・開始するメニューから、
"新しいプロジェクトの作成(N)"を選択します。
・新しいプロジェクト作成する画面をより、
"コンソールアプリ"を選択し、"次へ(N)"をクリックします。
・新しいプロジェクトを構成します画面の、
"プロジェクト名"欄に、"ct_101"とを入力し、
"作成(C)"をクリックします。
・プログラム記述・編集画面が表示されるので、
プログラムを記述します。
プログラムの記述内容
// 2つの入力値(整数値)の四則演算の結果表示 #include <iostream> int main() { // 変数宣言 int atai1, atai2; int add, sub, mul, div, rem; // キーボードからの二つの値を受け取る printf("1つ目の値:"); scanf_s("%d", &atai1); printf("2つ目の値:"); scanf_s("%d", &atai2); // 四則演算 add = atai1 + atai2; // 加算 sub = atai1 - atai2; // 減算 mul = atai1 * atai2; // 乗算 div = atai1 / atai2; // 除算 rem = atai1 % atai2; // 剰余算 // 四則演算の結果表示 printf("加算: %d\n", add); printf("減算: %d\n", sub); printf("乗算: %d\n", mul); printf("除算: %d\n", div); printf("剰余: %d\n", rem); return EXIT_SUCCESS; }
簡単なプログラム解説です。
変数宣言
・キーボードからの2つの入力値を格納するための変数を宣言
int atai1, atai2;
・四則演算結果を格納するための変数宣言
加算、減算、乗算、除算、剰余の5つ
int add, sub, mul, div, rem;
キーボードからの二つの値を受け取る
・値を入力する時の入力促進表示
printf("1つ目の値:");
これで画面に、"1つ目の値:"を表示されます。
・キーボードからの入力を待つ
scanf_s("%d", &atai1);
これでキーボードから入力された、整数値を
格納変数、atai1に格納されます。
四則演算
・加算(+)、減算(-)、乗算(*)、除算(/)、剰余(%)
add = atai1 + atai2;
これは、変数、atai1とatai2に格納されている値を加算し、
その結果を変数、addに格納されます。
四則演算の結果表示
・演算結果格納用変数に格納された値を画面に表示します。
printf("加算: %d\n", add);
これは画面に、"加算:"と表示されたあと、
続いて、変数 add に格納されている値を表示し、
改行されます。
関数説明
・scanf_s("変数型", 格納変数のアドレス);
変数の型
%d:整数型
%f:実数型
%c:文字型
%s:文字列型・・・等
格納変数のアドレス
一般変数のアドレス表記として、
変数名の先頭に、"&"を付ける。
scanf_s("%d", &atai1);
これは、キーボードからの値を、
10進整数として、変数 atai1 に格納することになります。
・printf("出力書式");
""内に記述した内容がそのまま画面に表示されます。
printf("1つ目の値:");
これは、"1つ目の値:"と画面に表示されます。
・printf("出力書式", 書式への代入値変数);
""内の内容はそのまま表示されますが、
""の書式内に、
・変換指定子(%)
%d:整数型
%5d・・・5桁揃え
%f:実数型
%5.1f・・・全体5桁、小数点以下1桁
%s:文字列型
%-5s・・・全体5桁、左揃え
%c:文字型・・・等
が使われている場合は、
,(カンマ)に続く書式への代入変数の値が当てはめられます。
int add = 13, sub = 7;
printf("加算: %d 減算: %d", sub);
これは、"加算: 13 減算: 7"と画面に表示されます。
・制御文字(エスケープコード)(¥( \ ) )
\n:改行
\t:TAB送り
\:\マーク表示
\':'(シングルクォーテーション)表示
\":"(ダブルクォーテーション)表示・・・等
が使われている場合は、
その制御が行われます。
int add = 13;
printf("加算: %d\n", add);
これは、"加算: 13"と画面に表示され、その後改行されます。
変数と演算子については、
Arduino編の 変数と演算子を使ってみる
でもう少し詳しく解説しています。
・実行してみます。
上段メニュー"デバッグ(D)"のサブメニューより、
"デバッグなしで開始(H)"を選択します。
・実行結果は、デバッグコンソール画面が開き表示されます。
デバッグコンソール画面では、
1つ目の値を入力し、「Enter」
2つ目の値を入力し、「Enter」
で、四則演算結果が表示されます。
※この実行では、1つ目の値に10「Enter」,
2つ目の値に3「Enter」と入力した例です。
※この画面は、何かのキーを打鍵することで閉じることができます。
・プログラムの記述にミス(構文エラー)があれば、
デバッグコンソール画面は表示されず、
プログラム記述画面の下段に
エラー一覧としてその内容が表示されます。
慎重に再確認してみましょう。
この例は、11行の記述が、
int atai1, atai2
となっており
int atai1, atai2;
で、文末の ";"の打ち忘れでの構文エラー例です。
・演算結果が、間違っている場合は、
構文的には記述には問題ないのですが、
論理的に間違っている論理エラーです。
流れを追ってよく考えてみましょう。
この例は、実行結果の減算結果が、13になっています。
22行記述が、
sub = atai1 + atai2; // 減算
となっており、
sub = atai1 - atai2; // 減算
演算子の記述間違いでの論理エラー例です。