Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 12 su 12

Discussione: [C++] stampa FILE

  1. #11
    raga, ho un problema con questo programma RUBRICA, quando inserisco '5' per modificare un contatto.
    Bhe fino ad adesso ho previsto il caso in cui, si voglia modificare solo il nome.
    Ecco il codice:
    codice:
    # include <iostream>
    # include <windows.h> 
    # include <string.h> 
    # include <fstream>
    using namespace std;
    
    string nome, cogn, numero, mail, modif;
    string linea;
    long pos;
    int i;
    
    void acquis_scritt(ofstream &write);
    void leggi_stampa();
    int conta_righe();
    
    int main()
    {
      int scelta,rigaFile,colon,Nrighe;
      char ok;
      cout << "RUBRICA telefonica\n"<<endl;
    
      while (scelta!=6)
      {     
      cout << "1) Inizia Rubrica " << endl;
      cout << "2) Aggiungi Contatti " << endl;
      cout << "3) Visualizza contatti " << endl;
      cout << "4) Elimina Rubrica " << endl;
      cout << "5) Modifica contatti" << endl;
      cout << "6) Esci" << endl;
      cin >> scelta; 
    
      if (scelta==1)
                    {
                     ofstream write("Rubrica.txt",ios::out);
                     write << "NOME";
                     write.seekp (20, ios_base::beg);
                     write <<"COGNOME";
                     write.seekp (40, ios_base::beg);
                     write <<"NUMERO";
                     write.seekp (52, ios_base::beg); 
                     write <<"E-MAIL"<<endl;
                     acquis_scritt(write);
                     write.close();                    
                    }
      if (scelta==2)
                    {
                     ofstream write("Rubrica.txt",ios::app);
                     acquis_scritt(write);
                     write.close(); 
                    } 
      if (scelta==3)
                    {
                     leggi_stampa();
                    }         
      if (scelta==4)
                    {
                     cout << "Sei sicuro di voler eliminare la rubrica? (s/n)" << endl;
                     cin >> ok;
                     if (ok=='s' || ok=='S')
                                            {                    
                                            ofstream remove("Rubrica.txt");
                                            remove.close(); 
                                            cout << "Rubrica Eliminata!! "<<endl;  
                                            }                  
                    } 
      if (scelta==5)
                    {
                     leggi_stampa();                       
                     cout << "Inserisci la riga da modificare = ";
                     cin >> rigaFile;   
                     cout << "Inserisci '1' per modificare il nome" << endl;
                     cout << "Inserisci '2' per modificare il cognome" << endl; 
                     cout << "Inserisci '3' per modificare il numero" << endl;    
                     cout << "Inserisci '4' per modificare l' e-mail" << endl;    
                     cin >> colon; 
                     cout << "Scrivi la parola modificata = ";
                     cin >> modif;
                     fstream r_w;
                     r_w.open("Rubrica.txt", ios::in | ios::out);
                     if(r_w)
                             { 
                              for(i=1;i<=rigaFile;i++)                                                
                                                     r_w >> linea; 
                             }
                     switch (colon)  
                                  { 
                                   case 1:
                                   modif.resize(20); 
                                   r_w << modif; 
                                   break;             
                                  }                                                            
                    }
                     
      if (scelta!=3)
                    system("CLS");                                                     
      } 
      cout << "Sei uscito dal programma." <<endl;                                     
      system("PAUSE");  
    }
    //------------------------------------------------------------------------------
    void acquis_scritt(ofstream &write)
    {
     cout << "Inserisci  nome:"<<endl;
     cin >> nome;
     nome.resize(20);
     write << nome; 
    
     cout << "Inserisci  cognome:"<<endl; 
     cin >> cogn;
     cogn.resize(20);
     write << cogn; 
    
     cout << "Inserisci  numero:"<<endl; 
     cin >> numero;
     numero.resize(12);
     write << numero; 
    
     cout << "Inserisci  e-mail:"<<endl; 
     cin >> mail; 
     mail.resize(35);
     write << mail << endl;
    }
    //------------------------------------------------------------------------------
    void leggi_stampa()
    {
      system("CLS"); 
      int rig = conta_righe();
      ifstream read("Rubrica.txt");
      if(read)
              {
               for(i=1;i<=rig;i++)
                                  {                                                 
                                  read >> linea;
                                  cout << linea <<endl;     
                                  } 
              }  
      read.close();          
    }
    //------------------------------------------------------------------------------
    // CONTA RIGHE
    int conta_righe()
        {
        fstream file;
        string s;
        int contarighe=0;
        file.open("Rubrica.txt",ios::in);
        if(file)
                {
                 while(!file.eof())
                                   {
                                   getline(file,s,'\n');
                                   contarighe++;
                                   }
                }
        return contarighe-1;
        }
    il programma non mi da nessun errore di compilazione (e di esecuzione).
    dopo che ho inserito '5' e poi il 'nome modificato', non mi scrive niente sul file.

  2. #12
    scusate ma in questo modo:
    apro il file in lettura e scrittura??
    codice:
    fstream r_w;
    r_w.open("Rubrica.txt", ios::in | ios::out);

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.