Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1377 connectés 

  FORUM HardWare.fr
  Programmation

  Question de C

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Question de C

n°65469
Zeplusoif
Posté le 16-10-2001 à 12:20:56  profilanswer
 

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
mood
Publicité
Posté le 16-10-2001 à 12:20:56  profilanswer
 

n°65471
Suri
Darksurious
Posté le 16-10-2001 à 12:22:15  profilanswer
 

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...
n°65475
Zeplusoif
Posté le 16-10-2001 à 12:34:00  profilanswer
 

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
n°65477
jupiler
Un cousin...
Posté le 16-10-2001 à 12:44:00  profilanswer
 

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  
n°65478
jupiler
Un cousin...
Posté le 16-10-2001 à 12:45:12  profilanswer
 

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  
n°65482
cram
Posté le 16-10-2001 à 13:00:12  profilanswer
 

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

n°65533
Zeplusoif
Posté le 16-10-2001 à 15:13:27  profilanswer
 

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
n°65546
jupiler
Un cousin...
Posté le 16-10-2001 à 15:28:53  profilanswer
 

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  
n°65547
cram
Posté le 16-10-2001 à 16:03:08  profilanswer
 

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

n°65561
jupiler
Un cousin...
Posté le 16-10-2001 à 16:25:41  profilanswer
 

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  
mood
Publicité
Posté le 16-10-2001 à 16:25:41  profilanswer
 

n°65581
minusplus
Posté le 16-10-2001 à 17:04:28  profilanswer
 

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...)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  Question de C

 

Sujets relatifs
Je défie quiconque de répondre a cette question!****URGENT***** - Question en SQL
Question d'ordre generalequestion HTML: comment faire pour donner une couleur spécifique à une
question sur flash[Midi] question bête ...
Question sur Qt[ question de debutant ] petit compteur
[Javascript]une question "toute bête"Question sur Les API Windows ...
Plus de sujets relatifs à : Question de C


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR