マルチスレッド版数独自動生成ソフトC++コードを題材とする超初心者のためのVisual Studio C++講義
第4章 if文(もしもボックス))

第6話 出席番号1桁~3桁と得点2桁または3桁に対応する



72 91  合格
73 34 不合格
74 49 不合格
75 93  合格
76 83  合格
77 21 不合格
78 5 不合格
79 20 不合格
80 56  合格
81 27 不合格
82 96  合格
83 58  合格
84 58  合格
85 3 不合格
86 65  合格
87 83  合格
88 29 不合格
89 87  合格
90 63  合格
91 80  合格
92 53  合格
93 75  合格
94 41 不合格
95 97  合格
96 33 不合格
97 3 不合格
98 71  合格
99 76  合格
100 44 不合格

と実現するコード例
#include<iostream>//インクルードファイルiostreamの読み込み

#include<conio.h>//while(!_kbhit());を使うためのお呪い

#include<string> //文字列変数を使えるようにするために組み込む

#include <iomanip> //setprecisionを使えるように組み込む

#include <cmath>//powなどを使うときに必要

#include <ctime>//time()(←現時刻発生する関数)を使うために必要

using namespace std;//coutを使うときに必要なお呪い

void ランダムデータの生成と判定();//0以上100以下の整数データを生成して合否判定をする。

int main() {//私は社長だ。

  ランダムデータの生成と判定();

  while (!_kbhit());//待機させるための命令

  return(0);//int main()終わるためのお呪い

}

void ランダムデータの生成と判定() {
//0以上100以下の整数データを生成して合否判定をする。

  srand((unsigned)time(NULL));//シード値を現在時刻から取得

  cout << "出席番号 得点 合否判定" << endl;

  for (int i = 0; i < 100; i++) {

    int 得点 = rand() % 100;//0以上100未満の整数データを生成する。

    cout << " ";

    
if (i + 1 == 100) {

      cout << i + 1;

    }

    if (i + 1 < 100 && i + 1 >= 10) {

      cout << " " << i + 1;

    }

    if (i + 1 < 10) {

      cout << " " << i + 1;

    }

    if (得点 < 10) cout << " ";


    cout << " " << 得点;

    if (得点 >= 50) {

      cout << "  合格" << endl;

    }
    else {

      cout << " 不合格" << endl;

    }

  }

}

では次話への課題です。

    int 得点 = rand() % 100;//0以上100未満の整数データを生成する。

    int 得点 = rand() % 101;//0以上100以下に戻しの整数データを生成する。


得点の1桁から3桁に対応してください。


出席番号 得点 合否判定
1 70  合格
2 80  合格
3 80  合格
4 0 不合格
5 49 不合格
6 100  合格
7 38 不合格
8 67  合格
9 45 不合格
10 70  合格
11 34 不合格
12 72  合格
13 30 不合格
14 26 不合格
15 96  合格
16 36 不合格
17 28 不合格
18 51  合格
19 99  合格
20 92  合格
21 29 不合格
22 39 不合格
23 12 不合格
24 2 不合格
25 22 不合格
26 70  合格
27 70  合格
28 10 不合格
29 70  合格

100通りにしても100点はなかなか現れないので、

×で閉じてF5を押すということを繰り返してください。





第4章第5話へ 第4章第7話へ

本講義トップへ