Controle de saisie
Fermé
bobys
-
15 janv. 2013 à 11:23
mamiemando Messages postés 33407 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 novembre 2024 - 16 janv. 2013 à 20:28
mamiemando Messages postés 33407 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 novembre 2024 - 16 janv. 2013 à 20:28
A voir également:
- Controle de saisie
- Controle parental pc - Guide
- Saisie gestuelle iphone - Guide
- Saisie vocale sms - Guide
- Gboard saisie vocale - Accueil - Applications & Logiciels
- Saisie vocale whatsapp - Accueil - Messagerie instantanée
1 réponse
mamiemando
Messages postés
33407
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
29 novembre 2024
7 806
16 janv. 2013 à 20:28
16 janv. 2013 à 20:28
Pour commencer quelques remarques :
- évite d'utiliser "system", ça rend ton programme de système (par exemple windows)
- return main(); va engendrer une boucle infinie (une fois que ton main se termine, tu rappelles main). Normalement tu es sensé simplement retourner 0 si ton programme se termine correctement. Si tu veux que l'utilisateur appuie sur une touche avant de quitter le programme, tu peux par exemple précéder ce "return" par l'instruction "getchar()" (inclue <cstdio>).
- les tests dans tes if me paraissent extrêmement louches qu'as tu voulu écrire ?
Par exemple en C++, tester si x est dans [10, 20[ s'écrit :
Revenons au problème initial. Pour contrôler qu'une valeur vaut ce que tu veux, tu peux par exemple faire un "do while" qui se répète tant que la valeur ne respecte pas une certaine condition.
Exemple : Supposons que je m'intéresse à la même condition (x est dans [10, 20[). La boucle doit se répéter tant que x est < 10 ou >= 20.
... ce qui donnera à l'exécution si on saisit successivement les valeurs 30, 1, 5, 15 :
Bonne chance
- évite d'utiliser "system", ça rend ton programme de système (par exemple windows)
- return main(); va engendrer une boucle infinie (une fois que ton main se termine, tu rappelles main). Normalement tu es sensé simplement retourner 0 si ton programme se termine correctement. Si tu veux que l'utilisateur appuie sur une touche avant de quitter le programme, tu peux par exemple précéder ce "return" par l'instruction "getchar()" (inclue <cstdio>).
- les tests dans tes if me paraissent extrêmement louches qu'as tu voulu écrire ?
Par exemple en C++, tester si x est dans [10, 20[ s'écrit :
if (x >= 10 && x < 20) { }
Revenons au problème initial. Pour contrôler qu'une valeur vaut ce que tu veux, tu peux par exemple faire un "do while" qui se répète tant que la valeur ne respecte pas une certaine condition.
Exemple : Supposons que je m'intéresse à la même condition (x est dans [10, 20[). La boucle doit se répéter tant que x est < 10 ou >= 20.
#include <iostream> int main() { int x; do { std::cout << "x =? "; std::cin >> x; } while (x < 10 || x >= 20); std::cout << "x = " << x << std::endl; return 0; }
... ce qui donnera à l'exécution si on saisit successivement les valeurs 30, 1, 5, 15 :
x =? 30 x =? 1 x =? 5 x =? 15 x = 15
Bonne chance