Code :
struct StructDonnees { char dayte [TailleDate+1]; char CodeClient [TailleCodeClient+1]; char CodeLingerie [TailleCodeLingerie+1]; char CodeService [TailleCodeServiceGenerix+1]; char CodeArticle [TailleCodeArticleGenerix+1]; char NumBordereau [TailleNumBordereau+1]; char quantite [TailleQuantite+1]; }; StructDonnees *TableDonnees; void AjouteDonnees (StructDonnees *TableDonnees,long unsigned i,char *1,char *2,char *3,char *4,char *5,char *6,char *7) { strcpy (TableDonnees [i].dayte,1); strcpy (TableDonnees [i].CodeClient,2); strcpy (TableDonnees [i].CodeLingerie,3); strcpy (TableDonnees [i].CodeService,4); strcpy (TableDonnees [i].CodeArticle,5); strcpy (TableDonnees [i].NumBordereau,6); strcpy (TableDonnees [i].quantite,7); } if (CompteurTable==0) { AjouteDonnees (TableDonnees,1,dayte,CodeClient,CodeLingerie,CodeService,CodeArticle,NumBordereau,quantite); CompteurTable++; } else { i=CompteurTable; while (i>=1 && strcmp (TableDonnees [i].CodeLingerie,CodeLingerie)>0) { i--; } if (strcmp (TableDonnees [i].CodeLingerie,CodeLingerie)!=0) {// LE CODE LINGERIE N'EXISTE PAS => INSERTION DE LA LIGNE for (j=CompteurTable;j>=i+1;j--) { TableDonnees [j+1]=TableDonnees [j]; } AjouteDonnees (TableDonnees,i,dayte,CodeClient,CodeLingerie,CodeService,CodeArticle,NumBordereau,quantite); CompteurTable++; } else {// LE CODE LINGERIE EXISTE => RECHERCHE DU CODE SERVICE while (i>=1 && strcmp (TableDonnees [i].CodeLingerie,CodeLingerie)==0 && strcmp (TableDonnees [i].CodeService,CodeService)>0) { i--; } if (strcmp (TableDonnees [i].CodeService,CodeService)!=0) {// LE CODE SERVICE N'EXISTE PAS => INSERTION DE LA LIGNE for (j=CompteurTable;j>=i+1;j--) { TableDonnees [j+1]=TableDonnees [j]; } AjouteDonnees (TableDonnees,i,dayte,CodeClient,CodeLingerie,CodeService,CodeArticle,NumBordereau,quantite); CompteurTable++; } else {// LE CODE SERVICE EXISTE => RECHERCHE DU CODE ARTICLE while (i>=1 && strcmp (TableDonnees [i].CodeLingerie,CodeLingerie)==0 && strcmp (TableDonnees [i].CodeService,CodeService)==0 && strcmp (TableDonnees [i].CodeArticle,CodeArticle)>0) { i--; } if (strcmp (TableDonnees [i].CodeArticle,CodeArticle)!=0) {// LE CODE ARTICLE N'EXISTE PAS => INSERTION DE LA LIGNE for (j=CompteurTable;j>=i+1;j--) { TableDonnees [j+1]=TableDonnees [j]; } AjouteDonnees (TableDonnees,i,dayte,CodeClient,CodeLingerie,CodeService,CodeArticle,NumBordereau,quantite); CompteurTable++; } else {// LE CODE ARTICLE EXISTE QteTotale=atoi (TableDonnees [i].quantite) + atoi (quantite); sprintf (TableDonnees [i].quantite,"%lu",QteTotale); }// FIN DU else DU if (strcmp (TableDonnees [i].CodeArticle,CodeArticle)!=0) }// FIN DU else DU if (strcmp (TableDonnees [i].CodeService,CodeService)!=0) }// FIN DU else DU if (strcmp (TableDonnees [i].CodeLingerie,CodeLingerie)!=0) }// FIN DU else DU if (CompteurTable==0)
|