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

  FORUM HardWare.fr
  Programmation
  C

  Resolu [C] Probleme de resultat de calcul

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Resolu [C] Probleme de resultat de calcul

n°531326
scooper2
Posté le 04-10-2003 à 18:30:08  profilanswer
 

Bonjour a tous je débute en C et mon prof d'info nous a demander cela comme exo :
 
Ecrire un programme qui affiche la résistance équivalente à trois résistances R1,R2,R3(type double),
- si les résistances sont en série : Rser = R1+R2+R3
- si les résistances sont en // : Rpar = (R1*R2*R3)/(R1*R2+R1*R3+R2*R3)
 
Donc je fais mon étude du probleme et mon algorithme qui est facile, je tape mon code en C :
 

Code :
  1. /* Programme permettant de calculer la resistance equivalente a 3
  2.    Resistance en // ou série */
  3. #include <stdio.h>
  4. main()
  5. {
  6. double r1,r2,r3,resp;
  7. char res;
  8. printf("R1 R2 R3\n" );
  9. scanf("%f",&r1);
  10. scanf("%f",&r2);
  11. scanf("%f",&r3);
  12. printf("Resistances en série ou // ?\n" );
  13. res = getch();
  14. if (res=='s')
  15.         {
  16.         printf ("Resistance en série\n" );
  17.         printf("La résistance équivalente vaut : %f\n",r1+r2+r3);
  18.         }
  19. else if(res=='p')
  20.         {
  21.         printf("Resistance en //\n" );
  22.         resp = (r1*r2*r3)/((r1*r2)+(r1*r3)+(r2*r3));
  23.         printf("La resistance equivalente vaut : %g\n",resp);
  24.         }
  25. else
  26.         {
  27.         printf("Mauvais choix\n" );
  28.         }
  29. }


 
je pense que mon code est correct mais quoi que je saisisse, les resultat sont faux, je pense que ca viendrai qu'il faut forcer les variable a un certain type lors du calcul le prof nous avait parler de ca mais je ne sais pas comment utiliser ca
merci d'avance


Message édité par scooper2 le 04-10-2003 à 19:04:17
mood
Publicité
Posté le 04-10-2003 à 18:30:08  profilanswer
 

n°531333
Taz
bisounours-codeur
Posté le 04-10-2003 à 18:41:26  profilanswer
 

 main() -> int main()
 
    scanf("%f",&r1);
    scanf("%f",&r2);
    scanf("%f",&r3);   -> scanf("%lf%lf%lf", &r1, &r2, &r3);
 
res = getch();  -> res=getchar()
 
essaye ces modifications d'abord

n°531341
scooper2
Posté le 04-10-2003 à 18:49:03  profilanswer
 

daccord je vais essayer mais ej n'ai pas derreur de compilation

n°531343
Taz
bisounours-codeur
Posté le 04-10-2003 à 18:52:02  profilanswer
 

regarde
 

Code :
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5.   double r1,r2,r3,resp;
  6.   char res;
  7.   printf("R1 R2 R3\n" );
  8.   scanf("%lf %lf %lf\n", &r1, &r2, &r3);
  9.   printf("Resistances en série ou // ?" );
  10.   fflush(stdout);
  11.   if(scanf("%c", &res)!=1)
  12.     {
  13.       printf("Oups...\n" );
  14.       return 1;
  15.     }
  16.   putchar('\n');
  17.   if(res=='s')
  18.     {
  19.       printf ("Resistance en série\n"
  20.       "La résistance équivalente vaut : %f\n", r1+r2+r3);
  21.     }
  22.   else if(res=='p')
  23.     {
  24.       resp = (r1*r2*r3) / (r1*r2 + r1*r3 + r2*r3);
  25.       printf("Resistance en //\n"
  26.      "La resistance equivalente vaut : %g\n", resp);
  27.     }
  28.   else
  29.     {
  30.       printf("Mauvais choix\n" );
  31.     }
  32.   return 0;
  33. }

n°531346
scooper2
Posté le 04-10-2003 à 19:00:32  profilanswer
 

merci beaucoup ca fonctionne maintenant pouurait tu m'expliquer ce qui n'allait pas avec le scanf car je vient de regarder le boukin marabout de C et ils disent pour le l pour faire un entier long or ca fonctionne avec les virgules

n°531352
Taz
bisounours-codeur
Posté le 04-10-2003 à 19:04:39  profilanswer
 

ce bouquin est de la pacotille, le mec qui l'a écrit ne doit rien connaitre à rien.
 
%f -> float
%lf -> double (alias « long float »)
 
impression
%f -> double
pour les float, la convertion en double est sans perte, donc utilise aussi %f

n°531359
scooper2
Posté le 04-10-2003 à 19:09:55  profilanswer
 

oué mais javai deja essayer avec %f et ca ne marchait po

n°531370
Taz
bisounours-codeur
Posté le 04-10-2003 à 19:27:07  profilanswer
 

et ?


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

  Resolu [C] Probleme de resultat de calcul

 

Sujets relatifs
[resolu] fonction choiceProbleme d'algo/PHP pour mon jeu en ligne...ca fait peur
Help ! pige pas... [résolu][resolu] syntaxe en couleur
[SQL server] Problème de requête [--RESOLVED--][perl] sbrk échoue, problème de consommation mémoire excessive
Problème de date en php[thread/linux/c++/kdevelop3.1] Problème avec les threads
Problème "Insert" pour débutantsimple CSS probleme
Plus de sujets relatifs à : Resolu [C] Probleme de resultat de calcul


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