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; // 減算
 演算子の記述間違いでの論理エラー例です。