1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
L_PROCESSUS*cree_l_processus(L_PROCESSUS*tete)
{
FILE*f;
char s[100];
int i=1,csa=0,cse=0,q=0,ent;
int t[15];
int trouv=0;
int n=0; //taille tableau filtré des composants
PROCESSUS *a;
L_PROCESSUS*nouv;
nouv=(L_PROCESSUS*)malloc(sizeof(L_PROCESSUS));
nouv->suiv=NULL;
f=fopen("c:\\process.txt","r");
rewind(f);
/*creation du tableau contenant tous les composants: lecture du
fichier process.txt et remplissage, avec une suele occurence
de chaque composant*/
/*fgets(s,100,f);
sscanf(s,"%4d",&ent);
t[0]=ent;
n++;*/
while(!feof(f))
{
//printf("ahla");
fgets(s,100,f);
sscanf(s,"%4d",&ent);
for (int aa=0;aa<n;aa++)
{
if(ent==t[aa])
{
fgets(s,100,f);
trouv=1;
sscanf(s,"%4d",&ent);//deja existe
//passe a la ligne suivante
}
}
if((aa==n)) //atteint la fin du tableau.l'element n'existait pas
// au tableau; on l'ajoute.
{t[n]=ent;
n++;}
//fgets(s,100,f);
}
//printf("%d\n" ,t[n-1]);
//printf("%d\n" ,n);
for (int aaa=0;aaa<n;aaa++)
printf("%d ",t[aaa]);
/*1er element*/
rewind(f);
fgets(s,100,f);
sscanf(s,"%4d %4d %4d",&nouv->a.composant,&nouv->a.compose[0],&nouv->a.qte[0]);
tete=nouv;
while(!feof(f))
{
fgets(s,100,f);
sscanf(s,"%4d %4d %4d",&csa,&cse,&q);
if(csa==nouv->a.composant)
{
nouv->a.compose[i]=cse;
nouv->a.qte[i]=q;
i++;
}
}
return(tete);
} |
Partager