Liste chaine et fichier

fathy -  
 fathy -
Bonjour,
je suis un passionne et debutant en programation c
j'ai commencé a faire un programme C qui donne le resultat de S=Xi+1(Yi+1-Yi-1) avec i est un indice
et est le surface d'un polygone de n sommet
alor je choisie de travailler avec la liste chainee :
-input de notre donne est un fichier txt qui contient les Xs et les Ys
-output est un fichier txt qui contient S
j'ai fait un programme mais j'ai trouvee un probleme de refaire mon travail avec les sous program avec integration de code qui lit de la fichier
voila le script

#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
struct cellule
{
float x;
float y;
struct cellule *lien;
};
void main ()
{ float a,o ,s=0,pr=0,dx,dy;
int i,n;
struct cellule *first=NULL,*p,*m,*ok,*aux ;

/*********************NOMBRE DES SOMMETS***************************************/

do{
printf("nombre des sommets\n");

scanf("%d",&n);
}while(n<3);

/************************coordonne de 1 er cellule*****************************/

printf("Tapez l'X N°1 : ");
scanf("%f",&a);
printf ("Tapez l'Y N°1 :");
scanf("%f" ,&o);
p=(struct cellule*)malloc(sizeof(struct cellule));
m=p;
p->x=a;
p->y=o;
p->lien=first;
first=p ;

/***********************coordonee des cellules suivantes**********************/

for (i=1;i<n ;i++){
p=(struct cellule*)malloc(sizeof(struct cellule));
printf ("Tapez l'X N°%d :",i+1);
scanf("%f" ,&p->x);
printf ("Tapez l'Y N°%d :",i+1);
scanf("%f" ,&p->y);
p->lien=first;
first=p;
}

/******************************calcul de surface & de perimetre****************/

ok=first;
s=s+(0.5 *abs(ok->x *(m->y - (ok->lien)->y)));
dx=(ok->x - m->x);
dy=(ok->y - m->y);
pr=pr+sqrt((dx*dx)+(dy*dy));
aux=ok;
ok=ok->lien;
while(ok->lien != NULL)
{
s=s+(0.5*abs((ok->x*(aux->y - (ok->lien)->y))));
dx=(ok->x - aux->x);
dy=(ok->y - aux->y);
pr=pr+sqrt((dx*dx)+(dy*dy));
aux=ok;
ok=ok->lien;
}
s=s+(0.5*abs(ok->x*(aux->y - first->y)));
dx=(ok->x - aux->x);
dy=(ok->y - aux->y);
pr=pr+sqrt((dx*dx)+(dy*dy));
printf("la surface est %.3f\n",s);
printf("le perimetre est%.3f",pr);
}
/****************fin de programme********************/
A voir également:

1 réponse

kazouu Messages postés 466 Statut Membre 12
 
je ne comprend pas bien le problème de ton post

j'ai fait un programme mais j'ai trouvée un problème de refaire mon travail avec les sous program avec intégration de code qui lit de la fichier

ca veut dire quoi ?
0
fathy
 
bonjour ,
je veux refaire le travail avec une fonction -saisie,fonction lire les donnees d'un fichier txt ,fonction calcul de surface et une fonction de'enregistrement ds un autre fichier txt.

merci
fathy
0