Aller au contenu

cmt remettre à 0 un tab de structures


atfximen

Messages recommandés

le premier élément vide.

quand tu ajoute une facture, il faut la mettre dans la première case vide, ce qui correspond à la première case + nb de case utilisée, donc tab1+cpt1.

Oui je suis d'accord, mais ça ne fonctionne toujours pas!

Mais je pense plutôt que la facture s'ajoute au bon endroit, mais que l'affichage ne parcourt pas l'entièreté de mon tableau.

Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...

case 3:

cpt1=facture(tab,tab1,cpt,cpt1);

break;

tu passes le pointer vers tab et tab1, cpt est constant

int facture(struct client *tab,struct facture *tab1,int cpt,int cpt1)

{

...

tab1->numfact=cpt1;

...

tab1->sommefact=tab[fl].sommedue;

...

tab1->sommefact=tab1->sommefact-((reduction/100)*tab1->sommefact)+(tab1->sommefact*(tab->tva/100));

...

}

Que veux-tu ???????

tab1 est l'adresse mémoire de tab1[0], donc dans ce cas tu écris TOUJOURS à tab1[0] ...

soit tu utilises les pointeurs soit tu utilises des index, mais là tu n'as rien compris ...

cpt1 correspondant au n° de facture précédente lors de l'entrée du code, mais tu incrémentes avant d'affecter ...

donc soit tu fais ++tab1, et dans le main tab1 n'aura pas changé (vu que tu n'auras pas passé de **) soit tu fais ton cpt1++ et tu références avec tab1[cpt1].xxxxxxx ...

Si tu apprends a programmer, utilises déjà des noms de variable parlante.

Lien vers le commentaire
Partager sur d’autres sites

case 3:

cpt1=facture(tab,tab1,cpt,cpt1);

break;

tu passes le pointer vers tab et tab1, cpt est constant

int facture(struct client *tab,struct facture *tab1,int cpt,int cpt1)

{

...

tab1->numfact=cpt1;

...

tab1->sommefact=tab[fl].sommedue;

...

tab1->sommefact=tab1->sommefact-((reduction/100)*tab1->sommefact)+(tab1->sommefact*(tab->tva/100));

...

}

Que veux-tu ???????

tab1 est l'adresse mémoire de tab1[0], donc dans ce cas tu écris TOUJOURS à tab1[0] ...

soit tu utilises les pointeurs soit tu utilises des index, mais là tu n'as rien compris ...

cpt1 correspondant au n° de facture précédente lors de l'entrée du code, mais tu incrémentes avant d'affecter ...

donc soit tu fais ++tab1, et dans le main tab1 n'aura pas changé (vu que tu n'auras pas passé de **) soit tu fais ton cpt1++ et tu références avec tab1[cpt1].xxxxxxx ...

Si tu apprends a programmer, utilises déjà des noms de variable parlante.

Ce que je veux?

Bonne question lol...je ne me souviens plus de ce que j'étais censé faire, mais je sais bien que ça fonctionnait pour finir... Je l'ai rendu à mon prof, qui en était satisfait...donc moi aussi! :cartonrouge:

Mais que veux tu dire par soit des pointeurs soit un index?

Car chez nous, ça n'a aucun rapport :cartonrouge: Un index, étant un fichier (ou un tableau) reprenant p ex les noms des clients, que l'on trie par ordre alphabétique... Ce qui nous permet (en toute logique) d'aller plus vite dans les accèes fichiers.

Lien vers le commentaire
Partager sur d’autres sites

Ce que je veux?

Bonne question lol...je ne me souviens plus de ce que j'étais censé faire, mais je sais bien que ça fonctionnait pour finir... Je l'ai rendu à mon prof, qui en était satisfait...donc moi aussi! :transpi:

Mais que veux tu dire par soit des pointeurs soit un index?

Car chez nous, ça n'a aucun rapport :p Un index, étant un fichier (ou un tableau) reprenant p ex les noms des clients, que l'on trie par ordre alphabétique... Ce qui nous permet (en toute logique) d'aller plus vite dans les accèes fichiers.

:transpi: là tu n'étais pas en train de parler de fichiers ...

Qu'est ce qu'un index, c'est qq chose qui sert à pointer ... à juste titre dans une base de données, on utilise un fichier d'index pour pointer un enregistrement d'une table ...

Et comment appelles-tu un nombre qui permet de localiser un élément d'un tableau ?????? -> un index (coordonnées étant plus utilisé en tableau N dimensions) ...

int montableau[10];
for(int monindex=0;(monindex++)<10;)
  printf("la valeur dans mon tableau à l'index %d = %d\n",montableau[monindex],monindex);

monindex étant bien qq chose qui sert à pointer ...

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...