PROBLEMA Aiuto su esercizio

_1blood3_

Nuovo Utente
2
1
mi servirebbe una mano:

// Si considerino due file di testo contenenti su ciascuna riga una singola stringa (parola).
// Creare un terzo file che contenga tutte le parole che sono contenute nel secondo file ma non nel primo.

Codice:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
class file{
    private:
        fstream myFile;
        string nomeFile;
  public:
        file();
        file(string nome);
        void setNomeFile(string nome);
        int contaRighe();
        string toString();
        bool unisci(string nomeFile2);
        bool unisci(file &File2);
    
};


file::file(){
  }
file::file(string nome){
    nomeFile = nome;
}
void file::setNomeFile(string nome){
    nomeFile = nome;
}
string file::toString(){
    myFile.open(nomeFile.c_str(), ios::in);
if(myFile.is_open()){
        string stringaOutput;
        string riga;
      while(!myFile.eof()){
            getline(myFile, riga);
            stringaOutput += riga+"\n";
        }
     myFile.close();
    
        return stringaOutput;
    }else{
        return "\0";
    }
}


int file::contaRighe(){

    myFile.open(nomeFile.c_str(), ios::in);
    int i=0;

    if(myFile.is_open()){
    
        string appoggio;

        while(!myFile.eof()){
        
            getline(myFile, appoggio);
            i++;
        }

        myFile.close();
    }

    return i;
}


bool file::unisci(string nomeFile2){
    myFile.open(nomeFile.c_str(), ios::out|ios::app);
    fstream File2(nomeFile2.c_str(), ios::in);

    if(myFile.is_open() && File2.is_open()){
        string riga;
    
        while(!File2.eof()){
            getline(File2, riga);
            myFile<<riga<<endl;
        }
    
        myFile.close();
        File2.close();
    
        return true;
    }else{
        return false;
    }
}


bool file::unisci(file &File2){
    myFile.open(nomeFile.c_str(), ios::out|ios::app);
    bool riuscito = false;

    if(myFile.is_open()){
    
        string testoAppend = File2.toString();
    
        if(testoAppend != "\0"){
            riuscito = true;
            myFile<<testoAppend;
        }
    
        myFile.close();
    
        return riuscito;
    }else{
        return riuscito
    }
}








void file::distribuzione(string primo, string secondo){

    myFile.open(nomeFile.c_str(), ios::in);

    fstream Primo(primo.c_str(), ios::out);
    fstream Secondo(secondo.c_str(), ios::out);

    if(myFile.is_open() && Primo.is_open() && Secondo.is_open()){
    
        string riga;
    
        while(!myFile.eof()){
        
            getline(myFile, riga);
            Secondo<<riga<<endl;
        
            getline(myFile, riga);
            Primo<<riga<<endl;
        }
    
        myFile.close();
    
        Primo.close();
        Secondo.close();
    }
}






int main(){
    file prova1("prova1.txt");
    file prova2("prova2.txt");
    file prova3("prova3.txt");
    file prova4;

    prova1.unisci(prova2);

    prova2.unisci(prova3);

    prova3.unisci(prova4);


    string nome1,nome2;






    system("pause");
}
 
Ultima modifica da un moderatore:

Moffetta88

Moderatore
Staff Forum
Utente Èlite
20,465
12,880
CPU
i5-4690
Dissipatore
DEEPCOOL CAPTAIN 240EX
Scheda Madre
MSI Z97 U3 PLUS
HDD
KINGSTON SSD KC400 240GB
RAM
24GB BALLISTIX SPORT @2133MHz
GPU
STRIX GTX980 DC2OC
Audio
INTEGRATA
Monitor
AOC G2590VXQ
PSU
BEQUIET! System Power 7 500W
Case
DEEPCOOL MATREXX 55
Periferiche
NESSUNA
Net
EOLO 100
OS
UBUNTU/WINDOWS11
E te lo scrivo anche qui, correggi titolo e testo, non usare tutti le maiuscole, equivale ad urlare e quindi va contro il regolamento del forum.
Poi, metti il codice tra [CODE]__qui_il_tuo_codice__[/CODE] così da potergli dare una formattazione leggibile
 

BrutPitt

Utente Attivo
1,166
1,262
Ciao, dovresti essere TU a dire che problemi hai col programma... che cosa non funziona o non hai capito.

Ti faccio una domanda, banale: hai provato a compilarlo?

Te lo chiedo perche', da una rapida e veloce occhiata ho notato che c'e' un errore di sintassi (manca un ";"), ed una funzione che "dovrebbe" essere membro, non e' definita nella classe.
Quindi, a parte eventuali errori funzionali... ci sono evidenti errori di compilazione.

Ma quetso te lo avrebbe potuto/dovuto dire "immediatamente" il compilatore... senza attendere la risposta di qualcuno ;)
 
Ultima modifica:

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!