J'essaie donc de m'assurer qu'un utilisateur saisit une variable dans un ensemble spécifique de conditions pour l'utiliser dans un calcul ultérieur. A savoir, ils ne peuvent pas dépasser vmax, ne pas être inférieur à zéro et ne pas être une chaîne.do while condition issue
Voici ce que j'ai.
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());
valeurs théoriquement valides renvoient une réponse valide, et une valeur supérieure à Vmax renvoie une réponse non valide et demande à l'utilisateur d'entrer à nouveau. Mais un négatif ou une chaîne ne renvoie rien.
Des idées sur comment je peux faire fonctionner ça?
Juste un avis. Construire 'if (vkmh <= vmax) {X} sinon si (vkmh <0) {Y}' n'exécutera jamais la branche 'Y' quand' vmax> = 0'. – Marian
Alors, comment pourrais-je décrire des opérations séparées pour ces conditions? –
Avez-vous entendu parler du concept de faire une chose à la fois? –