[Besoin d'aide] Programmation C
Résolu/Fermé
devildu06
Messages postés
62
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
27 septembre 2009
-
12 avril 2009 à 15:38
devildu06 Messages postés 62 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 27 septembre 2009 - 12 avril 2009 à 17:22
devildu06 Messages postés 62 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 27 septembre 2009 - 12 avril 2009 à 17:22
A voir également:
- [Besoin d'aide] Programmation C
- Application de programmation - Guide
- Programmation logo tortue télécharger - Télécharger - Études & Formations
- Problème de programmation digicode extel klavy 3 ✓ - Forum Loisirs / Divertissements
- Programmation binaire - Guide
- Programmation carte à puce vierge ✓ - Forum Matériel & Système
7 réponses
gaby10
Messages postés
445
Date d'inscription
vendredi 25 novembre 2005
Statut
Membre
Dernière intervention
3 février 2013
58
12 avril 2009 à 15:43
12 avril 2009 à 15:43
Explique bien ton problème.
Tu veux quoi en fait?
Tu veux quoi en fait?
devildu06
Messages postés
62
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
27 septembre 2009
12 avril 2009 à 15:51
12 avril 2009 à 15:51
Quand je lance le programme, j'ai la question "votre choix ?"
Ensuite je dois taper un nombre: j'en tape un puis la fenetre du rapport d'erreur apparait et je dois fermer le programme.
Ensuite je dois taper un nombre: j'en tape un puis la fenetre du rapport d'erreur apparait et je dois fermer le programme.
gaby10
Messages postés
445
Date d'inscription
vendredi 25 novembre 2005
Statut
Membre
Dernière intervention
3 février 2013
58
12 avril 2009 à 15:57
12 avril 2009 à 15:57
ah oui tu fais erreur: le & ne s'applique que dans la fonction scanf et non dans printf.
printf("Indiquez le premier nombre\n");
scanf("%ld\n", &nombre_1);
par exemple.
Rectifie et tu nous portes le rapport.
printf("Indiquez le premier nombre\n");
scanf("%ld\n", &nombre_1);
par exemple.
Rectifie et tu nous portes le rapport.
devildu06
Messages postés
62
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
27 septembre 2009
12 avril 2009 à 16:01
12 avril 2009 à 16:01
maintenant le probleme est que je dois taper deux nombres pour la variable nombre1 et que le resultat est toujours egal a 1
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
gaby10
Messages postés
445
Date d'inscription
vendredi 25 novembre 2005
Statut
Membre
Dernière intervention
3 février 2013
58
12 avril 2009 à 16:10
12 avril 2009 à 16:10
En fait que tu mets printf("Resultat : %ld\n", &resultat); tu demandes que ton programme affiche la réference (ou l'adresse du pointeur de ta variable resultat).
Pour avoir ton resultat exact tu dois enlever le & dans la fonction printf et donc avoir un truc du genre printf("Resultat : %ld\n", resultat);
Pour avoir ton resultat exact tu dois enlever le & dans la fonction printf et donc avoir un truc du genre printf("Resultat : %ld\n", resultat);
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
12 avril 2009 à 16:23
12 avril 2009 à 16:23
Salut,
Il y a plusieurs erreurs dans ton code.
scanf("%ld", choixOperation); //attention choixOperation est un char et en plus il faut donner son adresse.
Ce qui donne : scanf("%c",&choixOperation);
Dans ce cas, tu devras utiliser le code ascii (case '1' etc). Ou sinon tu peux déclarer choixOperation en int.
scanf("%ld\n", nombre_1);
Pas de \n dans le scanf, et il faut toujours donner l'adresse. Soit :
scanf("%ld", &nombre_1);
printf("Resultat : %ld\n", &resultat); Là, il ne faut pas mettre l'adresse.
Correction : printf("Resultat : %ld\n", resultat);
De plus, fais attention aux dépassement des valeurs. La somme de deux long peut dépasser LONG_MAX.
N'oublie pas le return 0; final.
Et enfin tu peux raccourcir largement ton code, en sortant du switch tout ce qui est commun dans les case.
Cdlt
Il y a plusieurs erreurs dans ton code.
scanf("%ld", choixOperation); //attention choixOperation est un char et en plus il faut donner son adresse.
Ce qui donne : scanf("%c",&choixOperation);
Dans ce cas, tu devras utiliser le code ascii (case '1' etc). Ou sinon tu peux déclarer choixOperation en int.
scanf("%ld\n", nombre_1);
Pas de \n dans le scanf, et il faut toujours donner l'adresse. Soit :
scanf("%ld", &nombre_1);
printf("Resultat : %ld\n", &resultat); Là, il ne faut pas mettre l'adresse.
Correction : printf("Resultat : %ld\n", resultat);
De plus, fais attention aux dépassement des valeurs. La somme de deux long peut dépasser LONG_MAX.
N'oublie pas le return 0; final.
Et enfin tu peux raccourcir largement ton code, en sortant du switch tout ce qui est commun dans les case.
Cdlt
devildu06
Messages postés
62
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
27 septembre 2009
12 avril 2009 à 17:22
12 avril 2009 à 17:22
Merci