IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Problème passage arguments !


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 15
    Points : 14
    Points
    14
    Par défaut Problème passage arguments !
    BOnsoir à tous

    J'ai un projet à faire mais j'ai quelques problèmes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      printf("Veuillez saisir le Nom du Skieur\n");
                           scanf("%s%*c", &sNom);
                           printf("Veuillez saisir le Prenom du Skieur\n");
                           scanf("%s%*c", &sPrenom);
                           printf("Veuillez saisir l'adresse du Skieur\n");
                           scanf("%s%*c", &sAdresse);
                           printf("Veuillez saisir l'âge du Skieur\n");
                           scanf("%d%*c", &iAge);
                           creerSkieur(&pSkieur, &sNom, &sPrenom, &sAdresse, iAge);
    Ceci permet de saisir les données et ensuite cela appel la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    int creerSkieur(Skieur **skieur, char *sNom, char *sPrenom, char *sAdresse, int iAge) {
    *skieur = malloc (sizeof(Skieur));
    strcpy((*skieur)->sNom,sNom);
    strcpy((*skieur)->sPrenom,sPrenom);
    strcpy((*skieur)->sAdresse,sAdresse);
    (*skieur)->iAge=iAge;
     
    printf("Le nom est :%s, son Prenom est: %s et il est age de %d\n", 
                  (*skieur)->sNom,(*skieur)->sPrenom, (*skieur)->iAge);
    main();
    }
    La fonction est bien déclaré je n'ai pas mis tout le code.

    Précision:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    typedef struct {
            char sNom[TAILLE_NOM];
            char sPrenom[TAILLE_PRENOM];
            char sAdresse[TAILLE_ADRESSE];
            int iAge;
            } Skieur;
     
     
    //Définition des fonctions 
    int creerSkieur(Skieur **skieur, char *sNom, char *sPrenom, char *sAdresse, int iAge);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     //Elements pour la Structure Skieur
        int i;
        Skieur *pSkieur;
        char sNom;
        char sPrenom;
        char sAdresse;
        int iAge;
        int choix;
        //Fin
    La dernière instructions de ma fonction creerSkieur, qui est censé afficher le nom prenom et age me donne un truc bizzare pour sNom et sPrenom genre e2>!, mais pour l'âge ça marche, d'oû mon imcompréhension !!

    Deuxième question, le nom prénom et surtout l'adresse sont des variables qui risquent bien d'être en plusieurs mots et avec des espace, et dans mon programme cela ne marche pas dès que je tape une adresse avec plusieurs mots le programme s'arrête !

    Ps: ce n'est pas un problème de compilation.


    Merci beaucoup d'avance de votre aide !!

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 950
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 950
    Points : 5 667
    Points
    5 667
    Par défaut
    Jeo,

    Regarde de plus près les définitions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        char sNom;
        char sPrenom;
        char sAdresse;
    Rien ne te choque ?

  3. #3
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Points : 2 505
    Points
    2 505
    Par défaut
    Et pour ta deuxième question, saches que le %s de scanf s'arrète au premier caractère blanc (espace par exemple). Utilises plutôt fgets(). scanf() est un peu casse-gueule.

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Hé, les skieurs sont de retour!
    (Presque) exactement deux ans plus tard, c'est être ponctuel, ça...

  5. #5
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Hé, les skieurs sont de retour!
    (Presque) exactement deux ans plus tard, c'est être ponctuel, ça...
    Bon alors bon anniversaire Médinoc (avec 2 jours de retard )!!!

  6. #6
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Merci

Discussions similaires

  1. Problème passage d'arguments
    Par krigeur dans le forum C++
    Réponses: 2
    Dernier message: 06/04/2011, 13h51
  2. [NEWBIE] Problème passage en paramètre
    Par Goundy dans le forum Langage
    Réponses: 4
    Dernier message: 22/10/2005, 20h18
  3. Réponses: 5
    Dernier message: 31/08/2005, 10h05
  4. [JSP] Problème passage paramètre
    Par besco dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 13/09/2004, 10h15
  5. Problème passage de pointeur
    Par mick74 dans le forum MFC
    Réponses: 2
    Dernier message: 21/04/2004, 18h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo