Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    35

    [C/C++] Problema con lettura da file

    Devo fare un programmino che mi legge da file una sequenza di nomi e devo inserire in due vettori o in due file (come ho fatto) i nomi maschili e poi i nomi femminili.
    Ho usato Dev, ecco i codici:

    MAIN

    codice:
    #include <cstdlib>
    #include <iostream>
    #include <fstream>
    #include "prova.h"
    #include <string.h>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        //vettore che conterrà i nomi
        vettore nomi;
        //riempimento vettore
        int r=0;
        //stringa in cui copierò le parole
        stringa parola;
        //variabile che userò per vedere se un nome è maschio o femmina
        int n;
    
        
        cout<<"Leggo il file...\n";
        //leggo da file i nomi
        leggiFile(nomi,r);
    
    
        
        //cerco i nomi maschili e femminili all'interno
        cercaNomi(nomi, r, parola, n);
        
        
        
        
        system("PAUSE");
        return EXIT_SUCCESS;
    }

    PROVA.CPP
    codice:
    #include <cstdlib>
    #include <iostream>
    #include <fstream>
    #include "prova.h"
    #include <string.h>
    
    using namespace std;
    
    void leggiFile(vettore nomi, int &r)
    {
         fstream f;
         f.open("Nomi.txt", ios::in);
         if(!f)
          {
               cout<<"Non trovo il file....\n";
          }
         else
          {
               //metto i nomi nel file
               int i=0;
               while(f.eof())
               {
                           
                           f>>nomi[i];
                           i++;
                           r=i;
               }
          }
         f.close();
    }
    
    void cercaNomi(vettore nomi, int r, stringa parola, int &n)
    {
         for (int i=0; i<r;i++)
          {
             strcpy(parola,nomi[i]);
             n=strlen(parola)-1;
             //sistemo le parole in due file diversi
             sistemaNomi1(parola, n);
             sistemaNomi2(parola, n);
          }
    }
    
    void sistemaNomi1(stringa parola, int n)
    {
         fstream f;
         f.open("Nomi Maschili.txt", ios::in);
         if(!f)
          {
               cout<<"Non trovo il file....\n";
          }
         else
          {
               //metto i nomi nel file
               if(parola[n]=='o')
               f<<parola[n];
          }
         f.close();       
    }      
    
    void sistemaNomi2(stringa parola, int n)
    {
         fstream f;
         f.open("Nomi Femminili.txt", ios::in);
         if(!f)
          {
               cout<<"Non trovo il file....\n";
          }
         else
          {
               //metto i nomi nel file
               if(parola[n]=='a')
               f<<parola[n];
          }
         f.close();       
    }

    prova.h

    codice:
    #ifndef PROVA_H
    #define PROVA_H
    #define N 30
    typedef char stringa[256];
    typedef stringa vettore[N];
    
    
    void leggiFile(vettore, int &);
    void cercaNomi(vettore, int, stringa, int &);
    void sistemaNomi1(stringa, int);
    void sistemaNomi2(stringa, int);
    
    #endif

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    35
    penso che il problema che mi dà sia il caricamento da file...

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.