Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 21
  1. #11
    noo, non hai capito,
    i due id:
    id e IDcanc, sono uguali, e la condizione viene sempre verificata.
    Il problema e', che non continua a leggere il resto della riga:
    getline(file,riga,'\n'); // e come se quest' istruzione viene saltata, una volta che id==IDcanc

  2. #12
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    No ... non è cosi' ...

    La if non viene mai eseguita perche' i dati confrontati sono diversi.

    E il ciclo termina ...

    Sembra che tu abbia un altro programma ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #13
    a me invece non e' cosi.
    cmq questo e' il mio programma:
    codice:
        void CancellazioneLogica(string NomeFile)
        {
         string id,IDcanc,riga; 
         bool trova=false;
         cout << "Inserisci l'ID del record da cancellare = ";
         cin >> IDcanc;
         IDcanc.resize(5);
         fstream file(NomeFile.c_str(),ios::in | ios::out);
         while(!file.eof())
         {
           getline(file,id,';');
           id.resize(5);
           cout << IDcanc <<"."<< endl;
           cout << id << "."<< endl;     
           if (id==IDcanc)
                         {
                          file <<"X";
                          cout << "Cancellazione Logica effettuata "<< endl;
                          trova=true;
                         }
           getline(file,riga,'\n');
           getchar();
         }
         if (trova==false)
                          cout << "ID inserito: "<<IDcanc<<" non trovato!" << endl;
                          else
                          cout << "ID trovato" << endl;
         file.close();               
        }
    cmq puo controllare, per favore.
    Qui puoi scaricare il mio programma, con il file.txt piu il sorgente.
    http://www.pianura91.altervista.org/...ovo_header.zip
    www.pianura91.altervista.org/d_appunti/2009/Nuovo_header.zip

  4. #14
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    come fai a dire che la if viene verificata? Ti basi su prove certe (stampe, debugging) o sul tuo ragionamento?

    Perchè secondo me ha ragione Oregon

  5. #15
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da Salvatore_91
    a me invece non e' cosi.
    Anche con il tuo programma la if non viene verificata.

    Con le correzioni in rosso dovrebbe funzionare ...

    codice:
        void CancellazioneLogica(string NomeFile)
        {
         string id,IDcanc,riga; 
         bool trova=false;
         cout << "Inserisci l'ID del record da cancellare = ";
         cin >> IDcanc;
         IDcanc.resize(5, ' ');
         fstream file(NomeFile.c_str(),ios::in | ios::out);
         while(!file.eof())
         {
           getline(file,id,';');
           id.resize(5, ' ');
           cout << IDcanc <<"."<< endl;
           cout << id << "."<< endl;     
           if (id==IDcanc)
                         {
                          file.seekp(file.ftell(), ios::beg);
                          file <<"X";
                          cout << "Cancellazione Logica effettuata "<< endl;
                          trova=true;
                         }
           getline(file,riga,'\n');
           getchar();
         }
         if (trova==false)
                          cout << "ID inserito: "<<IDcanc<<" non trovato!" << endl;
                          else
                          cout << "ID trovato" << endl;
         file.close();               
        }
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #16
    compilando mi da errore:

    su questa riga:
    file.seekp(file.ftell(), ios::beg);

    In member function `void File::CancellazioneLogica(std::string)':


    'struct std::fstream' has no member named 'ftell'

  7. #17
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Non è ftell ma tellg ... ma puoi aprire un manuale anche tu ogni tanto ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #18
    cmq lo stesso non mi funziona il programma.

    Non ho capito cosa fanno queste istruzioni:
    IDcanc.resize(5, ' ');
    id.resize(5, ' ');
    file.seekp(file.tellg(), ios::beg);

  9. #19
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Non ti funziona, ti ho ripetuto mille volte, non significa niente ... fa solo perdere tempo ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #20
    credo che si capisce qual'e' il mio problema, l'ho detto piu volte in questa discussione.

    Cmq non ho capito quelle correzzioni cosa fanno nello specifico

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