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

  FORUM HardWare.fr
  Programmation
  C

  [ C ] erreur dans mon programme ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ C ] erreur dans mon programme ?

n°1474251
-WHITE-
Posté le 12-11-2006 à 20:49:02  profilanswer
 

Bonjour :)  
 
language   = c  
ide           = dev c++
 
Donc quand je compile et execute mon code il y a une petite fenêtre qui m'indique qu'il y a une erreur pourquoi?
 
description: donc la console s'ouvre avec écrit arts plastique moi je tape un nombre puis entré et la il y a une erreur donc impossible de faire marcher mon prog. :??:  
 
le code :
 
#include <stdio.h>
#include <stdlib.h>
 
int main(int argc, char *argv[])
{
  double moyenne = 0, apl = 0, educationMusical = 0, eps = 0, francais = 0, hist_geo = 0, lv1 = 0, math = 0, p_c = 0, svt = 0, techno = 0, idd = 0;        
   
  printf("Arts Plastiques:" );
  scanf("%lf", &apl);
   
  printf("Education Musicale:" );
  scanf("%lf", &educationMusical);
   
  printf("Education Physique:" );
  scanf("%lf", &eps);
   
  printf("Français:" );
  scanf("%lf", &francais);
   
  printf("Histoire Geographie:" );
  scanf("%lf", &hist_geo);
   
  printf("Langue vivante 1:" );
  scanf("%lf", &lv1);
   
  printf("Mathématiques:" );
  scanf("%lf", &math);
   
  printf("Physique-Chimie:" );
  scanf("%lf", &p_c);
   
  printf("Science de la vie\n et de la terre:" );
  scanf("%lf", &svt);
   
  printf("Technologie:" );
  scanf("%lf", &techno);
   
  printf("I.D.D:" );
  scanf("%lf", &idd);  
   
  moyenne = apl + educationMusical + eps + francais + hist_geo + lv1 + math + p_c + svt + techno + idd;            
  moyenne = moyenne / 11;  
  printf("Votre moyenne: %lf", moyenne);
   
  system("PAUSE" );  
  return 0;
}
 
 
merci d'avance

mood
Publicité
Posté le 12-11-2006 à 20:49:02  profilanswer
 

n°1474253
Trap D
Posté le 12-11-2006 à 21:01:05  profilanswer
 

Il ne faut pas utiliser scanf, c'est TREEEEEEEES difficile.
Utilise le couple fgets(buf, sizeof buf, stdin), suivi de val_f = strtod(buf, NULL).
Ceci dit, ton bug ne vient peut-être pas de là, mais déjà fais les modifs.

n°1474265
moi23372
Posté le 12-11-2006 à 21:40:26  profilanswer
 

comme ça je ne vois pas le problème non plus...
 
mais quand tu parles de problèmes, que ce passe t'il exactement?  
pour ce qui est de fgets et strtod ok, mais c'est pas le problème ici à mon avis.
C'est clair qu'il en est au base, qu'il comprenne donc ainsi ce que fait déjà scanf...

n°1474274
Emmanuel D​elahaye
C is a sharp tool
Posté le 12-11-2006 à 22:04:19  profilanswer
 

-WHITE- a écrit :

Donc quand je compile et execute mon code il y a une petite fenêtre qui m'indique qu'il y a une erreur pourquoi?
 
description: donc la console s'ouvre avec écrit arts plastique moi je tape un nombre puis entré et la il y a une erreur donc impossible de faire marcher mon prog. :??:  


Ce code est correct.


Arts Plastiques:12
Education Musicale:13
Education Physique:14
Franþais:15
Histoire Geographie:16
Langue vivante 1:17
MathÚmatiques:18
Physique-Chimie:19
Science de la vie
 et de la terre:20
Technologie:1
I.D.D:2
Votre moyenne: 13.363636Appuyez sur une touche pour continuer...
 
Press ENTER to continue.


a part qu'il manque un \n...
 
Mais si on se trompe dans la saisie, c'est le drame :  

Arts Plastiques:a
Education Musicale:Education Physique:Franþais:Histoire Geographie:Langue vivant
e 1:MathÚmatiques:Physique-Chimie:Science de la vie
 et de la terre:Technologie:I.D.D:Votre moyenne: 0.000000Appuyez sur une touche
pour continuer...
 
Press ENTER to continue.


C'est pour ça qu'il faut suivre les bons conseils de mes petits camarades et ne pas utiliser scanf() si on est pas un expert en scanf() (il doit y en voir 20 dans le monde). Les autres comme toi et moi utilisent fgets() et la fonction de conversion qui va bien.
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1474285
nyrk
Posté le 12-11-2006 à 22:51:35  profilanswer
 

Autant je peux comprendre que tu dissuades les gens d'utiliser scanf, autant je ne comprends pas en quoi c'est réservé à quelques rares experts.

n°1474286
Emmanuel D​elahaye
C is a sharp tool
Posté le 12-11-2006 à 22:55:06  profilanswer
 

nyrk a écrit :

Autant je peux comprendre que tu dissuades les gens d'utiliser scanf, autant je ne comprends pas en quoi c'est réservé à quelques rares experts.


Tu as déjà lu la doc de scanf() en entier ?


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1474287
nyrk
Posté le 12-11-2006 à 23:00:09  profilanswer
 

Non, mais en survolant la man page de scanf, je n'ai pas l'impression que ça soit plus compliqué que printf. Et puis on n'a peut-être pas besoin de connaître toutes les possibilités de scanf pour pouvoir l'utiliser (si on le fait bien), non ?

n°1474315
Taz
bisounours-codeur
Posté le 13-11-2006 à 09:06:54  profilanswer
 

+1 pourt fgets + sscanf

n°1474316
Taz
bisounours-codeur
Posté le 13-11-2006 à 09:07:20  profilanswer
 

pi ça manque de fflush tout ça

n°1474318
Emmanuel D​elahaye
C is a sharp tool
Posté le 13-11-2006 à 09:10:17  profilanswer
 

nyrk a écrit :

Non, mais en survolant la man page de scanf, je n'ai pas l'impression que ça soit plus compliqué que printf. Et puis on n'a peut-être pas besoin de connaître toutes les possibilités de scanf pour pouvoir l'utiliser (si on le fait bien), non ?


Ben si, justement et c'est ça le problème. Un peu de lecture :  
 
http://mapage.noos.fr/emdel/notes.htm#saisie
 
et surtout
 
http://xrenault.developpez.com/tutoriels/c/scanf/


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
mood
Publicité
Posté le 13-11-2006 à 09:10:17  profilanswer
 

n°1474854
-WHITE-
Posté le 13-11-2006 à 20:20:55  profilanswer
 

Bonjour  
Donc aujourd'hui j'ai recompilé et executé mon code et tout marche donc je ne sais se qu'il  
s'était passé mais je vous remerci pour vos réponses. :)  

n°1474877
-WHITE-
Posté le 13-11-2006 à 20:51:49  profilanswer
 

Donc j'ai modifié mon code  et ça me le refait.
aidez moi svp :pt1cable:  :pt1cable:  :pt1cable:  
 
y a t-il des erreurs ?
 
 
#include <stdio.h>
#include <stdlib.h>
 
 
int main(int argc, char *argv[])
{
  printf("(____Moyenne general____)\n\n\n" );
   
  long choix = 0;
  printf("Faite vous latin ?\n1.oui\n2.non\nVotre reponse: " );
  scanf("%ld", choix);
   
  if (choix == 2)
  {
             
            double moyenne = 0, apl = 0, educationMusical = 0, eps = 0, francais = 0, hist_geo = 0, lv1 = 0, math = 0, p_c = 0, svt = 0, techno = 0, idd = 0;    
  printf("Arts Plastiques:\n" );
  scanf("%lf", &apl);  
   
  printf("\nEducation Musicale:\n" );
  scanf("%lf", &educationMusical);
   
  printf("\nEducation Physique:\n" );
  scanf("%lf", &eps);
   
  printf("\nFrancais:\n" );
  scanf("%lf", &francais);    
   
  printf("\nHistoire Geographie:\n" );
  scanf("%lf", &hist_geo);  
   
  printf("\nLangue vivante 1:\n" );
  scanf("%lf", &lv1);  
   
  printf("\nMathematiques:\n" );
  scanf("%lf", &math);  
   
  printf("\nPhysique-Chimie:\n" );
  scanf("%lf", &p_c);
   
  printf("\nScience de la vie\net de la terre:\n" );
  scanf("%lf", &svt);
   
  printf("\nTechnologie:\n" );
  scanf("%lf", &techno);
   
  printf("\nI.D.D:\n\n" );
  scanf("%lf", &idd);  
   
  moyenne = apl + educationMusical + eps + francais + hist_geo + lv1 + math + p_c + svt + techno + idd;            
  moyenne = moyenne / 11;  
  printf("Votre moyenne: %lf ", moyenne);  
     
  if (moyenne >= 15 )
  {
              printf("Tres bien\n\n\n\n" );
  }
   
  if (moyenne == 14)
  {
              printf("Bien\n\n\n\n" );
  }
   
  if (moyenne == 13)
  {
              printf("Assez bien\n\n\n\n" );
  }              
 
  if (moyenne <= 12)
  {
              printf("Pas bien\n\n\n\n" );
  }
   
   
  }      
   
  if (choix == 1)      
  {
                 double moyenne = 0, apl = 0, educationMusical = 0, eps = 0, francais = 0, hist_geo = 0, lv1 = 0, lat = 0, math = 0, p_c = 0, svt = 0, techno = 0, idd = 0;    
  printf("Arts Plastiques:\n" );
  scanf("%lf", &apl);  
   
  printf("\nEducation Musicale:\n" );
  scanf("%lf", &educationMusical);
   
  printf("\nEducation Physique:\n" );
  scanf("%lf", &eps);
   
  printf("\nFrancais:\n" );
  scanf("%lf", &francais);    
   
  printf("\nHistoire Geographie:\n" );
  scanf("%lf", &hist_geo);  
   
  printf("\nLangue vivante 1:\n" );
  scanf("%lf", &lv1);  
   
  printf("\nLatin\n" );
  scanf("%ld", lat);  
   
  printf("\nMathematiques:\n" );
  scanf("%lf", &math);  
   
  printf("\nPhysique-Chimie:\n" );
  scanf("%lf", &p_c);
   
  printf("\nScience de la vie\net de la terre:\n" );
  scanf("%lf", &svt);
   
  printf("\nTechnologie:\n" );
  scanf("%lf", &techno);
   
  printf("\nI.D.D:\n\n" );
  scanf("%lf", &idd);  
   
  moyenne = apl + educationMusical + eps + francais + hist_geo + lv1 + lat + math + p_c + svt + techno + idd;            
  moyenne = moyenne / 12;  
  printf("Votre moyenne: %lf ", moyenne);  
     
  if (moyenne >= 15 )
  {
              printf("Tres bien\n\n\n\n" );
  }
   
  if (moyenne == 14)
  {
              printf("Bien\n\n\n\n" );
  }
   
  if (moyenne == 13)
  {
              printf("Assez bien\n\n\n\n" );
  }              
 
  if (moyenne <= 12)
  {
              printf("Pas bien\n\n\n\n" );
  }
   
   
  }            
   
 
  system("PAUSE" );  
  return 0;
}

n°1474884
Emmanuel D​elahaye
C is a sharp tool
Posté le 13-11-2006 à 21:00:47  profilanswer
 

-WHITE- a écrit :

Donc j'ai modifié mon code  et ça me le refait.
aidez moi svp :pt1cable:  :pt1cable:  :pt1cable:  
 
y a t-il des erreurs ?
 
#include <stdio.h>


Y'a pas de balises codes. Il faut lire les règles du forum...
 
Pour le reste, y'a des bugs :  
 

Project   : Forums
Compiler  : GNU GCC Compiler (called directly)
Directory : C:\dev\forums2\
--------------------------------------------------------------------------------
Switching to target: default
Compiling: main.c
main.c: In function `main':
main.c:11: warning: format argument is not a pointer (arg 2)
main.c:99: warning: format argument is not a pointer (arg 2)
main.c: At top level:
main.c:5: warning: unused parameter 'argc'
main.c:5: warning: unused parameter 'argv'
Linking console executable: C:\dev\forums2\console.exe
Process terminated with status 0 (0 minutes, 1 seconds)
0 errors, 4 warnings


Message édité par Emmanuel Delahaye le 13-11-2006 à 21:02:04

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1475556
Taz
bisounours-codeur
Posté le 15-11-2006 à 09:15:14  profilanswer
 

ça fait plaisir de voir que tu as lu tous les conseils qu'on t'as donné ...

n°1476170
-WHITE-
Posté le 16-11-2006 à 08:51:04  profilanswer
 

desole taz mais comme je suis débutant je n'ai pas compris grand chose.
 
sinon ça mache toujours pas. :pt1cable:  
aidez moi a corriger mon code svp

n°1476182
Taz
bisounours-codeur
Posté le 16-11-2006 à 09:38:37  profilanswer
 

bah tu reprends le topic depuis le début et tu lis attentivement chaque réponse.

n°1476191
fred777888​999
Posté le 16-11-2006 à 09:51:16  profilanswer
 

[troll du jour] Arreter d'utiliser du c pour faire le boulot d'un vulgaire tableur[/troll du jour]


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

  [ C ] erreur dans mon programme ?

 

Sujets relatifs
erreur dans le if ???Problème de mail avec une erreur 404
Formulaire | champ en surbrillance si erreur de saisieProgramme pour algorithme
Compiler ce petit programmeaide en c # sur une erreur CS01117
erreur dans un programme graphiqueUn programme java sur une page Html
Temps d'execution d'un programme 
Plus de sujets relatifs à : [ C ] erreur dans mon programme ?


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