begin process at 2012 05 30 05:40:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

Problèmes de pointeur pour un tableau de structure


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problèmes de pointeur pour un tableau de structure

lundi 16 février 2009 à 11:44:07 | Problèmes de pointeur pour un tableau de structure

fantaorange

Bonjour à tous,

Me voilà débutant en C, et je galère un peu avec les pointeurs pour un tableau de structure...

Je me suis fixé un petit exercice qui consiste a définir une structure contenant le prenom , le nom et l'age d'un joueur, mais cette structure sera utilisée pour plusieurs joueurs...pfff 
Ensuite un fonction qui demande de rentrer au clavier le prenom, le nom et l'age pour chaques joueurs, puis une autre fonction qui les affiche dans la console...

Je ne vous dirai pas pendant combien d'heures j'ai retourné mon programme dans tout les sens afin qu'il fonctionne, mais sans succès... Et donc se serai vraiment gentil à quelqu'un de vous de m'aider à comprendre mes erreurs.

Voici le code mon programme que je pense être le plus juste en fonction de ce que j'ai compris: (mais il ne fonctionne pas)


#define NBR_JOUEUR 4

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>


typedef struct CoordonneesJoueurStruct CoordonneesJoueurStruct;

void initCoordonnees(CoordonneesJoueurStruct *CoordJoueurs);
void afficheJoueur(CoordonneesJoueurStruct *CoordJoueur)

struct CoordonneesJoueurStruct
{
    char prenom[100];
    char nom[100];
    char age;
};

void initCoordonnees(CoordonneesJoueurStruct *CoordJoueurs)
{
    long numJoueur = 0;
    for (numJoueur=0;numJoueur!=NBR_JOUEUR;numJoueur++)
    {
        printf("Prenom du joueur %ld\n",numJoueur);
        scanf("%s",(*CoordJoueurs[numJoueur]).prenom);
        printf("Nom du joueur %ld\n",numJoueur);
        scanf("%s",(*CoordJoueurs[numJoueur]).nom);
        printf("Age du joueur %ld\n",numJoueur);
        scanf("%ld",(*CoordJoueurs[numJoueur]).age);
        printf("ok\n");
    }
}

void afficheJoueur(CoordonneesJoueurStruct *CoordJoueur)
{
    long numJoueur = 0;
    for (numJoueur=0;numJoueur<NBR_JOUEUR;numJoueur++)
    {
        printf("Coordonnees du Joueur %ld\n",numJoueur);
        printf("%s %s %ld\n",(*CoordJoueur[numJoueur]).prenom,
            ( *CoordJoueur[numJoueur]).nom,(*CoordJoueur[numJoueur]).age);
    }
}

int main(int argc, char *argv[])
{
    CoordonneesJoueurStruct Coordonnees[NBR_JOUEUR] = {0};
    CoordonneesJoueurStruct *pointeur = &Coordonnees[NBR_JOUEUR]; 
    initCoordonnees(pointeur);
    afficheJoueur(pointeur);
    system ("PAUSE");
    return 0;
}


Merci d'avance pour vos réponses et salutations à tous





 

lundi 16 février 2009 à 11:51:36 | Re : Problèmes de pointeur pour un tableau de structure

fantaorange

Réponse acceptée !
Désolé il manque un point virgule au prototype:
void afficheJoueur(CoordonneesJoueurStruct *CoordJoueur);

Mais c'est un petit détail important qui ne suffit pas au bon fonctionnement du programme
lundi 16 février 2009 à 11:58:02 | Re : Problèmes de pointeur pour un tableau de structure

Pistol_Pete

Réponse acceptée !
Salut
En effet, il y a plusieurs erreurs dans ton programme:
Quand tu déclares un tableau, tu déclares un pointeur donc cela devient:

#define NBR_JOUEUR 4

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>




typedef struct _CoordonneesJoueurStruct
{
    char prenom[100];
    char nom[100];
   
int age;
}CoordonneesJoueurStruct;


void initCoordonnees(CoordonneesJoueurStruct *CoordJoueurs)
{
    long numJoueur = 0;
    for (numJoueur=0;numJoueur!=NBR_JOUEUR;numJoueur++)
    {
        printf("Prenom du joueur %ld\n",numJoueur);
        scanf("%s"
,&(CoordJoueurs[numJoueur]).prenom);
        printf("Nom du joueur %ld\n",numJoueur);
        scanf("%s",
&(CoordJoueurs[numJoueur]).nom);
        printf("Age du joueur %ld\n",numJoueur);
        scanf("%d",
&(CoordJoueurs[numJoueur]).age);
        printf("ok\n");
    }
}

void afficheJoueur(CoordonneesJoueurStruct *CoordJoueur)
{
    long numJoueur = 0;
    for (numJoueur=0;numJoueur<NBR_JOUEUR;numJoueur++)
    {
        printf("Coordonnees du Joueur %ld\n",numJoueur);
        printf("%s %s %ld\n",(CoordJoueur[numJoueur]).prenom,
            ( CoordJoueur[numJoueur]).nom,(CoordJoueur[numJoueur]).age);
    }
}

int main(int argc, char *argv[])
{
   
CoordonneesJoueurStruct Coordonnees[NBR_JOUEUR] = {0};
 
    initCoordonnees(Coordonnees);
    afficheJoueur(Coordonnees);

    return 0;
}

A+

____________________________________________________________________________
Mon site internet :
  
[ Lien ]

lundi 16 février 2009 à 12:56:24 | Re : Problèmes de pointeur pour un tableau de structure

fantaorange

Réponse acceptée !
En effet j'étai un peu à coté...
Merci beaucoup,
A+


Cette discussion est classée dans : age, joueur, prenom, numjoueur, coordonneesjoueurstruct


Répondre à ce message

Sujets en rapport avec ce message

ouvrir un fichier avec devcpp [ par anek971 ] lut tout le monde,Bon j'ai fait un petit programme tout bete juste pour pouvoir ecrire une donné sur une personne ,dans le but d'agrementer ca plustar Erreur conversion from `Sportif*' to non-scalar type `Sportif' requested [ par lordskyser1 ] Bonjour,je débute en C++ et je tente de compiler ma première classe sans y arriver, car je n'arrive pas à comprendre le message d'erreur de dev c++.he un pti prob ... :s help [ par meksoft002 ] Bonjour, c'est ma première participation en vue que vous pourrez resoudre mon problème ..voila...je vouderais mettre en oeuvre un tableau d'objets "pe Calcul des combinaisons des chaines de caracteres [ par boualiasma ] Bonsoir, J'ai un fichier texte "exemple.txt" qui contient dans chaque une seule chaine de caractère(attribut). On sait en avance le nombre d'attribut comparer deux fichiers [ par boualiasma ] Bonjour, J'ai deux fichiers "exemple.txt" et "essai.txt" J'aime afficher les lignes qui existent dans "exemple.txt" et qui n'existent pas dans "essai test(variable personaliser+tableau+boucle) [ par florent175 ] [b]J[/b]e ne comprend pas d'où vient l'erreur dans mon code ci dessous.[^^confus3] [b]L[/b]e programme doit récupéré le nom, le prénom, puis l'adress [Jeu] Problème dans mon code [ par Baltronard ] Bonjour à toutes et à tous. Voila j'ai quelques petits soucis avec mon code en C (pas c++) pour la création d'un puissance 4. Il se trouve que ma fo j'1 probleme avc un exercice de l'algorithme [ par chrisny ] Étudiant [^^happy3] bonjour j'1 problème avec un exercice en algorithme: écrire l'algorithme du jeu suivant : Ce jeu se joue à deux joueurs le premier


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,482 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales