Contrôle saisie C
Fermé
magalie
-
15 déc. 2007 à 10:44
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 - 15 déc. 2007 à 13:51
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 - 15 déc. 2007 à 13:51
A voir également:
- Contrôle saisie C
- 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
2 réponses
Qwerti
Messages postés
166
Date d'inscription
dimanche 2 septembre 2007
Statut
Membre
Dernière intervention
28 octobre 2008
85
15 déc. 2007 à 12:32
15 déc. 2007 à 12:32
Salut Magalie,
C'est quoi la variable limite ??? :-/ A quoi sert la variable max ??? :-/ A mon avis il faudra remplacer limite par max (mais je ne suis pas encore bien reveille alors je peux me tromper, hein ?).
Tu peux faire une boucle dans le genre :
int i=0;
while ( (i <=0) || (i>7) ) {
printf("la %d eme composante du vecteur : \n",i+1);
scanf("%d",&va[i]);
if( (i <=0) || (i>7) ) { printf("Erreur : Merci de rentrer un chiffre entre 1 et 7.\n") ; }
}
Commentaires :
* commence la boucle qui teste si 0 <= i < 7 avant de demander la saisie ;
* Rajoute un petit message d'erreur si la saisie est mauvaise (c'est toujours plus agreable pour l'utilisateur et ca ne rajoute qu'une seule ligne...)
* Peut-etre la mot "composante" est plus approprié que "nombre" (on parle de composantes d'un vecteur... ou certains disent "coordonnées" d'un vecteur, mais c'est une erreur).
C'est tout ce que je peux faire pour le moment !
a+
-Qwerti.
C'est quoi la variable limite ??? :-/ A quoi sert la variable max ??? :-/ A mon avis il faudra remplacer limite par max (mais je ne suis pas encore bien reveille alors je peux me tromper, hein ?).
Tu peux faire une boucle dans le genre :
int i=0;
while ( (i <=0) || (i>7) ) {
printf("la %d eme composante du vecteur : \n",i+1);
scanf("%d",&va[i]);
if( (i <=0) || (i>7) ) { printf("Erreur : Merci de rentrer un chiffre entre 1 et 7.\n") ; }
}
Commentaires :
* commence la boucle qui teste si 0 <= i < 7 avant de demander la saisie ;
* Rajoute un petit message d'erreur si la saisie est mauvaise (c'est toujours plus agreable pour l'utilisateur et ca ne rajoute qu'une seule ligne...)
* Peut-etre la mot "composante" est plus approprié que "nombre" (on parle de composantes d'un vecteur... ou certains disent "coordonnées" d'un vecteur, mais c'est une erreur).
C'est tout ce que je peux faire pour le moment !
a+
-Qwerti.
mype
Messages postés
2435
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
16 août 2010
436
15 déc. 2007 à 13:51
15 déc. 2007 à 13:51
comme te l'a dit qwerty soit du declare limite a 4 ou alors tu le remplace par max
ensuite ta boucle do..while doit etre a l'interieur du for
et pour finir ds ton while c'est pas i qu'il faut comparer mais va[i]
voici ce que ça donne:
ensuite ta boucle do..while doit etre a l'interieur du for
et pour finir ds ton while c'est pas i qu'il faut comparer mais va[i]
voici ce que ça donne:
void demande_nbr (int va[4]) { int i; int max =4; for ( i=0;i<max;i++) { do { printf("le %d e nombre du vecteur : \n",i+1); scanf("%d",&va[i]); } while ((va[i]<=0) || (va[i]>7)) ; } }