Struttura e File in C

di il
9 risposte

Struttura e File in C

Ciao ragazzi, sto creando, per l'università un programma in C che consente di simulare una piattaforma immobiliare, utilizzando i file. Purtroppo non mi è chiaro il loro funzionamento. La traccia propone di creare delle strutture dei clienti, immobili e professionisti, non so però come faccio a "collegare" le strutture ai file, mi spiego meglio: devo creare un file e poterci scrivere il nome del cliente e tutti i suoi campi, i campi dei professionisti ecc... e devo memorizzarlo in memoria, dopodiché devo poter modificare il file e eliminare alcuni campi, ma appunto non riesco a farlo.
Vi metto il mio maldestro tentativo :

#include <stdio.h>

typedef struct{
	char nome[20];
	char cognome[20];
	int telefono;




}
cliente_type;
int main(){
	cliente_type cliente;

	printf("Inserire nome cliente:");
	scanf("%c", &cliente.nome);
	char value=cliente.nome;
	FILE *filep;
	if((filep = fopen("C://Users//Giuseppe//Desktop//new workspace//progetto_agenzia_immobiliare//clienti.txt", "r+"))==NULL){
		puts("\nERRORE NELL'APERTURA\n");
	}
	else {
		puts("FILE APERTO CON SUCCESSO\n");
		fscanf(filep, "%c", &value);
		fprintf(filep, "%c", value);
		puts("VALORE SCRITTO");


	}
	if(!fclose(filep))
		puts("\nchiuso con successo");
system("pause");
return 0;
}

9 Risposte

  • Re: Struttura e File in C

    MucciaMiccia ha scritto:


    Ciao ragazzi, sto creando, per l'università un programma in C che consente di simulare una piattaforma immobiliare, utilizzando i file. Purtroppo non mi è chiaro il loro funzionamento. La traccia propone di creare delle strutture dei clienti, immobili e professionisti, non so però come faccio a "collegare" le strutture ai file, mi spiego meglio: devo creare un file e poterci scrivere il nome del cliente e tutti i suoi campi, i campi dei professionisti ecc... e devo memorizzarlo in memoria, dopodiché devo poter modificare il file e eliminare alcuni campi, ma appunto non riesco a farlo.
    Vi metto il mio maldestro tentativo :
    
    #include <stdio.h>
    
    typedef struct{
    	char nome[20];
    	char cognome[20];
    	int telefono;
    
    
    
    
    }
    cliente_type;
    int main(){
    	cliente_type cliente;
    
    	printf("Inserire nome cliente:");
    	scanf("%c", &cliente.nome);
    	char value=cliente.nome;
    	FILE *filep;
    	if((filep = fopen("C://Users//Giuseppe//Desktop//new workspace//progetto_agenzia_immobiliare//clienti.txt", "r+"))==NULL){
    		puts("\nERRORE NELL'APERTURA\n");
    	}
    	else {
    		puts("FILE APERTO CON SUCCESSO\n");
    		fscanf(filep, "%c", &value);
    		fprintf(filep, "%c", value);
    		puts("VALORE SCRITTO");
    
    
    	}
    	if(!fclose(filep))
    		puts("\nchiuso con successo");
    system("pause");
    return 0;
    }
    
    Cosa fa scanf con l'opzione "%c"? E' corretta per una stringa?
    Che tipo di variabile è value? Cosa succede uguagliandola a una stringa?
  • Re: Struttura e File in C

    Weierstrass ha scritto:


    MucciaMiccia ha scritto:


    Ciao ragazzi, sto creando, per l'università un programma in C che consente di simulare una piattaforma immobiliare, utilizzando i file. Purtroppo non mi è chiaro il loro funzionamento. La traccia propone di creare delle strutture dei clienti, immobili e professionisti, non so però come faccio a "collegare" le strutture ai file, mi spiego meglio: devo creare un file e poterci scrivere il nome del cliente e tutti i suoi campi, i campi dei professionisti ecc... e devo memorizzarlo in memoria, dopodiché devo poter modificare il file e eliminare alcuni campi, ma appunto non riesco a farlo.
    Vi metto il mio maldestro tentativo :
    
    #include <stdio.h>
    
    typedef struct{
    	char nome[20];
    	char cognome[20];
    	int telefono;
    
    
    
    
    }
    cliente_type;
    int main(){
    	cliente_type cliente;
    
    	printf("Inserire nome cliente:");
    	scanf("%c", &cliente.nome);
    	char value=cliente.nome;
    	FILE *filep;
    	if((filep = fopen("C://Users//Giuseppe//Desktop//new workspace//progetto_agenzia_immobiliare//clienti.txt", "r+"))==NULL){
    		puts("\nERRORE NELL'APERTURA\n");
    	}
    	else {
    		puts("FILE APERTO CON SUCCESSO\n");
    		fscanf(filep, "%c", &value);
    		fprintf(filep, "%c", value);
    		puts("VALORE SCRITTO");
    
    
    	}
    	if(!fclose(filep))
    		puts("\nchiuso con successo");
    system("pause");
    return 0;
    }
    
    Cosa fa scanf con l'opzione "%c"? E' corretta per una stringa?
    Che tipo di variabile è value? Cosa succede uguagliandola a una stringa?
    Lo scanf è per acquisire il nome del cliente e inserirlo nel file txt...
  • Re: Struttura e File in C

    MucciaMiccia ha scritto:


    Weierstrass ha scritto:


    MucciaMiccia ha scritto:


    Ciao ragazzi, sto creando, per l'università un programma in C che consente di simulare una piattaforma immobiliare, utilizzando i file. Purtroppo non mi è chiaro il loro funzionamento. La traccia propone di creare delle strutture dei clienti, immobili e professionisti, non so però come faccio a "collegare" le strutture ai file, mi spiego meglio: devo creare un file e poterci scrivere il nome del cliente e tutti i suoi campi, i campi dei professionisti ecc... e devo memorizzarlo in memoria, dopodiché devo poter modificare il file e eliminare alcuni campi, ma appunto non riesco a farlo.
    Vi metto il mio maldestro tentativo :
    
    #include <stdio.h>
    
    typedef struct{
    	char nome[20];
    	char cognome[20];
    	int telefono;
    
    
    
    
    }
    cliente_type;
    int main(){
    	cliente_type cliente;
    
    	printf("Inserire nome cliente:");
    	scanf("%c", &cliente.nome);
    	char value=cliente.nome;
    	FILE *filep;
    	if((filep = fopen("C://Users//Giuseppe//Desktop//new workspace//progetto_agenzia_immobiliare//clienti.txt", "r+"))==NULL){
    		puts("\nERRORE NELL'APERTURA\n");
    	}
    	else {
    		puts("FILE APERTO CON SUCCESSO\n");
    		fscanf(filep, "%c", &value);
    		fprintf(filep, "%c", value);
    		puts("VALORE SCRITTO");
    
    
    	}
    	if(!fclose(filep))
    		puts("\nchiuso con successo");
    system("pause");
    return 0;
    }
    
    Cosa fa scanf con l'opzione "%c"? E' corretta per una stringa?
    Che tipo di variabile è value? Cosa succede uguagliandola a una stringa?
    Lo scanf è per acquisire il nome del cliente e inserirlo nel file txt...
    Grazie del ripasso.
    Sai anche dirmi che fa "%s"? E "%19s"?
  • Re: Struttura e File in C

    MucciaMiccia" post_id="8626576 ha scritto:


    Lo scanf è per acquisire il nome del cliente e inserirlo nel file txt...
    Ti aveva chiesto Cosa fa scanf con l'opzione "%c"? E' corretta per una stringa?
  • Re: Struttura e File in C

    Weierstrass ha scritto:


    MucciaMiccia ha scritto:


    Weierstrass ha scritto:




    Cosa fa scanf con l'opzione "%c"? E' corretta per una stringa?
    Che tipo di variabile è value? Cosa succede uguagliandola a una stringa?
    Lo scanf è per acquisire il nome del cliente e inserirlo nel file txt...
    Grazie del ripasso.
    Sai anche dirmi che fa "%s"? E "%19s"?

    acquisisce una stringa ... quindi dovrei usare %19s?
  • Re: Struttura e File in C

    oregon ha scritto:


    MucciaMiccia" post_id="8626576 ha scritto:


    Lo scanf è per acquisire il nome del cliente e inserirlo nel file txt...
    Ti aveva chiesto Cosa fa scanf con l'opzione "%c"? E' corretta per una stringa?
    mi sa che è meglio usare %s, giusto?
  • Re: Struttura e File in C

    Sembra che tu risponda a caso. Hai mai letto una pagina della documentazione della funzione scanf?

    http://www.cplusplus.com/reference/cstdio/scanf

    Sai la differenza in C tra char e array di char ?

    https://ennebi.solira.org/c-lang/pag23.htm

    Scusa ma in facoltà non si prevedono testi, dispense, studio teorico PRIMA di scrivere codice?
  • Re: Struttura e File in C

    oregon ha scritto:


    Sembra che tu risponda a caso. Hai mai letto una pagina della documentazione della funzione scanf?

    http://www.cplusplus.com/reference/cstdio/scanf

    Sai la differenza in C tra char e array di char ?

    https://ennebi.solira.org/c-lang/pag23.htm

    Scusa ma in facoltà non si prevedono testi, dispense, studio teorico PRIMA di scrivere codice?
    Grazie per le dispense… guarda riguardo gli scanf non hanno predisposto quasi nulla di teorico, purtroppo
  • Re: Struttura e File in C

    Mi sembra impossibile che tu debba usare una funzione senza studiarne le caratteristiche. Così non impari a programmare in C. Così non ha senso la materia che stai affrontando.

    Che esame svolgerai?

    Comunque ... dopo aver visionato qualche pagina di libro/documentazione, potrai affrontare il compito.
Devi accedere o registrarti per scrivere nel forum
9 risposte