Se connecter avec
S'enregistrer | Connectez-vous

Debutant en C et C++

Dernière réponse : dans Programmation

Bonsoirs à tous, je vien juste de débuter dans la programatation et je commence bien evidement par le language C etC++, je commence tout juste a crée mes premier programme, mais pour le moment je commence avec des programme en console, car en fenètre c'est trop dure :D  . Donc j'ai voulut crée ma première mini calculette mais j'ai un problème, voici ma fonction :

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(int argc, char *argv[])
{
long choix=0,nombre1=0,nombre2=0,resultat=0,reste=0;
printf("Bienvenue sur la calculette!!\n\n");
printf("Quelle operation voudrais tu faire?\n\n");
printf("***Operation***\n\n");
printf("1. Addition\n");
printf("2. Soustraction\n");
printf("3. Multiplication\n");
printf("4. Division\n\n");
printf("Votre choix ?");
scanf("%ld",&choix);

if ("%ld==1",choix)
{
printf("Donnez le premier nombre :");
scanf("%ld",&nombre1);
printf("Donnez le second nombres :");
scanf("%ld",&nombre2);
resultat=nombre1+nombre2;
printf("Le resultat est %ld.\n\n",resultat);
break;
}

else if ("%ld==2",choix)
{
printf("Donnez le premier nombre :");
scanf("%ld",&nombre1);
printf("Donnez le second nombres :");
scanf("%ld",&nombre2);
resultat=nombre1-nombre2;
printf("Le resultat est %ld.\n\n",resultat);
}

else if ("%ld==3",choix)
{
printf("Donnez le premier nombre :");
scanf("%ld",&nombre1);
printf("Donnez le second nombres :");
scanf("%ld",&nombre2);
resultat=nombre1*nombre2;
printf("Le resultat est %ld.\n\n",resultat);
}

else if("%ld==4",choix)
{
printf("Donnez le premier nombre :");
scanf("%ld",&nombre1);
printf("Donnez le second nombres :");
scanf("%ld",&nombre2);
resultat=nombre1/nombre2;
printf("Le resultat est %ld.\n\n",resultat);
reste=nombre1%nombre2;
printf("Ils reste %ld.\n\n",reste);
}


system("PAUSE");
return 0;
}

Voila donc normalement si je met comme choix 2, sa devrais me faire une soustraction mais sa me fait quand même une addition et pareil pour les autres si je fait une multiplication ou une division sa me fait toujours une addition. Je pense avoirs oublier quelque chose mais je vois pas quoi??

Autres pages sur : debutant

Lassé par la pub ? Créez un compte

salut

je suis debutant aussi.
donc ce sera une réponse de debutant que je vais te faire.

Je pense que ce sont tes conditions de if,else if qui sont fausses.

A la place, j'orais écrit if (choix == 2) par exemple.

Mais encore une fois je suis debutant aussi.Donc rien de sur.

Par contre je te conseil de mettre un " filtre anti con" au cas ou quelqu'un entrerai 5 par exemple.(avec un dernier else)

cordialement

tom

Merci à vous deux de m'avoirs répondut, j'ai donc modifier ma fonction en crée comme tu m'a dit tomtom30 un "filtre anti-con" :) 
Et comme Cart la dit j'ai utiliser switch au lieu de if. Voici ma fonction après la modifs :

int main(int argc, char *argv[])
{
long choix=0,nombre1=0,nombre2=0,resultat=0,reste=0;
printf("Bienvenue sur la calculette Farid!!\n\n");
printf("Quelle operation voudrais tu faire?\n\n");
printf("***Operation***\n\n");
printf("1. Addition\n");
printf("2. Soustraction\n");
printf("3. Multiplication\n");
printf("4. Division\n\n");
printf("Votre choix ?");
scanf("%ld",&choix);

switch (choix)
{
case 1:
printf("Donnez le premier nombre :");
scanf("%ld",&nombre1);
printf("Donnez le second nombres :");
scanf("%ld",&nombre2);
resultat=nombre1+nombre2;
printf("Le resultat est %ld.\n\n",resultat);
break;

case 2:
printf("Donnez le premier nombre :");
scanf("%ld",&nombre1);
printf("Donnez le second nombres :");
scanf("%ld",&nombre2);
resultat=nombre1-nombre2;
printf("Le resultat est %ld.\n\n",resultat);
break;

case 3:
printf("Donnez le premier nombre :");
scanf("%ld",&nombre1);
printf("Donnez le second nombres :");
scanf("%ld",&nombre2);
resultat=nombre1*nombre2;
printf("Le resultat est %ld.\n\n",resultat);
break;

case 4:
printf("Donnez le premier nombre :");
scanf("%ld",&nombre1);
printf("Donnez le second nombres :");
scanf("%ld",&nombre2);
resultat=nombre1/nombre2;
printf("Le resultat est %ld.\n\n",resultat);
reste=nombre1%nombre2;
printf("Ils reste %ld.\n\n",reste);
break;
default:
printf("Tu n'a pas entrer le bon nombre, t'est un boufon\n\n");
break;

}


system("PAUSE");
return 0;
}


Je vais mettre un do... while , pour qu'a la fin ca recommence.

Merci encors à vous.^^
Lassé par la pub ? Créez un compte
  • Contenus similaires :
Tags :
Tom's guide dans le monde