Plantage du programme

roidusurf Messages postés 81 Statut Membre -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je suis le tutoriel du site du zéro sur le langage C, je suis arrivé au chapitre sur les fonctions je me suis donc amusé à allé plus loin dans le programme de conversion euros-->franc en l'améliorant de la manière suivante:
Un premier menu où l'on choisis la conversion que l'on veut (menu principal):
1.devise
2.longueur
3.volume

Quand on choisit devise on n'a le choix entre:
1.euros
2.dollar Us
3.livre
4. dollar canadien
5.yen

Quand on choisit longueur on n'a le choix entre:
1.Kilometre\
2.hectometre
3.decametre\n");
4.metre
5.decimetre
6.centimetre
7.milimètre
8.micromètre
9.nanomètre
10.Miles

Une fois la devise choisi il doit normalement avoir demande de la somme à convertir via un scanf, mais le menu des devises se ré affichent et ensuite seulement on me demande la somme. Je m'explique imaginons que je choisisse euros et que je fasse entrée on me redemande la devise si je choisis une nouvelle fois euros la on me demande la somme.

Deuxième problème une fois la somme rentrée le programme plante.

De plus quand je choisis kilometre c'est le menu des devises qui apparaît

Voici mon code: https://code.empreintesduweb.com/2757.html

J'espère avoir été suffisamment clair dans mes explications

Cordialement

3 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Ca n'existe pas double main().
    Il faut mettre : int main(void). main() retourne un int.
    C'est printf("%f", ...) pour afficher un double (pas "%lf").

    switch (menudevise())
    En faisant ça, tu rappelles ta fonction menudevise().
    Il faut plutôt sauvegarder la valeur lors du premier appel.
    Donc au début du main() :
    int choix;
    choix=menudevise(); /*là, où tu as appelé menudevise();*/

    et switch(choix) /*plutôt que switch(menudevise())*/

    Cdlt,
    0
  2. roidusurf Messages postés 81 Statut Membre 19
     
    Bonjour,
    Je vous remercie.

    Voici donc mon code :http://code.empreintesduweb.com/2759.html

    Mais il y a toujours le même problème en ce qui concerne les menus. Le programme ne plante plus après qu'on est rentré une somme, mais rien ne se passe .
    0
    1. roidusurf Messages postés 81 Statut Membre 19
       
      problème du menu réglé: http://code.empreintesduweb.com/2760.html
      Mais toujours le problème de la non exécution des conversions
      0
    2. roidusurf Messages postés 81 Statut Membre 19
       
      Non je me suis trompé désolé
      0
    3. roidusurf Messages postés 81 Statut Membre 19
       
      j'ai fait un truc je sais pas quoi et maintenant sa fonctionne correctement ^^
      voilà donc le code qui marche : http://code.empreintesduweb.com/2761.html
      0
    4. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      scanf("%lfn",&sommeentree);
      C'est quoi le %lfn ??? J'imagine que c'est \n, il faut pas en mettre dans le scanf.

      Donc là ton code fonctionne bien ?
      0
  3. masartbenji
     
    personne n'aime les prototypes ou quoi??
    0
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      précise le fond de ta pensée...
      0