第4講 if文の学習
第4話 if...else...文の入れ子式による4段階ないし5段階評価
4段階解答例その1
#pragma endregion
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
int a,b,c,d,f,w;
//textBoxから5教科の値を取得
a=int::Parse(textBox1->Text);
b=int::Parse(textBox2->Text);
c=int::Parse(textBox3->Text);
d=int::Parse(textBox4->Text);
f=int::Parse(textBox5->Text); //eはすでに、System::EventArgs^ eと宣言されていて使えないのでfとなっている
//5教科合計を計算
w=a+b+c+d+f;
//5教科合計を表示
textBox6->Text=w.ToString();
//合否判定
if(w>=300)textBox7->Text=L"合格";
if(w<300) textBox7->Text=L"不合格";
//講評
if(w>=450){
textBox8->Text=L"超天才級";
}
else{
if(w>=380){
textBox8->Text=L"天才級。";
}
else{
if(w>=300){
textBox8->Text=L"優秀";
}
else{
textBox8->Text=L"がんばりましょう";
}
}
}
}
};
}
[解説]
if(w>=450){
textBox8->Text=L"超天才級";
}
else{
if(w>=380){
textBox8->Text=L"天才級。";
}
else{
if(w>=300){
textBox8->Text=L"優秀";
}
else{
textBox8->Text=L"がんばりましょう";
}
}
}
今回もif...else...文について解説しておきましょう。
最初の
if(w>=450){
textBox8->Text=L"超天才級";
}
によって、450以上の場合にtextBox8に『超天才級』と表示されます。
次のelse文
else{
if(w>=380){
textBox8->Text=L"天才級。";
}
else{
if(w>=300){
textBox8->Text=L"優秀";
}
else{
textBox8->Text=L"がんばりましょう";
}
}
}
は450以上の否定で、450未満が対象になります。
すると、
if(w>=380){
textBox8->Text=L"天才級。";
}
は、450未満で380以上が対象になります。
そして、次のelse文
else{
if(w>=300){
textBox8->Text=L"優秀";
}
else{
textBox8->Text=L"がんばりましょう";
}
}
では、380以上の否定=380未満が対象になります。
ですから、
if(w>=300){
textBox8->Text=L"優秀";
}
は380未満で300以上が対象になります。
最後のelse文
else{
textBox8->Text=L"がんばりましょう";
}
は300以上の否定で300未満が対象になります。
4段階解答例その2(if文のみによる)
#pragma endregion
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
int a,b,c,d,f,w;
//textBoxから5教科の値を取得
a=int::Parse(textBox1->Text);
b=int::Parse(textBox2->Text);
c=int::Parse(textBox3->Text);
d=int::Parse(textBox4->Text);
f=int::Parse(textBox5->Text); //eはすでに、System::EventArgs^ eと宣言されていて使えないのでfとなっている
//5教科合計を計算
w=a+b+c+d+f;
//5教科合計を表示
textBox6->Text=w.ToString();
//合否判定
if(w>=300)textBox7->Text=L"合格";
if(w<300) textBox7->Text=L"不合格";
//講評
if(w>=450)textBox8->Text=L"超天才級";
if(w<450 && w>=380)textBox8->Text=L"天才級";
if(w<380 && w>=300)textBox8->Text=L"優秀";
if(w<300)textBox8->Text=L"がんばりましょう";
}
};
}
vc++講義第1部へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
数学研究室に戻る