Plantage du programme
roidusurf
Messages postés
77
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 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
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
A voir également:
- Plantage du programme
- Programme demarrage windows - Guide
- Message programmé iphone - Guide
- Mettre en veille un programme - Guide
- Programme word gratuit - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
3 réponses
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,
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,
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 .
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 .
D'après le site du zéro ici : https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c c'est bien %lf qui permet de récupérer une saisie de type double et %f serait pour un type float