有効な列挙型のデータ型をユーザーから取得します。私はこのようにしてみました。 FPC Compilerは、 '<>'の関係演算子を使用してバイナリデータ型のみを比較すると述べています。親切にも 'Cham_Cham'の状態を '_'の代わりにSpaceを使用することができます有効な列挙型のデータ型入力をループ経由で受け取ります
私はOOPには行かないでしょう。これが唯一の方法なら、私は行くでしょう。 (私の意見では、それはOOPの道なしで行うことができる。のtry-catchを使用しないように。)
program Enum
type Food = (Pizza, Biryani, Halwa, Cham_Cham)
var Choice: Food;
begin
WriteLn('Pizza, Biryani, Halwa, Cham_cham');
repeat
WriteLn('Which Food Do you want to eat?');
Read(Choice);
Until Choice <> Food
WriteLn('You can eat: ' + Choice);
end.
入力は、フード名の範囲、すなわちPizza..Cham_Chamから入力する必要があります。ユーザーがこれを外に入力すると、エラーがポップされ、ユーザーに再度入力を促す必要があります。 – user3051677
ユーザは、0〜3の範囲の整数を入力すると考えられます。あれは正しいですか? –
ユーザーは数字以外の文字列を入力します。 >ピザ、ビリャニ、ハルワ、チャムカム >どの料理を食べますか? > Biryani 私の回答を見てください。しかし、1つの問題は、ユーザーが "Pizza Biryani"のような複数の値をスペースで区切って入力すると間違ってしまうかのように残ります... – user3051677