Question de C

Question de C - Programmation

Marsh Posté le 16-10-2001 à 12:20:56    

Pourkoi mon programme ne marche pas?
 
#include<stdio.h>
main()
 
{
int n;
char p;
 
printf("Entrez un entier:" );
scanf("%d",&n);
printf("Entrez un caractère:" );
scanf("%c",&p);
}
 
Le programme se termine avant la saisie du caractère. Si j'inverse la saisie du caractère et de l'entier, tout se passe bien. J'utilise djgpp.
 
Merci


---------------
If fate doesn't make you laugh, then you don't get the joke
Reply

Marsh Posté le 16-10-2001 à 12:20:56   

Reply

Marsh Posté le 16-10-2001 à 12:22:15    

Zeplusoif a écrit a écrit :

Pourkoi mon programme ne marche pas?
 
#include<stdio.h>
main()
 
{
int n;
char p;
 
printf("Entrez un entier:" );
scanf("%d",&n);
printf("Entrez un caractère:" );
scanf("%c",&p);
}
 
Le programme se termine avant la saisie du caractère. Si j'inverse la saisie du caractère et de l'entier, tout se passe bien. J'utilise djgpp.
 
Merci  




 
vive la stabilité made in scanf! hein koulip?


---------------
Suri.morkitu.org : Balades au coeur de la ville...
Reply

Marsh Posté le 16-10-2001 à 12:34:00    

Et y a pas une solution?
J'arrive pas a saisir un caractère après un entier. Même en utilisant getchar()...
 
 :(


---------------
If fate doesn't make you laugh, then you don't get the joke
Reply

Marsh Posté le 16-10-2001 à 12:44:00    

est-ce qu'il ne considère pas le retour chariot (utilisé pour valider la saisie de l'entier ) comme un seconde saisie pour le char?


---------------
Je ne suis ni pour, ni contre, bien au contraire  
Reply

Marsh Posté le 16-10-2001 à 12:45:12    

c'est bien ce qu'il fait (affiche le contenu des variables après saisie du seul entier)


---------------
Je ne suis ni pour, ni contre, bien au contraire  
Reply

Marsh Posté le 16-10-2001 à 13:00:12    

Il faut faire un fflush(stdio) avant le deuxieme scanf, pour vider le buffer de l'entree standard

Reply

Marsh Posté le 16-10-2001 à 15:13:27    

Merci bien  :jap: mais je crois que je vais utiliser cin et cout a l'avenir.


---------------
If fate doesn't make you laugh, then you don't get the joke
Reply

Marsh Posté le 16-10-2001 à 15:28:53    

Zeplusoif a écrit a écrit :

Merci bien  :jap: mais je crois que je vais utiliser cin et cout a l'avenir.  




 
ca marche en c?
 
c'est pas limité au C++?


---------------
Je ne suis ni pour, ni contre, bien au contraire  
Reply

Marsh Posté le 16-10-2001 à 16:03:08    

sisi cin et cour ca marche pour le C++ avec iostream.h, mais pas en C avec stdio.h

Reply

Marsh Posté le 16-10-2001 à 16:25:41    

cram a écrit a écrit :

sisi cin et cour ca marche pour le C++ avec iostream.h, mais pas en C avec stdio.h  




 
 :jap:  
 
je me disais aussi


---------------
Je ne suis ni pour, ni contre, bien au contraire  
Reply

Marsh Posté le 16-10-2001 à 16:25:41   

Reply

Marsh Posté le 16-10-2001 à 17:04:28    

de tt façon, vaut mieux faire un fgets(buffer, sizeof(buffer), stdin) et traiter le buffer aprés. c plus sûr (débordemants...)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed