私は、ユーザーが特定の条件の変数を後の計算で使用するために入力するようにしようとしています。つまり、vmaxを超えることはできません。ゼロより小さくなく、文字列ではありません。do while条件発行
これは私が持っているものです。
do
{
scanf("%f", &vkmh);
if (vkmh <= vmax)
{
}
else if (vkmh < 0)
{
printf("Error, speed must be positive.\n");
}
else if (vkmh > vmax)
{
printf("Error, the max speed of this vehicle is listed as %.fkm/h.\nIt cannot exceed that value. Please enter a value under %.f.\n", vmax, vmax);
}
else if (vkm != getchar())
{
printf("Error in input. Please only use numbers\n");
}
}
while(vkmh > vmax || vkmh < 0 || vkm != getchar());
理論的に有効な値は有効な応答を返し、vmaxを超える値は無効な応答を返し、ユーザーに再入力を要求します。しかし、負または文字列は何も返しません。
どのように私はこれを動作させることができますか?
ジャスト予告:答えはこの回答のそれに非常に似ていることに注意してください。 'vmax> = 0'のとき' if(vkmh <= vmax){X} else if(vkmh <0){Y} 'はブランチ' Y'を実行しません。 – Marian
どうすればこれらの条件に対して別々の操作を行うことができますか? –
あなたは一度に一つのことをするという概念について聞いたことがありますか? –