Aller au menu - Aller au contenu

problème d'affectation variable struct

Pour accéder à cette section
Connectez-vous !
connexion_rpx

Résolu Le problème de ce sujet a été résolu

Page 1 
Auteur Message
1 visiteur sur ce sujet (1 Anonyme)
Page 1 
Hors ligne deeploy # Posté le 08/02/2012 à 20:24:50
Avatar

Ville : Bruxelles
Pays : Belgique

bonjour à tous les zéros ;) ,

J'ai un petit soucis dans le code. Je suis au chapitre C de matéo concernant les structures. Tout fonctionnait correctement jusqu'à ce que je mette :
Code : C
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <stdio.h>
#include <stdlib.h>
#include "preprocesseur.h"

int main()
{

    Coordonnees point;
    Personne a;
    Personne population[2];

    point.x = 150;
    point.y = 15;

    printf("Les abcisses et ordonnees sont respectivement a : %d et %d \n",point.x, point.y);

    printf("Veuillez vous identifiez\n");
    printf("Quel est votre prenom :");
    scanf("%s",a.prenom);
    printf("Quel est votre nom :");
    scanf("%s",a.nom);
    printf("Quel est votre age :");
    scanf("%d",&a.age);
    printf("Bonjour %s %s . Vous avez %d ans \n",a.prenom, a.nom, a.age);

    population[0].prenom = "Damien";
    population[1].prenom = "Kevin";

    population[0].nom = "test";
    population[1].nom = "test2";

    printf("prenom population 1 :");
    scanf("%s",population[0].prenom);

    printf("prenom population 2 :");
    scanf("%s",population[1].prenom);

    printf("nom population 1:");
    scanf("%s",population[0].nom);

    printf("nom population 2:");
    scanf("%s",population[0].nom);



    for(i=0;i<2;i++)
    {
        printf("%s \n",population[i].prenom);
        printf("%s \n",population[i].nom);
    }

    return 0;
}

et le fichier.h:

Code : C
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
typedef struct Coordonnees Coordonnees;

struct Coordonnees{

int x;
int y;

};

typedef struct Personne Personne;

struct Personne{

char prenom[100];
char nom[100];
char adresse[1000];

int age;
int sexe;

};


Quand je le fais avec un scanf tout fonctionne... par contre quand j'essaie d'insérer directement dans le code source, ca plante et ca me met l'erreur suivante :
Citation : error

C:\Users\france\Desktop\kevin\prog\preprocesseur\main.c||In function 'main':|
C:\Users\france\Desktop\kevin\prog\preprocesseur\main.c|26|error: incompatible types when assigning to type 'char[100]' from type 'char *'|
C:\Users\france\Desktop\kevin\prog\preprocesseur\main.c|27|error: incompatible types when assigning to type 'char[100]' from type 'char *'|
C:\Users\france\Desktop\kevin\prog\preprocesseur\main.c|29|error: incompatible types when assigning to type 'char[100]' from type 'char *'|
C:\Users\france\Desktop\kevin\prog\preprocesseur\main.c|30|error: incompatible types when assigning to type 'char[100]' from type 'char *'|
C:\Users\france\Desktop\kevin\prog\preprocesseur\main.c|46|error: 'i' undeclared (first use in this function)|
C:\Users\france\Desktop\kevin\prog\preprocesseur\main.c|46|error: (Each undeclared identifier is reported only once|
C:\Users\france\Desktop\kevin\prog\preprocesseur\main.c|46|error: for each function it appears in.)|
||=== Build finished: 7 errors, 0 warnings ===|


Merci d'avance ;)
Édité le 08/02/2012 à 20:26:37 par deeploy

deeploy
 
Publicité # Posté le 08/02/2012 à 20:24:50

Hors ligne darkingold # Posté le 08/02/2012 à 21:28:28
Trust me. I'm the doctor.
Avatar

Études : Lycée Jeanne d'Albret - Saint-Germain-en-Laye

Cette réponse a aidé l'auteur du sujet Cette réponse a aidé l'auteur du sujet
Salut,
Code : C
1
2
3
4
5
population[0].prenom = "Damien";
population[1].prenom = "Kevin";

population[0].nom = "test";
population[1].nom = "test2";


Ce genre d'affectation n'est possible qu'à l'initialisation... Donc il faut stocker caractère par caractère, ou alors coder une fonction qui fait ça.
Et le compilo grogne parce que tu n'as pas déclaré i.

Apprenez l'Axe ! | DropBox

Image utilisateur
 
Hors ligne deeploy # Posté le 08/02/2012 à 22:22:23
Avatar

Ville : Bruxelles
Pays : Belgique

oui pour le i je l'avais remarqué aussi ;) . Mais merci ok :) super

deeploy
 

Retour au forum "Langage C" ou à la liste des forums

Pour accéder à cette section
Connectez-vous !
connexion_rpx