Sei sulla pagina 1di 3

header.h #include<stdio.h> #include<conio.

h> void *xmalloc ( size_t size ); char *citire_nume (); double **aloc2d (size_t n,size_t m); double **citire_pl (int n,int m ); double *citire_pr (int m) ; void afisare (int n,int m,double **p,double *s,char *nume); int prelf(); double f1(int n,int m,double **p,double *s); double f2(int n,int m,double **p,double *s); double f3(int n,int m,double **p,double *s); functii.h include <stdio.h> #include <stdlib.h> #include "header.h" void *xmalloc (size_t size ) { void *p=malloc (size); if (p==NULL) { printf ("memorie insuficienta"); exit (1); } return p; } char *citire_nume () { char *p; p=(char*)xmalloc (100*sizeof(char)); fflush(stdin); fgets(p,100,stdin); return p; } double **aloc2d (size_t n,size_t m) { double **mat; int i; mat=(double **)xmalloc(n*sizeof (double *)); for (i=0;i<n;i++) mat[i]=(double *)xmalloc (m*sizeof (double)); return mat; } double **citire_pl (int n,int m) { double **mat; int i,j; mat=aloc2d (n,m); for (i=0;i<n;i++) for (j=0;j<m;j++) do { scanf ("%lf" ,&mat[i][j]); if (mat[i][j]<=0) printf ("redati"); }

while (mat[i][j]<=0); return mat; } double *citire_pr (int m) { double *pr; int i; pr=(double *)xmalloc (m*sizeof (double)); for (i=0;i<m;i++) do { scanf ("%lf", &pr[i]); if (pr[i]<=0) printf ("redati"); } while (pr[i]<=0); return pr; } void afisare (int n,int m,double **p,double *s,char *nume) { int i,j; printf ("\nSt de cerc. ag. %s are %dx%d parcele cultivate cu plante med. de pe care se obtine un prod: \n",nume,n,m); for (i=0;i<n;i++) { for (j=0;j<m;j++) printf ( "%8.2lf",p[i][j]); printf ("\n"); } printf ("\nPreturile pe kg de pe coloane sunt:"); for (i=0;i<m;i++) printf ("%10.2lf",s[i]); } int prelf() { int prel; printf ("\nDati prelucrare dorita 1/2/3: "); scanf (" %d",&prel) ; return prel; } double f1(int n,int m,double **p,double *s) { double a; printf ("\nS-a ales prel 1"); return a; } double f2(int n,int m,double **p,double *s) { double a; printf ("\nS-a ales prel 2"); return a; } double f3(int n,int m,double **p,double *s) { double a; printf ("\nS-a ales prel 3"); return a; }

main.c #include <stdio.h> #include <stdlib.h> #include "header.h" int main (void) { int n,m,gata,prel; double **p; double *s; char *nume; do { printf ("\nDati numele plantatiei:\n"); nume=citire_nume(); printf ("\nDati nr de randuri si numarul de parcele pe f iecare rand: \n"); scanf (" %d %d",&n,&m); printf( "\nDati productia de plante: \n"); p=citire_pl (n,m); printf (" \nDati pretul pe coloane: \n"); s=citire_pr(m); afisare (n,m,p,s,nume); prel=prelf(); switch(prel) { case 1:f1(n,m,p,s);break; case 2:f2(n,m,p,s);break; case 3:f3(n,m,p,s);break; } free(p); free (s); free (nume); printf ("\nDoriti sa continuati? da-1;nu-0 "); scanf ("%d",&gata); } while (gata); return 0; }

Potrebbero piacerti anche