pointeurs struct tableau c++
Le
aquatou
Bonjour,
J'ai fait une fonction que j'aimerais subdiviser pour pouvoir réutiliser certaines parties. J'ai un struct qui est au départ avec plusieurs éléments. Je veux faire un tableau et que si je passe d'une fonction à une autre l'information se cumule dans la bonne case. Donc je vais faire ça en plus simple Disons que je dois rentrer une séquence d'ADN. Mon programme fait déjà tout bien, mais je veux séparer cette fonction de celle qui demande à l'utilisateur de rentrer la longueur. Je sais que je dois utiliser les pointeurs mais je n'y arrive pas. Qu'est-ce que je dois mettre dans l'entête de la fonction ? J'ai essayé ceci mais ça marche pas..
void saisirSequence (){
*unGene.sequence= " ";
//je vous épargne les détails sur le reste de la fonction
cout <<"Entrez la séquence" <<endl;
cin>> *unGene.sequence;
et ensuite quand je l'appelle dans le main qu'est-ce que je mets dans les parenthèses ?
Pouvez-vous m'aider ?
J'ai fait une fonction que j'aimerais subdiviser pour pouvoir réutiliser certaines parties. J'ai un struct qui est au départ avec plusieurs éléments. Je veux faire un tableau et que si je passe d'une fonction à une autre l'information se cumule dans la bonne case. Donc je vais faire ça en plus simple Disons que je dois rentrer une séquence d'ADN. Mon programme fait déjà tout bien, mais je veux séparer cette fonction de celle qui demande à l'utilisateur de rentrer la longueur. Je sais que je dois utiliser les pointeurs mais je n'y arrive pas. Qu'est-ce que je dois mettre dans l'entête de la fonction ? J'ai essayé ceci mais ça marche pas..
void saisirSequence (){
*unGene.sequence= " ";
//je vous épargne les détails sur le reste de la fonction
cout <<"Entrez la séquence" <<endl;
cin>> *unGene.sequence;
et ensuite quand je l'appelle dans le main qu'est-ce que je mets dans les parenthèses ?
Pouvez-vous m'aider ?

Poser une question


Votre prototype est incorrect, il devrait être
void saisirSequence (void){
Ben rien, puisque la fonction ne prend pas de paramêtre, et remplit une
variable gobale.
--
XAv
In your pomp and all your glory you're a poorer man than me,
as you lick the boots of death born out of fear.
(Jethro Tull)
Bonjour,
en C, ça donne :
void saisirSequence (struct nomstructure *unGene) { /* note l'* */
*unGene... } /* note l'* */
dans le main() :
struct nomstructure unGene; /* pas d'* */
saisirSequence(&unGene); /* note le & */
en C++, il doit être possible de faire qqc comme ça :
void saisirSequence (struct nomstructure &unGene) { /* note le & */
unGene... } /* note qu'il n'y a pas d'* */
dans le main() :
struct nomstructure unGene; /* pas d'* */
saisirSequence(unGene); /* pas de & */
alternative du main() :
allocation dans le tas plutôt que la pile si je ne me trompe...
struct nomstructure *unGene; /* note l'* */
unGene = calloc(1, sizeof (struct nomstructure));
...
PS : le c++ que j'ai pu apprendre remonte à trop loin pour que je
puisse t'affirmer que ce que je viens de dire est valide ou non,
mais c'est très certainement une piste...
toutefois, en C++, la logique serait d'avoir une classe avec un
constructeur, un destructeur, des méthodes et plein de choses
comme ça, non ?
http://www.cplusplus.com/doc/tutorial/
Cordialement,
Cyrille Lefevre.
--
mailto:Cyrille.Lefevre-news%
supprimer "%nospam% et ".invalid" pour me repondre.