Code:
#include <stdio.h>
#include <stdlib.h>
// definizioni di costanti simboliche
#define MAX 20
#define COST2 3
void visualizzazione_clienti();
void visualizzazione_professionisti();
void visualizzazione_immobili();
typedef struct {
int giorno;
char mese[MAX];
int anno;
}
data_t;
typedef struct{
char nome[MAX];
char cognome[MAX];
char tipo_cliente[MAX];
float budget;
char immobile_cercato[MAX];
char mail[MAX];
int num_telefono;
}
cliente_t;
typedef struct{
int id;
char nome[MAX];
char cognome[MAX];
char area_competenza[MAX];
int case_vendute;
float totale_venduto;
int anni_exp;
char mail[MAX];
int num_telefono;
}
professionista_t;
typedef struct{
int id;
data_t data_carico; // data di presa in carico
char tipo_immobile[MAX];
float prezzo;
char localita[MAX];
char zona[MAX];
int bagni;
char servizi_vicini[MAX];
int camino;
char giardino[COST2];
char terrazzo[COST2];
int num_balconi;
float metri_quadri;
int garage;
int num_finestre;
int num_stanze;
}
immobile_t;
int main(void){
int n_scelta; // numero per la "scelta"
printf("La tua scelta-> ");
scanf("%d", &n_scelta);
puts("\n\n\nPREMI 1 PER VISUALIZZARE L'ELENCO DEI CLIENTI");
puts("\nPREMI 2 PER VISUALIZZARE L'ELENCO DEI PROFESSIONISTI");
puts("\nPREMI 3 PER VISUALIZZARE L'ELENCO DEGLI IMMOBILI");
do{
switch(n_scelta){
case '1':
visualizzazione_clienti();
break;
case '2':
visualizzazione_professionisti();
break;
case '3':
visualizzazione_immobili();
break;
}
} while(n_scelta!=0);
system("pause");
return 0;
}
void visualizza_clienti(){
cliente_t cliente;
FILE *fileclienti;
if((fileclienti=fopen("C://Users//Giuseppe//Desktop//new workspace//Agenzia_immobiliare_GRUPPO2//clienti.txt","r"))==NULL){
puts("\nErrore nell'apertura");
}
else{
while (fscanf(fileclienti, "%19s" "%19s" "%19s" "%f" "%19s" "%19s" "%d", cliente.nome, cliente.cognome, cliente.tipo_cliente, &cliente.budget, cliente.immobile_cercato, cliente.mail, &cliente.num_telefono)!= EOF ){
puts("\n-------------------------------------\n");
printf("\nNOME: %s ",cliente.nome);
printf("\nCOGNOME: %s ", cliente.cognome);
printf("\nTIPO DI CLIENTE: %s ", cliente.tipo_cliente);
printf("\nBUDGET: %.2f ", cliente.budget);
printf("\nIMMOBILE CERCATO: %s ", cliente.immobile_cercato);
printf("\nMAIL: %s ", cliente.mail);
printf("\nNUMERO DI TELEFONO: %d\n\n", cliente.num_telefono);
}
}
}
void visualizza_professionisti(){
professionista_t professionista;
FILE *fileprof;
if((fileprof=fopen("C://Users//Giuseppe//Desktop//new workspace//Agenzia_immobiliare_GRUPPO2//professionisti.txt", "r"))==NULL){
puts("\nErrore nell'apertura");
}
else{
while(fscanf(fileprof, "%d" "%19s" "%19s" "%14s" "%d" "%f" "%d" "%19s" "%d", &professionista.id, professionista.nome, professionista.cognome, professionista.area_competenza, &professionista.case_vendute, &professionista.totale_venduto, &professionista.anni_exp, professionista.mail, &professionista.num_telefono )!=EOF){
puts("\n-------------------------------------\n");
printf("\nID: %d ", professionista.id);
printf("\nNOME: %s ", professionista.nome);
printf("\nCOGNOME: %s ", professionista.cognome);
printf("\nAREA DI COMPETENZA: %s ",professionista.area_competenza);
printf("\nCASE VENDUTE: %d ", professionista.case_vendute);
printf("\nTOTALE VENDUTO: %.2f", professionista.totale_venduto);
printf("\nANNI DI ESPERIENZA: %d", professionista.anni_exp);
printf("\nMAIL: %s ", professionista.mail);
printf("\nNUMERO DI TELEFONO: %d\n\n", professionista.num_telefono);
}
}
}
void visualizza_immobili(){
immobile_t immobile;
FILE *fileimmobili;
if((fileimmobili=fopen("C://Users//Giuseppe//Desktop//new workspace//Agenzia_immobiliare_GRUPPO2//immobili.txt","r"))==NULL){
puts("\nErrore nell'apertura");
}
else{
while(fscanf(fileimmobili, "%d" "%d" "%19s" "%d" "%19s" "%f" "%19s" "%19s" "%d" "%19s" "%d" "%2s" "%2s" "%d" "%f" "%d" "%d" "%d", &immobile.id, &immobile.data_carico.giorno, immobile.data_carico.mese, &immobile.data_carico.anno, immobile.tipo_immobile, &immobile.prezzo, immobile.localita,immobile.zona, &immobile.bagni, immobile.servizi_vicini, &immobile.camino, immobile.giardino, immobile.terrazzo, &immobile.num_balconi, &immobile.metri_quadri, &immobile.num_finestre, &immobile.garage, &immobile.num_stanze)!=EOF){
puts("\n-------------------------------------\n");
printf("\nID: %d ", immobile.id);
printf("\nDATA DI PRESA IN CARICO\n ");
printf("\nGIORNO-> %d ", immobile.data_carico.giorno);
printf("\nMESE-> %s ", immobile.data_carico.mese);
printf("\nANNO-> %d\n\n", immobile.data_carico.anno);
printf("\nTIPO IMMOBILE: %s ", immobile.tipo_immobile);
printf("\nPREZZO: %.3f ", immobile.prezzo);
printf("\nLOCALITA': %s ", immobile.localita);
printf("\nZONA: %s ", immobile.zona);
printf("\nBAGNI: %d", immobile.bagni);
printf("\nSERVIZI VICINI: %s ", immobile.servizi_vicini);
printf("\nCAMINO: %d ", immobile.camino);
printf("\nGIARDINO: %s ", immobile.giardino);
printf("\nTERRAZZO: %s ", immobile.terrazzo);
printf("\nNUMERO DEI BALCONI: %d ", immobile.num_balconi);
printf("\nMETRI QUADRI: %.2f ", immobile.metri_quadri);
printf("\nNUMERO DELLE FINESTRE: %d ",immobile.num_finestre);
printf("\nGARAGE: %d ", immobile.garage);
printf("\nNUMERO DELLE STANZE: %d ",immobile.num_stanze);
}
}
}