C - Fonction isint?
Résolu/Fermé
artagon7
Messages postés
417
Date d'inscription
dimanche 6 novembre 2005
Statut
Membre
Dernière intervention
12 novembre 2024
-
25 nov. 2007 à 23:13
artagon7 Messages postés 417 Date d'inscription dimanche 6 novembre 2005 Statut Membre Dernière intervention 12 novembre 2024 - 26 nov. 2007 à 01:05
artagon7 Messages postés 417 Date d'inscription dimanche 6 novembre 2005 Statut Membre Dernière intervention 12 novembre 2024 - 26 nov. 2007 à 01:05
5 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
26 nov. 2007 à 00:44
26 nov. 2007 à 00:44
essaie
#include<stdio.h> int main () { int choix, fini; fini = 0; choix = 0; while (fini == 0){ printf ("Entre un entier : "); if (scanf ("%d", &choix)) { printf ("\n\n\n\t\t\t\t C'est bon."); fini = 1; }else { getchar (); printf ("\n\n\n\t\t\t\t Ce n'est pas bon. Recommencez."); } } return 0; }
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
25 nov. 2007 à 23:18
25 nov. 2007 à 23:18
Salut
Ce que tu peux faire :
Cdt
Ce que tu peux faire :
int choix; if(scanf("%d",&choix)){ printf("\n\n\n\t\t\t\t C'est bon."); }
Cdt
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
25 nov. 2007 à 23:19
25 nov. 2007 à 23:19
Salut,
tu peux faire comme ça
tu peux faire comme ça
#include<stdio.h> int main() { int choix; printf("Entre un entier : "); if (scanf("%d", &choix)) printf("\n\n\n\t\t\t\t C'est bon."); return 0; }
artagon7
Messages postés
417
Date d'inscription
dimanche 6 novembre 2005
Statut
Membre
Dernière intervention
12 novembre 2024
7
26 nov. 2007 à 00:24
26 nov. 2007 à 00:24
Salut fiddy et le Perlien ;-)
J'ai essaye votre script et ma console ne capote plus.
J'ai modifie cependant votre script car je dois absolument signaler l'erreur a l'utilisateur mais ca ne fonctionne pas. La console se remet a capoter si j'entre un caractere, sinon c'est OK.
Script modifie
#include<stdio.h>
int main()
{
int choix, fini;
fini=0;
while(fini==0)
{
choix = 0;
printf("Entre un entier : ");
if (scanf("%d", &choix))
{ printf("\n\n\n\t\t\t\t C'est bon.");
fini=1;
}
else
{
printf("\n\n\n\t\t\t\t Ce n'est pas bon. Recommencez.");
}
}
return 0;
}
Elle inscrit sans cesse :
Ce n'est pas bon. Recommencez.Entre un entier :
Ce n'est pas bon. Recommencez.Entre un entier :
Ce n'est pas bon. Recommencez.Entre un entier :
....
On dirait que le programme garde en memoire que choix = "caractere" malgre le fait que je reinitialise la variable choix au debut du while.
Ou est le probleme?
Merci
J'ai essaye votre script et ma console ne capote plus.
J'ai modifie cependant votre script car je dois absolument signaler l'erreur a l'utilisateur mais ca ne fonctionne pas. La console se remet a capoter si j'entre un caractere, sinon c'est OK.
Script modifie
#include<stdio.h>
int main()
{
int choix, fini;
fini=0;
while(fini==0)
{
choix = 0;
printf("Entre un entier : ");
if (scanf("%d", &choix))
{ printf("\n\n\n\t\t\t\t C'est bon.");
fini=1;
}
else
{
printf("\n\n\n\t\t\t\t Ce n'est pas bon. Recommencez.");
}
}
return 0;
}
Elle inscrit sans cesse :
Ce n'est pas bon. Recommencez.Entre un entier :
Ce n'est pas bon. Recommencez.Entre un entier :
Ce n'est pas bon. Recommencez.Entre un entier :
....
On dirait que le programme garde en memoire que choix = "caractere" malgre le fait que je reinitialise la variable choix au debut du while.
Ou est le probleme?
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
artagon7
Messages postés
417
Date d'inscription
dimanche 6 novembre 2005
Statut
Membre
Dernière intervention
12 novembre 2024
7
26 nov. 2007 à 01:05
26 nov. 2007 à 01:05
Lami20j, ca marche ton truc.
Je me rappelle avoir deja essaye le getchar() comme tampon dans le passe.
Ouais, je suis pas mal rouille...
Merci a vous deux.
Je me rappelle avoir deja essaye le getchar() comme tampon dans le passe.
Ouais, je suis pas mal rouille...
Merci a vous deux.