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![]()

Rispondi quotando
