第5講 if文を理解しよう
第10話 if文のみによる6段階評価
6段階評価解答例
int main(){
   int a,i;
   srand(static_cast<unsigned int>(time(0)));
   for(i=1;i<41;i++){
     a=rand()%100;
     cout<<a;
     if(a>=80){
       cout<<":天才級"<<endl;
     }
     if(a<80 && a>=70){
       cout<<":秀才級"<<endl;
     }
     if(a<70 && a>=60){
       cout<<":優秀"<<endl;
     }
     if(a<60 && a>=50){
       cout<<":普通"<<endl;
     }
     if(a<50 && a>=30){
       cout<<":成績やや不良"<<endl;
     }
     if(a<30){
       if(a<10)cout<<" ";
       cout<<":成績不良"<<endl;
     }
   }
}

if~else文の入れ子式のプログラムコード
int main(){
   int a,i;
   srand(static_cast<unsigned int>(time(0)));
   for(i=1;i<41;i++){
     a=rand()%100;
     cout<<a;
     if(a>=80){
       cout<<":天才級"<<endl;
     }
     else{
       if(a>=70){
         cout<<":秀才級"<<endl;
       }
       else{
         if(a>=60){
           cout<<":優秀"<<endl;
         }
         else{
           if(a>=50){
             cout<<":普通"<<endl;
           }
           else{
             if(a>=40){
               cout<<":成績やや不良"<<endl;
             }
             else{
               if(a<10)cout<<" ";
               cout<<":成績不良"<<endl;
             }
           }
         }
       }
     }
   }
}
と比べると、ずっとシンプルでわかりやすくなっています。
わかりやすさだと、確かにif文に軍配が上がってしまいますが、
しかし、入れ子式構造はプログラムにおいてはしばしば使うもので、
後で学ぶ関数の再帰的使用はまさにその典型例です。
入れ子式構造によって、プログラムの世界が飛躍的に広くなります。
入れ子式の構造の理解には、if~else文にもよい点があることになります。
for文のときに作った
入門
の解答例

void f1(){
   int i,j,w;
   cout<<" 行の和"<<endl;
   for(i=0;i<1;i++){
     w=0;
     for(j=1;j<11;j++){
     w=w+10*i+j;
     cout<<10*i+j<<" ";
   }
   cout<<" "<<w<<endl;;
   }
   for(i=1;i<2;i++){
     w=0;
     for(j=1;j<11;j++){
       w=w+11*i+j;
       cout<<10*i+j<<" ";
     }
     cout<<" "<<w<<endl;;
   }
   for(i=2;i<9;i++){
     w=0;
     for(j=1;j<11;j++){
       w=w+10*i+j;
       cout<<10*i+j<<" ";
     }
     cout<<" "<<w<<endl;
   }
   w=0;
   for(j=1;j<11;j++){
     w=w+10*i+j;
     cout<<10*i+j<<" ";
   }
   cout<<" "<<w<<endl;
   for(i=1;i<11;i++){
     w=0;
     for(j=0;j<11;j++){
       w=w+10*j+i;
     }
     cout<<w;
     cout<<" ";
   }
   cout<<"←列の和"<<endl;
}
if文を使いもっとすっきりしたものに変更してください。

第9話へ 第11話へ


戻る


VB講義へ
VB講義基礎へ

vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)