Problème programmation en c code blocks

Résolu
polo -  
 polo -
Bonjour,
je suis débutant en programmation en langage c, je voudrais créer une mini calculatrice sur pc, mais voilà j'ai un problème j'utilise code blocks.
voici mon code :

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

int main()
{
int modedeoperation = 0;
printf("bienvenue\npour additionner tapez 1\npour soustraire tapez 2\n\n");
scanf("%d",modedeoperation);

if(modedeoperation ==1)
{
int nombre1 =0;
int nombre2 =0;
int resultat =0;
printf("\ntapez le 1er nombre\n");
scanf("%d",nombre1);
printf("\ntapez le 2eme nombre\n");
scanf("%d",nombre2);
resultat = nombre1 + nombre2;
printf("\n%d + %d = %d",nombre1,nombre2,resultat);
}
if(modedeoperation ==2)
{

int nombre3 =0;
int nombre4 =0;
int resultat2 =0;
printf("\ntapez le 1er nombre\n");
scanf("%d",nombre3);
printf("\ntapez le 2eme nombre\n");
scanf("%d",nombre4);
resultat2 = nombre3 + nombre4;
printf("\n%d - %d = %d",nombre3,nombre4,resultat2);
return 0;

}
}

Et quand je clique sur build and run ça me fais ça:

Bienvenue
pour additionner tapez 1
pour soustraire tapez 2

Là je tape 1 et windows me dit que calculette.exe a cessé de fonctionner.

Merci d'avance.

4 réponses

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Erreur de débutant : il faut mettre des & à tes scanf :

    int entier;
    scanf("%d",&entier);
    5
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      Et pour faire une soustraction ce serait mieux d'utiliser le signe -

      resultat2 = nombre3 - nombre4;
      0
  2. kevin_nord59 Messages postés 473 Statut Membre 72
     
    Je connais pas le "c" mais tu as oublier le return 0 dans le premier if
    1
  3. polo
     
    Normalement ce n'est pas obligatoire
    1
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      Ce serait quand même mieux de le mettre systématiquement (à la fin du main pas dans le if)
      0