Salve a tutti, sono nuovo del forum ma ho letto diversi articoli di html.it
ho un problema: dovrei scrivere un programma che, partendo dal file "materiali.dat" (supponendo che sia gia' scritto e supponendo che contenga diversi materiali) distinti da un colore, un costo, se sono materiali per pavimenti o per pareti, lunghezza e altezza (dimensioni insomma), mi visualizzi il materiale per pavimento piu' costoso, mi visualizzi il materiale da parete piu' costoso, mi scriva su altri due file (pavimenti.dat e parete.dat) l'elenco dei rispettivi materiali (in pavimenti.dat mi scriva tutti i materiali da pavimenti, mentre in parete.dat mi scriva tutti i materiali da parete).
Ho scritto qualcosina, il main sopratutto ma ho diversi problemi con le funzioni che devo utilizzare nel programma. vi posto quello che ho scritto:


codice:
#include <stdio.h>

typedef enum {pavimento, parete} tipoMateriale;
typedef struct {char colore[20];
				float costo;
				float lunghezza, altezza;
				tipoMateriale tipo;
				}caratteristicheMat;
				
	
FILE *pf;
			
void visualizza_pavimento();
void visualizza_parete();
void scrivi_pavimento();
void scrivi_parete();
	
void main ()
		{	
			caratteristicheMat materiale; 
			caratteristicheMat nuovoMat;
			int scelta;
			
		do	{	printf("digita 1 per visualizzare il pavimento piu' costoso,\ndigita 2 per visualizzare il materiale da parte piu' costoso,\ndigita 3 per ordinare tutti i pavimenti nel file pavimenti.dat,\ndigita 4 per ordinare tutti i materiali da parete nel file parete.dat,\ndigita 0 per terminare il programma:\n");
			scanf("%d", &scelta);
			
		switch (scelta)
				
				{case 1: visualizza_pavimento();
				         break;  
				 
				 case 2: visualizza_parete();
				 		 break;
				 
				 case 3: scrivi_pavimento();
				 		 break;
				 
				 case 4: scrivi_parete();
				 		 break;
				 
				 case 0: printf("arrivederci");
				 		 break;
				 		 	 		 
				}
			while (scelta);
			}
			

void visualizza_pavimento()
	{ caratteristicheMat temp1;
	  caratteristicheMat temp2;
	  
	  if(pf=fopen("materiali.dat", "r=") !=NULL)
	  	{	while (fread(&temp1, sizeof(caratteristicheMat), 1, pf!=0 && fread(&temp2, sizeof(caratteristicheMat, 1, pf!=0) 
	  			{if(temp.tipo == pavimento && temp1.costo <= temp2.costo)
	                {


grazie in anticipo, spero possiate aiutarmi o almeno darmi qualche dritta. ovviamente il programma deve essere scritto in linguaggio C