Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [C++] Problemi nella Funzione Cerca

    Salve a tutti,
    per esercitarmi stavo creando un piccolo programma per la gestione di una rubrica (aggiungere num, modificare, ricerca per cognome, ecc).
    Mi sono completamente bloccata alla ricerca per cognome,nel momento in cui vado a cercare per cognome mi ridà il menù senza darmi i risultati di ricerca.
    Non sto riuscendo a capire dove possa essere il problema, se potete darmi qualche dritta ve ne sarei grata.

    CODICE:

    codice:
    #include<iostream>
    #include<fstream>
    
    
    using namespace std;
    
    
    void nuovo();
    void cerca ();
    
    
    class persona
    {
        public:
            string nome="";
            string cognome="";
            string numTel="";
    };
    
    
    
    
    int main()
    {
        int scelta;
        do 
        {
            cout<<"1.Nuovo Contatto\n";
            cout<<"2.Modifica\n";
            cout<<"3.Elimina\n";
            cout<<"4.Cerca per cognome\n";
            cout<<"5.Stampa\n";
            cout<<"6.Elimina tutta rubrica\n\n";
        
            cout<<"9.Esci\n";
            cout<<"\nOperazione da eseguire:\n";
            cin>>scelta;
            
            switch(scelta)
            {
                case 1:
                    nuovo();
                    break;
                case2:
                    break;
                case 3:
                    break;
                case 4:
                    cerca();
                    break;
                case 5:
                    break;
                case 6:
                    break;
                case 9:
                    break;
                default:
                    {
                        cout<<"Scelta non valida!\n";
                    }
                    break;
            }
        
        }while(scelta!=9);
    }
    
    
    
    
    void nuovo()
    {
        ofstream salva; //scrittura file
        salva.open("rubrica.txt",ios::app); 
        
        persona p;
        cout<<"Nome:\n";
        cin>>p.nome;
        cout<<"Cognome:\n";
        cin>>p.cognome;
        cout<<"Numero telefonico: \n";
        cin>>p.numTel;
        
        salva<<p.nome<<endl; 
        salva<<p.cognome<<endl;
        salva<<p.numTel<<endl;
        
        salva.close(); 
    }
    
    
    void cerca ()
    {
        ifstream leggi;
        leggi.open("rubrica.txt");
    
    
        
        ofstream posizioni ("posizioni.txt");
        int posizione=0;
        
        string cognomeCercato="";
        cout<<"Che cognome devo cercare?\n";
        cin>>cognomeCercato;
        
        while(!leggi.eof())
        {
            persona p;
            leggi >> p.cognome;
            leggi >> p.nome;
            leggi >> p.numTel;
            
            
            posizione++;
            
            if(p.cognome==cognomeCercato)
            {
                cout << "Trovato nella posizione"<< posizione << endl;
                cout<<"\nNome:"<<p.nome<<endl;
                cout<<"\nNum Tel:"<<p.numTel<<endl;
                cout<<"------------------------------------\n";
                
                posizioni<<posizione<<endl;
            }
        }
        leggi.close();
        posizioni.close();
    }
    Ultima modifica di LeleFT; 05-10-2016 a 11:36 Motivo: Aggiunti i tag CODE

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Se salvi nome, cognome, telefono devi rileggere nello stesso ordine ...


    P.S. Usa i tag CODE per il codice nel forum ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.