第5講 もしもボックス(if文)
第7話 if~else文を入れ子式に使い5段階評価を行う


前話問題

入門

解答例
#include<iostream>
#include<stdlib.h>
#include<ctime>
using namespace std;
int main(){
  short a,i;
  srand(static_cast<unsigned int>(time(0)));
  for(i=1;i<11;i++){
    a=rand()%100;
    cout<<"発生データ "<<a<<endl;
    if(a>=60){
      cout<<"合格"<<endl;
    }
    else{
      cout<<"不合格"<<endl;
    }
    if(a>=70){
      cout<<"優良"<<endl;
    }
    else{
      if(a>=50){
        cout<<"普通"<<endl;
      }
      else{
        cout<<"不良"<<endl;
      }
    }
    if(a>=75){
      cout<<"大変優秀"<<endl;
    }
    else{
      if(a>=65){
        cout<<"優秀"<<endl;
      }
      else{
        if(a>=45){
          cout<<"平凡"<<endl;
        }
        else{
          cout<<"努力が必要"<<endl;
        }
      }
    }
    if(a>=80){
      cout<<"天才級"<<endl;
    }
    else{
      if(a>=68){
        cout<<"秀才級"<<endl;
      }
      else{
        if(a>=48){
          cout<<"のび太級"<<endl;
        }
        else{
          if(a>=30){
            cout<<"ベム・ベラ・ベロ級"<<endl;
          }
          else{
            cout<<"はやく人間になりたい級以下"<<endl;
          }
        }
      }
    }
  }
}

if~else文を入れ子式に使えば何段階評価でもできることがわかります。
ですが、
    if(a>=80){
      cout<<"天才休"<<endl;
    }
    else{
      if(a>=68){
        cout<<"秀才級"<<endl;
      }
      else{
        if(a>=48){
          cout<<"のび太級"<<endl;
        }
        else{
          if(a>=30){
            cout<<"ベム・ベラ・ベロ級"<<endl;
          }
          else{
            cout<<"はやく人間になりたい級以下"<<endl;
          }
        }
      }
    }
はわかりやすいとはいえません。
if~else文はプログラムを分かりにくくするので、
使わない方がよいという人もいます。
実は、if~else文を使わなず、if文だけでも3つ以上の場合分けは可能です。

例えば、
70以上なら『進級』
70未満50以上なら『再試験』
50未満なら『留年』
の3つの場合分けは、
if(a>=70){
  cout<<"進級"<<endl;
}
if(a>=50
&& a<70){
  cout<<"再試験"<<endl;
}
if(a<50){
  cout<<"留年"<<endl;
}
とできます。
&& は『かつ』を意味します。
a>=50 && a<70
は50以上かつ70未満で、条件『70未満50以上』と同一になります。
因みに『または』は
|| です。
では、皆さんif文のみでプログラムを書き換えてみましょう。




第6話へ 第8話へ

a

初心者のためのjava 入門 基礎から応用まで
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第2部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第3部
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
VC++入門
VBA入門
専門用語なしのVBA入門
VB入門
初心者のためのEclipseによるJava入門