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 :

Saisie dans une structure


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2020
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2020
    Messages : 1
    Par défaut Saisie dans une structure
    Bonjour je désire avoir quelques informations sur la saisie de texte lorsque je passe une structure en parametre a une fonction. Je ne parviens pas a demander à l'utilisateur d'entrer son nom dans un tableau qui est dans une structure.
    Ex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void ajouterMemebres(StMembres* membre)
    {
       int i = 0;
       scanf_s("%s", membre[i]->tNom);
    }
     
    void afficherMembre(StMembres* membre)
    {
       int i = 0;
       printf_s("%s", membre[i]->tNom);
    }
    Merci a vous pour votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 599
    Par défaut
    Bonjour,

    Le problème ici est peut-être dû au fait que tu utilises la fonction sscanf_s qui ressemble à sscanf mais qui nécessite un paramètre de plus pour donner la taille max des tableaux.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       scanf_s("%s", membre[i].tNom, (unsigned)_countof(membre[i].tNom ) );
    Et il y a peut être aussi un accès pointeur de trop.

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Sans montrer comment tu appelles ces fonctions c'est pas tellement évident. Mais en voyant écrit membre[i] ça laisse penser que tu passes un tableau de StMembres à tes fonctions. Donc membre[i] n'étant plus un pointeur sur un StMembre mais un vrai StMembre, ce n'est pas la notation "flèche" qu'il faut utiliser mais la notation "point"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void ajouterMemebres(StMembres* membre) {
    	size_t i = 0;		// Les indices des tableaux sont de type "size_t"
    	scanf_s("%s", membre[i].tNom);
    }
     
    int main() {
    	StMembre tab[100];
    	ajouterMembre(tab);
    }
    Si maintenant tu passes juste l'adresse d'un simple StMembre, alors comme ce n'est pas un tableau pas de notation [i] à appliquer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    void ajouterMemebres(StMembres* membre) {
    	scanf_s("%s", membre->tNom);
    }
     
    int main() {
    	StMembre m;
    	ajouterMembre(&m);
    }
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Blindage de saisie dans une structure
    Par psiko dans le forum C
    Réponses: 8
    Dernier message: 13/02/2014, 19h44
  2. Enlver un noeud dans une structure XML
    Par Sharingan dans le forum ASP
    Réponses: 4
    Dernier message: 20/12/2004, 08h08
  3. donée de plusieur vecteur dans une structure ??
    Par lipczynski dans le forum C++
    Réponses: 5
    Dernier message: 13/08/2004, 08h17
  4. type void* dans une structure
    Par barbapapaz dans le forum C
    Réponses: 3
    Dernier message: 16/07/2004, 16h11
  5. saisie dans une fenetre de service
    Par gord's dans le forum Composants VCL
    Réponses: 4
    Dernier message: 05/11/2003, 16h25

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