Visualizzazione dei risultati da 1 a 10 su 12

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    78

    leggi date da file linguaggio c++

    Salve di nuovo forum,avrei di nuovo bisogno del vostro prezioso aiuto.
    Vi presento prima il programma altrimenti non si capisce nulla.

    Il file nomi.txt contiene un elenco di nomi e cognomi uno per riga preceduto da una data di nascita:
    es

    1990 tizio caio
    1992 caio sempronio
    1994 paolo rossi
    1990 aldo giovanni de giacomo

    Il programma che devo scrivere in c++ deve leggere da ogni riga il numero corrispondente all'anno
    ed estrarre dal file nomi.txt i nomi e cognomi delle persone in tale anno,visualizzandole a schermo.

    ES. Digita un anno da tastiera:1992
    caio sempronio
    aldo giovanni de giacomo

    Qui di seguito vi presento il mio codice...ovviamente mi da problemi..quello che mi chiedo perchè non è mai verificata la condizione anno_cercato=anno_letto infatti nel ciclo if non ci entra proprio

    basta con le chiacchiere...
    codice:
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #define N 10
    
    void visualizza_nati_nel(int anno_cercato,FILE *f);
    int main()
    {
        FILE*f;
        char nf[10];
        int anno_cercato;
        
        printf("Digitare il nome del file da aprire:");
        scanf("%s",nf);
        f=fopen(nf,"r");
        if(f==NULL)
        {
          printf("Errore caricamento file");
          printf("\n");
          return 0;
        }
        printf("Digitare l'anno da cercare:");
        scanf("%d",&anno_cercato);
        visualizza_nati_nel(anno_cercato,f);
        
    system("pause");
    }
     
     void visualizza_nati_nel(int anno_cercato,FILE *f)
     {
     
      int anno_letto;
      /*char nome_letto[N];*/
      int i;
      char ch;
      
                             
     
       
       while(fscanf(f,"%d",&anno_letto)!=EOF)
       if(anno_cercato == anno_letto)
       {
           fscanf(f,"%d",stdout);
           fgetc(f);             
           while((ch=fgetc(f))!='\n'
           fprintf(f,"%c",stdout);
           fprintf(f,\n,stdout);
       }
       else
       
       printf("?");/* devo trovare qualche istruzione per poter saltare la riga*/
       }
    Ultima modifica di SSSS90; 31-03-2014 a 20:08

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 © 2025 vBulletin Solutions, Inc. All rights reserved.