Langage C, Structure.

[Résolu]
Signaler
Messages postés
2
Date d'inscription
mercredi 22 février 2006
Statut
Membre
Dernière intervention
20 novembre 2007
-
Messages postés
2
Date d'inscription
mercredi 22 février 2006
Statut
Membre
Dernière intervention
20 novembre 2007
-
Bonjour,

Je suis un débutant du langage C, je cherche à faire un programme simple qui consiste juste à afficher la partie Réelle d'un nombre complexe qu'on a saisit précédament.

Voici mon code :

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

typedef struct Complexe Complexe;
struct Complexe
{
    float r;
    float i;
};

int main(void)
{
    const char REELLE[] = "Entrez un nombre Reel : " ;
    const char IMAGINAIRE[] = "Entrez un nombre Imaginaire : " ;
   
    Complexe nbComplexe ;
   
    printf( "%s \n", REELLE );
    scanf("%f", nbComplexe.r);
    (void) getchar () ;
    printf( "%s \n", IMAGINAIRE ,"i" );
    scanf("%f", nbComplexe.i);
    (void) getchar () ;
   
    printf("Le nombre complexe est : %f %f", nbComplexe.r, nbComplexe.i) ;
    printf(" Et ça partie Réelle est : %f", nbComplexe.r) ;
   
    return 0;
}

Lorsque j'execute ce programme avec Dev-C++ dans la fenètre DOS, il me demande bien de saisir un Réel, mais lorsque j'arrive au "scanf("%f", nbComplexe.r);" la console DOS crash. Surement une erreur de ma part dans mon code mais impossible de trouver la solution, sachant que je debute avec les structures.

Merci d'avance.

3 réponses

Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Tu as oublié les &  :

scanf("%f", &nbComplexe.r);
scanf("%f", &nbComplexe.i);

Shell
Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
10 novembre 2014
2
Salut,
scanf attend un pointeur:
scanf("%f", &nbComplexe.r);

Neo_Fr
Messages postés
2
Date d'inscription
mercredi 22 février 2006
Statut
Membre
Dernière intervention
20 novembre 2007

Merci beaucoup.