しかし、このプログラムでは、上の欄が空欄だと下の欄には相変わらず「さん」だけが表示されます。上の欄が空欄なら下の欄には何も表示しないようにしたいですね。つまり、上の欄が空欄でない場合だけ"さん"づけを行うようにしましょう。
プログラムを次のように書き換えてください。(実際に書きかえる部分は下線部だけです。)
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (EditFrom->Text == "") {
EditWarning->Text = "ちゃんと入力して!";
} else {
EditTo->Text = EditFrom->Text + "さん";
}
}
if 文の最後の閉じ中括弧の後に「else」と続いている点がこれまでと違いますね。if 文の条件が満たされなかった場合、else 文が実行されます。
つまり、このプログラムでは、上の欄が空欄である場合は"さん"づけされません。
課題:上の欄に「佐藤」と入力されたら下の欄に「佐藤様」と表示し、それ以外の人が入力されたらこれまでと同様に「○○さん」と表示するプログラムを作りなさい。