atfximen Posté(e) le 13 mars 2006 Auteur Partager Posté(e) le 13 mars 2006 Donc pour toi, je devrais passer à ma fonction affiche_fact, tab1+cpt1??? Ce qui désignerait le pour toi le premier élément de tab1??? Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 14 mars 2006 Partager Posté(e) le 14 mars 2006 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. non ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
atfximen Posté(e) le 14 mars 2006 Auteur Partager Posté(e) le 14 mars 2006 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 More sharing options...
sebian Posté(e) le 15 mai 2006 Partager Posté(e) le 15 mai 2006 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 More sharing options...
atfximen Posté(e) le 15 mai 2006 Auteur Partager Posté(e) le 15 mai 2006 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! Mais que veux tu dire par soit des pointeurs soit un index? Car chez nous, ça n'a aucun rapport 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 More sharing options...
sebian Posté(e) le 15 mai 2006 Partager Posté(e) le 15 mai 2006 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! Mais que veux tu dire par soit des pointeurs soit un index? Car chez nous, ça n'a aucun rapport 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. 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 More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.