マルチスレッド版数独自動生成ソフトC++コードを題材とする超初心者のためのVisual Studio C++講義
第2章 変数って何?

第12話 文字型変数を使っていろいろな人の性格を語ろう!

第11話課題
-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・
実行結果

というように表示結果を変えてください。
-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・
を実現するコード例(コードはコピペできるように常に全体を記載しています)

#include<iostream>//インクルードファイルiostreamの読み込み

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

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

#include <iomanip> // fixed, setprecision を使うために必要

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

void 挨拶社員();//ぼくは挨拶を行う係です。

void 整数を扱う社員();//ぼくは整数型変数を定義してその変数に整数値を代入する係です。

int 合計計算社員();//ぼくの任務は「1 + 2 + ・・・ + 10」の合計を計算して社長に報告することです。

int 積計算社員();//ぼくの任務は「1 × 2 × ・・・ × 10」の積を計算して社長に報告することです。

void 実数を扱う社員();//ぼくは実数型変数を定義してその変数に実数を代入し、代入された値をコンソール画面に表示する係です。

float 単精度型実数の合計を計算する社員();//ぼくは3つの実数を足して社長に報告する係です。

double 倍精度型実数の合計を計算する社員();//ぼくは4つの倍精度型実数を足して社長に報告する係です。

int main() {//私は社長だ。 挨拶社員();//ぼくは挨拶を行う係です。 整数を扱う社員();//ぼくは整数型変数を定義してその変数に整数値を代入する係です。

  cout << "1 + 2 + ・・・ + 10 = " << 合計計算社員() << endl;
  //合計計算社員() の報告を基とに 1 + 2 + ・・・ + 10 の計算結果をコンソール画面に表示

  cout << "1 × 2 × ・・・ × 10 = " << 積計算社員() << endl;
  //積計算社員() の報告を基とに 1 × 2 × ・・・ × 10 の計算結果をコンソール画面に表示

  cout << 積計算社員() << endl; //積計算社員() の結果をもう一度表示

  実数を扱う社員(); //実数型変数に値を入れて表示する社員

  cout
<< "1.2345 + 9.8765 + 3.6789 = "<< 単精度型実数の合計を計算する社員() << endl;
  //単精度型実数の合計を計算する社員() は実数の合計を計算して社長に報告することを任務とする社員です。

  cout
<< "1.23456789 + 9.87654321 + 2.57913579 + 8.64208642 = " << fixed << setprecision(10) << 倍精度型実数の合計を計算する社員() << endl;
  //倍精度型実数の合計を計算する社員() は実数の合計を計算して社長に報告することを任務とする社員です。

  

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

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

}

void 挨拶社員() {//ぼくは挨拶をする係です。

  cout << "こんにちは" << endl;//コンソール画面に表示

}

void 整数を扱う社員() {//ぼくは整数を扱う社員です。

  int 整数a;//整数aを整数型の変数であると定義します。

  int 整数b;//整数bを整数型の変数であると定義します。

  整数a = 10;//整数aという箱に10を入れます。

  整数b = 20;//整数bという箱に20を入れます。

  cout << 整数a << " + " << 整数b << " = " << 整数a + 整数b << endl;//コンソール画面に整数aの内容を表示

}

int 合計計算社員() {//ぼくの任務は「1 + 2 + ・・・ + 10」の合計を計算して社長に報告することです。

  int 合計; 合計 = 0;//和の合計は0から出発

  合計 = 合計 + 1;//0に1を加える

  合計 = 合計 + 2;//1に2を加える

  合計 = 合計 + 3;//3に3を加える

  合計 = 合計 + 4;//6に4を加える

  合計 = 合計 + 5;//10に5を加える

  合計 = 合計 + 6;//15に6を加える

  合計 = 合計 + 7;//21に7を加える

  合計 = 合計 + 8;//28に8を加える

   合計 = 合計 + 9;//36に9を加える

   合計 = 合計 + 10;//45に10を加える

   return(合計);//合計値を社長に報告

}

int 積計算社員() {//ぼくの任務は「1 × 2 × ・・・ × 10」の積を計算して社長に報告することです。
   //暗算の苦手な方は電卓を手元に置いて計算させながら以下をお読みください。

  int 積;

  積 = 1;//積の計算は1から出発

  積 = 積 * 2;//1に2をかける    →   2

  積 = 積 * 3;//2に3をかける    →   6

  積 = 積 * 4;//6に4をかける    →  24

  積 = 積 * 5;//24に5をかける   →  120

  積 = 積 * 6;//120に6をかける  →  720

  積 = 積 * 7;//720に7をかける  → 5040

  積 = 積 * 8;//5040に8をかける  → 40320

  積 = 積 * 9;//40320に9をかける → 362880

  積 = 積 * 10;//362880に10をかける → 3628800

  return(積);//積の値を社長に報告

}

void 実数を扱う社員() {//ぼくは実数型変数を定義してその変数に実数を代入し、代入された値をコンソール画面に表示する係です。

  float 実数型変数;//実数型変数の定義
  
  実数型変数 = 3.14159;//実数型変数に3.14159を代入=実数型変数という箱に3.14159を入れる

   cout << 実数型変数 << endl;//実数型変数という箱に入っている3.14159をコンソール画面に表示

}

float 単精度型実数の合計を計算する社員(){//ぼくは3つの実数を足して社長に報告する係です。

  float 単精度型実数の合計変数;

  単精度型実数の合計変数 = 0;//足し算は0から出発

  単精度型実数の合計変数 = 単精度型実数の合計変数 + 1.2345;//0に1.2345を加える

  単精度型実数の合計変数 = 単精度型実数の合計変数 + 9.8765;//1.2345に9.8765を加える

  単精度型実数の合計変数 = 単精度型実数の合計変数 + 3.6789;//1.2345と9.8765の合計値に3.6789を加える

  return(単精度型実数の合計変数);//社長に3つの単精度型実数の合計を報告

}

double 倍精度型実数の合計を計算する社員() {//ぼくは4つの倍精度型実数を足して社長に報告する係です。

  //暗算が苦手な方は、電卓を手にして以下のコードを読んでください。

  double 倍精度型変数;//倍精度型変数を定義しています。

  倍精度型変数 = 0;//足し算は0から始まります。

  倍精度型変数 = 倍精度型変数 + 1.23456789;
  //0に1.23456789を加えます。              → 1.23456789

  倍精度型変数 = 倍精度型変数 + 9.87654321 ;
  //1.23456789に9.87654321を加えます。       → 11.1111111   

  倍精度型変数 = 倍精度型変数 + 2.57913579;
  //合計値11.1111111に2.57913579を加えます。   → 13.69024689

  倍精度型変数 = 倍精度型変数 + 8.64208642;
  //合計値13.69024689に8.64208642を加えます。   → 22.33233331

  return(倍精度型変数);//社長に4つの倍精度型実数の合計を報告

}

さて、それではこのコードに文字型変数を使う社員を採用して、

文字をコンソール画面に表示させてみましょう。

ここからは、文字型変数を扱う社員を追加した完成版コードです。

#include<iostream>//インクルードファイルiostreamの読み込み

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

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

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

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

#include <iomanip> // fixed, setprecision を使うために必要

void 挨拶社員();//ぼくは挨拶を行う係です。

void 整数を扱う社員();//ぼくは整数型変数を定義してその変数に整数値を代入する係です。

int 合計計算社員();//ぼくの任務は「1 + 2 + ・・・ + 10」の合計を計算して社長に報告することです。

int 積計算社員();//ぼくの任務は「1 × 2 × ・・・ × 10」の積を計算して社長に報告することです。

void 実数を扱う社員();//ぼくは実数型変数を定義してその変数に実数を代入し、代入された値をコンソール画面に表示する係です。

float 単精度型実数の合計を計算する社員();//ぼくは3つの実数を足して社長に報告する係です。

double 倍精度型実数の合計を計算する社員();//ぼくは4つの倍精度型実数を足して社長に報告する係です。

void 文字型変数を扱う社員();//ぼくは文字型変数を定義して、様々な人の性格をコンソール画面に表示することを任務とする社員です。

int main() {//私は社長だ。 挨拶社員();//ぼくは挨拶を行う係です。 整数を扱う社員();//ぼくは整数型変数を定義してその変数に整数値を代入する係です。

  cout << "1 + 2 + ・・・ + 10 = " << 合計計算社員() << endl;
  //合計計算社員() の報告を基とに 1 + 2 + ・・・ + 10 の計算結果をコンソール画面に表示

  cout << "1 × 2 × ・・・ × 10 = " << 積計算社員() << endl;
  //積計算社員() の報告を基とに 1 × 2 × ・・・ × 10 の計算結果をコンソール画面に表示

  cout << 積計算社員() << endl; //積計算社員() の結果をもう一度表示

  実数を扱う社員(); //実数型変数に値を入れて表示する社員

  cout << "1.2345 + 9.8765 + 3.6789 = "<< 単精度型実数の合計を計算する社員() << endl;
  //単精度型実数の合計を計算する社員() は実数の合計を計算して社長に報告することを任務とする社員です。

  cout
<< "1.23456789 + 9.87654321 + 2.57913579 + 8.64208642 = " << fixed << setprecision(10) << 倍精度型実数の合計を計算する社員() << endl;
  //倍精度型実数の合計を計算する社員() は実数の合計を計算して社長に報告することを任務とする社員です。

  // ここから文字型変数の世界に入ります
  
文字型変数を扱う社員();//ぼくは文字型変数を定義して、様々な人の性格をコンソール画面に表示することを任務とする社員です。

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

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

}

void 挨拶社員() {//ぼくは挨拶をする係です。

  cout << "こんにちは" << endl;//コンソール画面に表示

}

void 整数を扱う社員() {//ぼくは整数を扱う社員です。

  int 整数a;//整数aを整数型の変数であると定義します。

  int 整数b;//整数bを整数型の変数であると定義します。

  整数a = 10;//整数aという箱に10を入れます。

  整数b = 20;//整数bという箱に20を入れます。

  cout << 整数a << " + " << 整数b << " = " << 整数a + 整数b << endl;//コンソール画面に整数aの内容を表示

}

int 合計計算社員() {//ぼくの任務は「1 + 2 + ・・・ + 10」の合計を計算して社長に報告することです。

  int 合計; 合計 = 0;//和の合計は0から出発

  合計 = 合計 + 1;//0に1を加える

  合計 = 合計 + 2;//1に2を加える

  合計 = 合計 + 3;//3に3を加える

  合計 = 合計 + 4;//6に4を加える

  合計 = 合計 + 5;//10に5を加える

  合計 = 合計 + 6;//15に6を加える

  合計 = 合計 + 7;//21に7を加える

  合計 = 合計 + 8;//28に8を加える

   合計 = 合計 + 9;//36に9を加える

   合計 = 合計 + 10;//45に10を加える

   return(合計);//合計値を社長に報告

}

int 積計算社員() {//ぼくの任務は「1 × 2 × ・・・ × 10」の積を計算して社長に報告することです。
   //暗算の苦手な方は電卓を手元に置いて計算させながら以下をお読みください。

  int 積;

  積 = 1;//積の計算は1から出発

  積 = 積 * 2;//1に2をかける    →   2

  積 = 積 * 3;//2に3をかける    →   6

  積 = 積 * 4;//6に4をかける    →  24

  積 = 積 * 5;//24に5をかける   →  120

  積 = 積 * 6;//120に6をかける  →  720

  積 = 積 * 7;//720に7をかける  → 5040

  積 = 積 * 8;//5040に8をかける  → 40320

  積 = 積 * 9;//40320に9をかける → 362880

  積 = 積 * 10;//362880に10をかける → 3628800

  return(積);//積の値を社長に報告

}

void 実数を扱う社員() {//ぼくは実数型変数を定義してその変数に実数を代入し、代入された値をコンソール画面に表示する係です。

  float 実数型変数;//実数型変数の定義
  
  実数型変数 = 3.14159;//実数型変数に3.14159を代入=実数型変数という箱に3.14159を入れる

   cout << 実数型変数 << endl;//実数型変数という箱に入っている3.14159をコンソール画面に表示

}

float 単精度型実数の合計を計算する社員(){//ぼくは3つの実数を足して社長に報告する係です。

  float 単精度型実数の合計変数;

  単精度型実数の合計変数 = 0;//足し算は0から出発

  単精度型実数の合計変数 = 単精度型実数の合計変数 + 1.2345;//0に1.2345を加える

  単精度型実数の合計変数 = 単精度型実数の合計変数 + 9.8765;//1.2345に9.8765を加える

  単精度型実数の合計変数 = 単精度型実数の合計変数 + 3.6789;//1.2345と9.8765の合計値に3.6789を加える

  return(単精度型実数の合計変数);//社長に3つの単精度型実数の合計を報告

}

double 倍精度型実数の合計を計算する社員() {//ぼくは4つの倍精度型実数を足して社長に報告する係です。

  //暗算が苦手な方は、電卓を手にして以下のコードを読んでください。

  double 倍精度型変数;//倍精度型変数を定義しています。

  倍精度型変数 = 0;//足し算は0から始まります。

  倍精度型変数 = 倍精度型変数 + 1.23456789;
  //0に1.23456789を加えます。              → 1.23456789

  倍精度型変数 = 倍精度型変数 + 9.87654321 ;
  //1.23456789に9.87654321を加えます。       → 11.1111111   

  倍精度型変数 = 倍精度型変数 + 2.57913579;
  //合計値11.1111111に2.57913579を加えます。   → 13.69024689

  倍精度型変数 = 倍精度型変数 + 8.64208642;
  //合計値13.69024689に8.64208642を加えます。   → 22.33233331

  return(倍精度型変数);//社長に4つの倍精度型実数の合計を報告

}

void 文字型変数を扱う社員(){
  
  //ぼくは文字型変数を定義して、様々な人の性格をコンソール画面に表示することを任務とする社員です。

  string 文字型変数;//文字型変数の定義

  文字型変数 = "私は花子です。";//文字型変数という箱に"私は花子です。"を入れる。

  cout << 文字型変数 << endl;//文字型変数の中身"私は花子です。"をコンソール画面に表示

}


実行画面


-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・
では、第13話課題です。実行画面が

となるようにコードを付け加えてください。
-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・-・


第2章第11話へ 第2章第13話へ

本講義トップへ