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