3 réponses
de la façon dont tu as tourné le message, j'aurais pensé que tu veuilles que je mette un '||' mais ça ne marche pas et c'est normal
sinon si quelqu'un pouvait me dire quelque chose sur ce bout de code :
printf("Entrez la quantité souhaitée..... : ");
fgets(buff, T, stdin);
conv = atoi(buff);
if (conv == 0)
{
q=1;
}
le but est d'entrée une quantité et si on ne rentre rien alors la quantité se met à 1 d'office
or même si je rentre 20, la quantité se met à 1.
con est toujours égal à 0?
sinon si quelqu'un pouvait me dire quelque chose sur ce bout de code :
printf("Entrez la quantité souhaitée..... : ");
fgets(buff, T, stdin);
conv = atoi(buff);
if (conv == 0)
{
q=1;
}
le but est d'entrée une quantité et si on ne rentre rien alors la quantité se met à 1 d'office
or même si je rentre 20, la quantité se met à 1.
con est toujours égal à 0?
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
13 janv. 2009 à 00:19
13 janv. 2009 à 00:19
Salut,
fflush(stdin) ne doit pas être utilisé. Son comportement est indéfini. Il faut utiliser à la place : while((c=getchar()) != '\n' && c!=EOF); comme tu as fait.
Evite les \n dans les scanf, un simple %d.
Voici une correction de ton programme :
Ca devrait mieux marcher.
Sinon pour répondre à ta question, le code que tu as donné fonctionne bien.
Il doit y avoir une erreur ailleurs. Par exemple, que vaut T ?
atoi permet de convertir en int le début de la chaîne entrée en arguments.
Cdlt
fflush(stdin) ne doit pas être utilisé. Son comportement est indéfini. Il faut utiliser à la place : while((c=getchar()) != '\n' && c!=EOF); comme tu as fait.
Evite les \n dans les scanf, un simple %d.
Voici une correction de ton programme :
char c; int rep; puts("Rajouter un article......................... 1"); puts("Ne rien ajouter............................. 0"); printf("\nReponse : "); scanf("%d", &rep); while((c=getchar()) != '\n' && c!=EOF); putchar('\n');
Ca devrait mieux marcher.
Sinon pour répondre à ta question, le code que tu as donné fonctionne bien.
Il doit y avoir une erreur ailleurs. Par exemple, que vaut T ?
atoi permet de convertir en int le début de la chaîne entrée en arguments.
Cdlt
12 janv. 2009 à 23:20
12 janv. 2009 à 23:41
Mais c'est une boucle dont on ne peut sortir !
Une boucle, disons-le gentiment, une boucle absurde (à moins de vouloir bloquer un programme).
13 janv. 2009 à 00:31
Pardonne-moi.
Merci