第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文を使いもっとすっきりしたものに変更してください。
VB講義へ
VB講義基礎へ
vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)