Bug en C
Résolu
kiback
Messages postés
285
Statut
Membre
-
kiback Messages postés 285 Statut Membre -
kiback Messages postés 285 Statut Membre -
Bonjour,
je suis débutant en programmation (2eme jour !!!) et je me suis fait un petit programme, une calculatrice sous DOS.
Il y a la multiplication, l'addition et la soustraction, seulement la soustraction ne fonctionne pas! Est-ce que vous pourriez m'aider ? Je travaille sous Dev++.
Je voudrais également ajouter la division; quel type donner à ses variable?
Mercimerci!
Voila le code: (désolé ça rend pas bien)
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
//en dessous c'est la déclaration des variables
long choix=0,addition1=0,addition2=0,soustraction1=0,soustraction2=0,multiplication1=0,multiplication2=0,resultat1=0,resultat2=0,resultat3=0;
printf("MENU PRINCIPAL\n\n"); //Là c'est le menu
printf("1.Addition\n\n");
printf("2.Soustraction\n\n");
printf("3.Multiplication\n\n\n");
printf("Faites un choix puis appuyez sur entree\n");
printf("Attention! Les nombre decimaux ne sont pas autorises!\n\n");
scanf("%ld",&choix); //La séléction du mode
switch(choix)
{
case 1: //1er cas : l'addition
printf("Entrez le 1er nombre\n\n"); //1er nombre
scanf("%ld",&addition1); //scan du nombre
printf("Entrez le 2eme nombre\n\n"); //2eme
scanf("%ld",&addition2); //scan
resultat1=addition1+addition2;
printf("%ld+%ld=%ld\n\n",addition1,addition2,resultat1);
break;
case 2: //2eme cas : la fameuse soustraction
printf("Entrez le 1er nombre\n\n");
scanf("%ld",&soustraction1);
printf("Entrez le 2eme nombre\n\n");
scanf("%ld",soustraction2);
resultat2=soustraction1-soustraction2;
printf("%ld-%ld=%ld\n\n",soustraction1,soustraction2,resultat2);
break;
case 3: //3eme cas : la multiplication
printf("Entrez le 1er nombre\n\n");
scanf("%ld",&multiplication1);
printf("Entrez le 2eme nombre\n\n");
scanf("%ld",&multiplication2);
resultat3=multiplication1*multiplication2;
printf("%ldX%ld=%ld\n\n",multiplication1,multiplication2,resultat3);
break;
default: //Au cas où qu'on se serait planté
printf("Erreur. Tapez 1,2 ou 3\n");
break;
}
system("PAUSE"); //fermeture du prog
return 0;
}
je suis débutant en programmation (2eme jour !!!) et je me suis fait un petit programme, une calculatrice sous DOS.
Il y a la multiplication, l'addition et la soustraction, seulement la soustraction ne fonctionne pas! Est-ce que vous pourriez m'aider ? Je travaille sous Dev++.
Je voudrais également ajouter la division; quel type donner à ses variable?
Mercimerci!
Voila le code: (désolé ça rend pas bien)
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
//en dessous c'est la déclaration des variables
long choix=0,addition1=0,addition2=0,soustraction1=0,soustraction2=0,multiplication1=0,multiplication2=0,resultat1=0,resultat2=0,resultat3=0;
printf("MENU PRINCIPAL\n\n"); //Là c'est le menu
printf("1.Addition\n\n");
printf("2.Soustraction\n\n");
printf("3.Multiplication\n\n\n");
printf("Faites un choix puis appuyez sur entree\n");
printf("Attention! Les nombre decimaux ne sont pas autorises!\n\n");
scanf("%ld",&choix); //La séléction du mode
switch(choix)
{
case 1: //1er cas : l'addition
printf("Entrez le 1er nombre\n\n"); //1er nombre
scanf("%ld",&addition1); //scan du nombre
printf("Entrez le 2eme nombre\n\n"); //2eme
scanf("%ld",&addition2); //scan
resultat1=addition1+addition2;
printf("%ld+%ld=%ld\n\n",addition1,addition2,resultat1);
break;
case 2: //2eme cas : la fameuse soustraction
printf("Entrez le 1er nombre\n\n");
scanf("%ld",&soustraction1);
printf("Entrez le 2eme nombre\n\n");
scanf("%ld",soustraction2);
resultat2=soustraction1-soustraction2;
printf("%ld-%ld=%ld\n\n",soustraction1,soustraction2,resultat2);
break;
case 3: //3eme cas : la multiplication
printf("Entrez le 1er nombre\n\n");
scanf("%ld",&multiplication1);
printf("Entrez le 2eme nombre\n\n");
scanf("%ld",&multiplication2);
resultat3=multiplication1*multiplication2;
printf("%ldX%ld=%ld\n\n",multiplication1,multiplication2,resultat3);
break;
default: //Au cas où qu'on se serait planté
printf("Erreur. Tapez 1,2 ou 3\n");
break;
}
system("PAUSE"); //fermeture du prog
return 0;
}
8 réponses
Salut ton code est un peu long tu pourrais le raccourcir par exemple comme tu as fait un switch tu pourrais n'utiliser que deux variables .Tu pourrais aussi travailler sur des nombres décimaux pour ça y faut remplacer long par double et %ld par %lf
@+
@+
d'accord, merci de vos conseils, je vais essayer d'améliorer ça! et merci d'avoir répondu aussi vite!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question