Création d'un fichier en C
larevelation
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
rmi77 Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
rmi77 Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un programme qui marche en c et j'aimerais extraire les données et resultats que mon programme me donne. Que dois je faire????
voici mon programme:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<math.h>
typedef struct pt_ordi{ int x,y;} ;
typedef struct pt_math{ float x,y;};
typedef float mat[20][20];
typedef float tab[20];
tab a,b,m,d,h,Z,B;
mat L,U,A;
int N=3,echellex=20,echelley=20;
struct pt_math Pt[20];
char Pt_n []={'z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
struct pt_ordi origine;
struct pt_math saisie(char ce)
{ struct pt_math p;
float ix,iy;
printf("entrer %c :\n %c x=",ce,ce);
scanf("%f",&ix);
printf(" %c y=",ce);
scanf("%f",&iy);
p.x=ix;p.y=iy;
return(p);
}
void saisie_pt_coord()
{ struct pt_math p;
int i;
for (i=1;i<=N;i++)
{
p=saisie(Pt_n[i]);
Pt[i].x=p.x;
Pt[i].y=p.y;
}
}
struct pt_ordi change_Pt(struct pt_math monpoint)
{
struct pt_ordi p;
p.x=(int)(origine.x+monpoint.x*echellex);
p.y=(int)(origine.y-monpoint.y*echelley);
return(p);
}
void calcul_h()
{ int i;
for (i=1;i<N;i++)
h[i]=Pt[i+1].x-Pt[i].x;
}
void calcul_a()
{ int i;
for (i=1;i<=N;i++)
a[i]=Pt[i].y;
}
void create_A()
{ int i,j;
for (i=1;i<=N;i++)
for (j=1;j<=N;j++)
A[i][j]=0;
A[1][1]=A[N][N]=1;
for (i=2;i<N;i++)
{
A[i][i-1]=h[i-1];
A[i][i]=2*(h[i-1]+h[i]);
A[i][i+1]=h[i];
}
}
void create_B()
{ int i,j;
B[1]=B[N]=0;
for (i=2;i<N;i++)
B[i]=(6*(a[i+1]-a[i])/h[i])-(6*(a[i]-a[i-1])/h[i-1]);
}
void calcul_LU()
{
int i,j;
for (i=1;i<=N;i++)
for (j=1;j<=N;j++)
L[i][j]=0;
for (i=1;i<=N;i++)
for (j=1;j<=N;j++)
{
if (i==j) U[i][j]=1;
else U[i][j]=0;
}
L[1][1]=A[1][1];
for (i=2;i<=N;i++)
{
L[i][i-1]=A[i][i-1];
U[i-1][i]=A[i-1][i]/L[i-1][i-1];
L[i][i]=A[i][i]-L[i][i-1]*U[i-1][i];
}
}
void calcul_Z()
{
int i;
Z[1]=B[1]/L[1][1];
for (i=2;i<=N;i++)
Z[i]=(B[i]-L[i][i-1]*Z[i-1])/L[i][i];
}
void calcul_m()
{ int i;
m[N]=Z[N];
for (i=N-1;i>1;i--)
m[i]=Z[i]-U[i][i+1]*m[i+1];
}
void afficheA()
{
int i,j;
for (i=1;i<=N;i++)
for (j=1;j<=N;j++)
{
printf("%2.1f",A[i][j]);
}
}
void afficheL()
{
int i,j;
for (i=1;i<=N;i++)
for (j=1;j<=N;j++)
{
printf("%2.1f",L[i][j]);
}
}
void afficheU()
{
int i,j;
for (i=1;i<=N;i++)
for (j=1;j<=N;j++)
{
printf("%2.1f",U[i][j]);
}
}
void afficheB()
{ int i;
for (i=1;i<=N;i++)
{
printf("B[%d]=%2.1f\n",i,B[i]);
}
}
void afficheh()
{ int i;
for (i=1;i<N;i++)
printf("h[%d]=%2.1f\n",i,h[i]);
}
void affichea()
{ int i;
for (i=1;i<=N;i++)
printf("a[%d]=%2.1f\n",i,a[i]);
}
void affichem()
{ int i;
for (i=1;i<=N;i++)
printf("m[%d]=%2.1f\n",i,m[i]);
}
void afficheZ()
{ int i;
for (i=1;i<=N;i++)
printf("Z[%d]=%2.1f\n",i,Z[i]);
}
void principal()
{
printf("entrer le nombre de points que vous voulez pour votre spline:");scanf("%d",&N);
printf(" entrer les coordonees de vos points:\n");
saisie_pt_coord();printf("\n");
calcul_h();afficheh();printf("\n");
calcul_a();affichea();getch();
create_A();printf("Affichage de A");afficheA();getch();
create_B();printf("Affichage de B\n");afficheB();getch();
calcul_LU();printf("Affichage de L\n");afficheL();getch();
printf("Affichage de U\n"); afficheU();getch();
calcul_Z(); afficheZ();getch();
printf("\n");
printf(" voici mes coeficients splines:\n");
calcul_m();affichem();printf("\n");
}
void main()
{
int i;
principal();
getch();
}
J'aimerais extraire le m[i], n et les coordonnées que j'ai entré
J'ai un programme qui marche en c et j'aimerais extraire les données et resultats que mon programme me donne. Que dois je faire????
voici mon programme:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<math.h>
typedef struct pt_ordi{ int x,y;} ;
typedef struct pt_math{ float x,y;};
typedef float mat[20][20];
typedef float tab[20];
tab a,b,m,d,h,Z,B;
mat L,U,A;
int N=3,echellex=20,echelley=20;
struct pt_math Pt[20];
char Pt_n []={'z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
struct pt_ordi origine;
struct pt_math saisie(char ce)
{ struct pt_math p;
float ix,iy;
printf("entrer %c :\n %c x=",ce,ce);
scanf("%f",&ix);
printf(" %c y=",ce);
scanf("%f",&iy);
p.x=ix;p.y=iy;
return(p);
}
void saisie_pt_coord()
{ struct pt_math p;
int i;
for (i=1;i<=N;i++)
{
p=saisie(Pt_n[i]);
Pt[i].x=p.x;
Pt[i].y=p.y;
}
}
struct pt_ordi change_Pt(struct pt_math monpoint)
{
struct pt_ordi p;
p.x=(int)(origine.x+monpoint.x*echellex);
p.y=(int)(origine.y-monpoint.y*echelley);
return(p);
}
void calcul_h()
{ int i;
for (i=1;i<N;i++)
h[i]=Pt[i+1].x-Pt[i].x;
}
void calcul_a()
{ int i;
for (i=1;i<=N;i++)
a[i]=Pt[i].y;
}
void create_A()
{ int i,j;
for (i=1;i<=N;i++)
for (j=1;j<=N;j++)
A[i][j]=0;
A[1][1]=A[N][N]=1;
for (i=2;i<N;i++)
{
A[i][i-1]=h[i-1];
A[i][i]=2*(h[i-1]+h[i]);
A[i][i+1]=h[i];
}
}
void create_B()
{ int i,j;
B[1]=B[N]=0;
for (i=2;i<N;i++)
B[i]=(6*(a[i+1]-a[i])/h[i])-(6*(a[i]-a[i-1])/h[i-1]);
}
void calcul_LU()
{
int i,j;
for (i=1;i<=N;i++)
for (j=1;j<=N;j++)
L[i][j]=0;
for (i=1;i<=N;i++)
for (j=1;j<=N;j++)
{
if (i==j) U[i][j]=1;
else U[i][j]=0;
}
L[1][1]=A[1][1];
for (i=2;i<=N;i++)
{
L[i][i-1]=A[i][i-1];
U[i-1][i]=A[i-1][i]/L[i-1][i-1];
L[i][i]=A[i][i]-L[i][i-1]*U[i-1][i];
}
}
void calcul_Z()
{
int i;
Z[1]=B[1]/L[1][1];
for (i=2;i<=N;i++)
Z[i]=(B[i]-L[i][i-1]*Z[i-1])/L[i][i];
}
void calcul_m()
{ int i;
m[N]=Z[N];
for (i=N-1;i>1;i--)
m[i]=Z[i]-U[i][i+1]*m[i+1];
}
void afficheA()
{
int i,j;
for (i=1;i<=N;i++)
for (j=1;j<=N;j++)
{
printf("%2.1f",A[i][j]);
}
}
void afficheL()
{
int i,j;
for (i=1;i<=N;i++)
for (j=1;j<=N;j++)
{
printf("%2.1f",L[i][j]);
}
}
void afficheU()
{
int i,j;
for (i=1;i<=N;i++)
for (j=1;j<=N;j++)
{
printf("%2.1f",U[i][j]);
}
}
void afficheB()
{ int i;
for (i=1;i<=N;i++)
{
printf("B[%d]=%2.1f\n",i,B[i]);
}
}
void afficheh()
{ int i;
for (i=1;i<N;i++)
printf("h[%d]=%2.1f\n",i,h[i]);
}
void affichea()
{ int i;
for (i=1;i<=N;i++)
printf("a[%d]=%2.1f\n",i,a[i]);
}
void affichem()
{ int i;
for (i=1;i<=N;i++)
printf("m[%d]=%2.1f\n",i,m[i]);
}
void afficheZ()
{ int i;
for (i=1;i<=N;i++)
printf("Z[%d]=%2.1f\n",i,Z[i]);
}
void principal()
{
printf("entrer le nombre de points que vous voulez pour votre spline:");scanf("%d",&N);
printf(" entrer les coordonees de vos points:\n");
saisie_pt_coord();printf("\n");
calcul_h();afficheh();printf("\n");
calcul_a();affichea();getch();
create_A();printf("Affichage de A");afficheA();getch();
create_B();printf("Affichage de B\n");afficheB();getch();
calcul_LU();printf("Affichage de L\n");afficheL();getch();
printf("Affichage de U\n"); afficheU();getch();
calcul_Z(); afficheZ();getch();
printf("\n");
printf(" voici mes coeficients splines:\n");
calcul_m();affichem();printf("\n");
}
void main()
{
int i;
principal();
getch();
}
J'aimerais extraire le m[i], n et les coordonnées que j'ai entré
A voir également:
- Création d'un fichier en C
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
3 réponses
utilise la fonction fprintf pour écrire dans un fichier.
Ne confond pas printf et fprintf
Pour plus d'informations, lit le tutoriel de m@teo21 sur le Site du zéro :
https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c/16421-lire-et-ecrire-dans-des-fichiers
Siteduzéro.com est une marque déposé par Simple IT S.A.R.L.
Ne confond pas printf et fprintf
Pour plus d'informations, lit le tutoriel de m@teo21 sur le Site du zéro :
https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c/16421-lire-et-ecrire-dans-des-fichiers
Siteduzéro.com est une marque déposé par Simple IT S.A.R.L.
mais la c tous un cours kekun n'a pas un example d code ki marche??? pour je l'adapte