Esercizio sui File

di il
6 risposte

Esercizio sui File

Salve ragazzi la consgna del mio esercizio è questa:

< Data una sequenza di numeri inserita dall'utente (il valore 0 determina la fine della digitazione), scrivere un programma C++ che memorizzi i numeri positivi nel file "positivi.txt" e quelli negativi nel file "negativi.txt" >

Io il codice l'ho scritto così:

#include <iostream>
#include<fstream>
using namespace std;

main()
{
ofstream f1, f2;

int n=1;
f1.open("positivi.txt");
f2.open("negativi.txt");

while(n!=0)
{
           
cout<<" Inserire numero "<<endl;
cin>>n;

if(n>0)
f1<<n<<endl;

else
f2<<n<<endl;

}
f1.close();
f2.close();

system("pause");
}
Il problema è che non distingue i numeri negativi dai positivi, e inserisce tutti i numeri nell'file "positivi.txt" Grazie per il vostro aiuto

6 Risposte

  • Re: Esercizio sui File

    A me funziona correttamente durante il debug.
    Ho modificato un po' il codice:
    #include <iostream>
    #include<fstream>
    using namespace std;
    
    int main()
    {
        ofstream f1, f2;
    
        int n=1;
        f1.open("positivi.txt");
        f2.open("negativi.txt");
    
        while(n!=0)
        {
    
            cout<<" Inserire numero (0 per terminare) "<<endl;
            cin>>n;
            cin.get();/*per ignorare l'invio (a me non va system senza includere windows.h vedi sotto)*/
    
            if(n>0)
                f1<<n<<endl;
    
            else if(n<0)
                f2<<n<<endl;
        }
        f1.close();
        f2.close();
        cin.get();/*per imitare il system("pause") senza includere windows.h chiedendo l'inserimento di qualcosa(questo rende il programma compilabile per qualsiasi sistema)*/
        return 0;
    }
  • Re: Esercizio sui File

    Ok Grazie!
  • Re: Esercizio sui File

    Getchar si usa in C, su C++ abbiamo cin.get()
  • Re: Esercizio sui File

    skynet ha scritto:


    getchar si usa in C, su C++ abbiamo cin.get()
    Si si lo so :)mi era però spuntata mentre scrivevo e ho pensato di usarla.
    Deve essere presente nella fstream, non è uguale se si usa quella ? alla fine si trova in una libreria c++, secondo me può considerarsi anche del c++ o mi sbaglio ?
  • Re: Esercizio sui File

    http://www.cplusplus.com/reference/cstdio/getchar
    Si usa sul stdio non su cin quindi funzione C e non C++.
  • Re: Esercizio sui File

    skynet ha scritto:


    http://www.cplusplus.com/reference/cstdio/getchar
    Si usa sul stdio non su cin quindi funzione C e non C++.
    Ah ok per quello quindi , capito
Devi accedere o registrarti per scrivere nel forum
6 risposte