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

  FORUM HardWare.fr
  Programmation
  C

  [C] petit probleme sur un prog tout simple !!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] petit probleme sur un prog tout simple !!

n°562581
crazy_ride​r
Posté le 08-11-2003 à 21:46:41  profilanswer
 

voici l'intitulé de l'exo : ecrire une fonction ayant pour arguments 2 reels et un  operateur et retournant le resulat du calcul .
 
Voici mon prog :  

Code :
  1. float Calcul( float a, float b, char c);
  2. void main ()     {
  3. float nb1, nb2;
  4. char op;
  5. printf("Premier reel : " );
  6.     scanf("%f",&nb1);
  7. printf("Operateur : " );
  8. scanf("%c",&op);
  9. printf("Second reel : " );
  10.     scanf("%f",&nb2);
  11. printf("%f %c %f = %f", nb1, op, nb2, Calcul(nb1, nb2, op));
  12. }
  13. float Calcul(float a,float b,char c)    {
  14. float res;
  15. switch (c)
  16. {
  17.  case '+': res = a + b; break;
  18.  case '-': res = a - b; break;
  19.  case '*': res = a * b; break;
  20.  case '/':
  21.   if (b==0)
  22.    {
  23.     printf("Division par zero impossible !!!!!" );
  24.     res = -999999;
  25.    }
  26.   else
  27.    {
  28.     res = a / b; break;
  29.    }
  30.  default : res = -999999;
  31. }
  32. return res;


 
La compilation se passe bien ! Le probleme vient du fait que je ne peux pas saisir l'operateur donc pb au niveau du scanf de l'op ! (ligne  10) Qu'est ce qui ne va pas ??? :??:  :??:  
 
Merci :jap:

mood
Publicité
Posté le 08-11-2003 à 21:46:41  profilanswer
 

n°562583
chrisbk
-
Posté le 08-11-2003 à 21:48:49  profilanswer
 

mezy des grands coups de fflush(stdout) apres chaque printf

n°562584
crazy_ride​r
Posté le 08-11-2003 à 21:51:33  profilanswer
 

oki je vais essayer !!
Thanx  :)

n°562585
crazy_ride​r
Posté le 08-11-2003 à 21:55:42  profilanswer
 

ca y est ca marche nickel !!!!
 
Merci !!
 
Au fait, tu pourrais m'expliquer en quelques mots qu'est ce que ca apporte de plus de mettre fflush(stdin/out ) ????

n°562586
chrisbk
-
Posté le 08-11-2003 à 21:56:45  profilanswer
 

tu aurais le meme resultat avec un \n a la fin de tes printfs
 
tout marchait bien, sauf que les IO sont bufferisés, eg quand tu fais un printf() ca ne s'affiche pas directement a l'ecran
le fflush force le truc

n°562587
crazy_ride​r
Posté le 08-11-2003 à 21:58:01  profilanswer
 

oki merci beaucoup  :jap:

n°562633
theshockwa​ve
I work at a firm named Koslow
Posté le 09-11-2003 à 00:54:17  profilanswer
 

crazy_rider a écrit :

ca y est ca marche nickel !!!!
 
Merci !!
 
Au fait, tu pourrais m'expliquer en quelques mots qu'est ce que ca apporte de plus de mettre fflush(stdin/out ) ????


 
[:taz]

n°562679
xav14
Posté le 09-11-2003 à 03:30:05  profilanswer
 


 
pourquoi on peut pas flusher le stdin au fait. tout ce que je sais, c'est que le prof avait dit que c'était pas standard mais pourquoi donc c'est pas standard ?

n°562688
theshockwa​ve
I work at a firm named Koslow
Posté le 09-11-2003 à 05:11:33  profilanswer
 

xav14 a écrit :


 
pourquoi on peut pas flusher le stdin au fait. tout ce que je sais, c'est que le prof avait dit que c'était pas standard mais pourquoi donc c'est pas standard ?


 
parce que tout simplement, tu n'es pas sur du tout de ce que stdin représente ... En tous cas, ce ne sera pas toujours des entrées au clavier (redirection de flux faite via un shell, par exemple ...)
 
 
Edit : Enfin ... Taz expliquerait ca mieux que moi, d'où son symbole ci-dessus ! :D


Message édité par theshockwave le 09-11-2003 à 05:13:08
n°562690
xav14
Posté le 09-11-2003 à 06:32:54  profilanswer
 

ha oki je comprend mieux :jap: (suis trop con)
 
un fflush(stdin) avec un fichier ça ferait n'imp.

mood
Publicité
Posté le 09-11-2003 à 06:32:54  profilanswer
 

n°562804
geffs
Posté le 09-11-2003 à 15:13:12  profilanswer
 

juste un ptit truc sauf erreur en C99 qui est la norme
main() doit "toujour" retourner un int  
int main()
{
return 0;
}
 
vala y a une norme elle doit etre utilisée
bon week end

n°562809
antsite
Je me souviens
Posté le 09-11-2003 à 15:21:59  profilanswer
 

geffs a écrit :

juste un ptit truc sauf erreur en C99 qui est la norme
main() doit "toujour" retourner un int  
int main()
{
return 0;
}
 
vala y a une norme elle doit etre utilisée
bon week end  


 
ouais ben t'as pas du bien la lire la norme parce que le return 0 est inutile, il est implicite (toujours en se basant sur Taz ;) )


Message édité par antsite le 09-11-2003 à 15:22:50

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

  [C] petit probleme sur un prog tout simple !!

 

Sujets relatifs
[C++/gcc 3.2.3] Template, petit bout de code qui ne fonctionne pasprobleme avec les slashes en upload
Execution d'un prog,Probleme avec Dev cpp
[XSL] Problème d'apostropheproblème de capture son avec Directshow sous VC++6
2 sgbd differents... : creation d'un table sur un probleme ;)Problème avec Visual C++ 6.0 : plante a l'edition des liens
[C++] Prog qui doit afficher sur 20 lignes successives un mess....Probleme avec un algo
Plus de sujets relatifs à : [C] petit probleme sur un prog tout simple !!


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