Pagina 2 di 5 primaprima 1 2 3 4 ... ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 43

Discussione: Rubrica in C

  1. #11
    Utente di HTML.it
    Registrato dal
    Apr 2017
    Messaggi
    27
    si la scrittura funziona perfettamente, in quanto escono tutti i dati nel file.dat, mentre se cerco di leggere non accade nulla nel programma, ovver andando a leggere il file e stampare la rubrica non esce alcuna voce.

  2. #12
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Quote Originariamente inviata da SteelBoy Visualizza il messaggio
    si la scrittura funziona perfettamente, in quanto escono tutti i dati nel file.dat, mentre se cerco di leggere non accade nulla nel programma, ovver andando a leggere il file e stampare la rubrica non esce alcuna voce.
    Mostra nuovamente il codice che usi per la lettura - corretto - e il codice per la visualizzazione.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #13
    Utente di HTML.it
    Registrato dal
    Apr 2017
    Messaggi
    27
    STAMPA A VIDEO
    codice:
    		   	case 3 ://stampa rubrica
    		   		printf("CONTENUTO DELLA RUBRICA (%d VOCI)\n", utentimemorizzati) ;
    			for (v=0;v<utentimemorizzati;v++)
    				{
    					printf("Nome: %s\n",rubrica[v].nome); 
           				printf("Cognome: %s\n",rubrica[v].cognome);
           				printf("Telefono: %s\n",rubrica[v].telefono);
           				printf("Citta: %s\n",rubrica[v].citta);
      				 }
    				break;
    LETTURA DA FILE

    codice:
    		   	case 6://lettura del file
    		   	    
    		   		FILE *fp1;//puntatore
    				fp1 = fopen("rubrica.dat", "r");//Lettura file. 
    				v=0;
    				while(!feof(fp1)) //finchè non finisce il file
    				{
    				fscanf(fp1,"%s",rubrica[v].nome);
    				fscanf(fp1,"%s",rubrica[v].cognome);
    				fscanf(fp1,"%s",rubrica[v].citta);
    				fscanf(fp1,"%s",rubrica[v].telefono);
    				v++;
    				}
    				fclose(fp1); 
    		   		printf("Rubrica letta!\n");
    		   		break;

  4. #14
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Ovviamente alla fine della lettura devi aggiornare la variabile utentimemorizzati altrimenti come fai ad usarla nella visualizzazione?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #15
    Utente di HTML.it
    Registrato dal
    Apr 2017
    Messaggi
    27
    Grazie mille! adesso funziona, più o meno; ho incrementato il valore utentimemorizzati ma quando vado a leggere il file oltre alle voci già presenti esce un ulteriore voce vuota

  6. #16
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Diminuisci di 1 la variabile utentimemorizzati dopo la lettura
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #17
    Utente di HTML.it
    Registrato dal
    Apr 2017
    Messaggi
    27
    avevo già provato , ma se diminuisco "utentimemorizzati" al termine della lettura quando stampo le voci non me ne stampa alcuna, mentre se incremento oltre che a stampare quelle realmente presenti stampa anche campi vuoti

  8. #18
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Quote Originariamente inviata da SteelBoy Visualizza il messaggio
    avevo già provato , ma se diminuisco "utentimemorizzati" al termine della lettura quando stampo le voci non me ne stampa alcuna, mentre se incremento oltre che a stampare quelle realmente presenti stampa anche campi vuoti
    Non ho capito ... mostra il codice con quello che fai con la variabile utentimemorizzati
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #19
    Utente di HTML.it
    Registrato dal
    Apr 2017
    Messaggi
    27
    codice:
    		   		FILE *fp1;//puntatore
    				fp1 = fopen("rubrica.dat", "r");//Lettura file. 
    				v=0;
    				while(!feof(fp1)) //finchè non finisce il file
    				{
    				fscanf(fp1,"%s",rubrica[v].nome);
    				fscanf(fp1,"%s",rubrica[v].cognome);
    				fscanf(fp1,"%s",rubrica[v].citta);
    				fscanf(fp1,"%s",rubrica[v].telefono);
    				v++;
    				utentimemorizzati--;
    				}
    				fclose(fp1); 
    		   		printf("Rubrica letta!\n");
    		   		break;
    scusa il ritardo

  10. #20
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Non devi modificare la variabile utentimemorizzati all'interno del ciclo.

    In quel momento stai leggendo i dati da file e non sai quanti sono i nominativi totali, quindi la variabile utentimemorizzati non ha un valore iniziale. Devi assegnare il suo valore SOLO dopo avere letto tutti i dati, quindi fuori dal ciclo, dopo la fclose e devi scrivere

    utentimemorizzati = v-1;

    Cerca di comprendere il perché di questa semplice cosa ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.