Ciclo while annidato [c++]

di il
1 risposte

Ciclo while annidato [c++]

Ciao ragazzi,
sto facendo questa funzione in c++ per quanto riguarda le liste.

/*
definizione elemento    
controllo se elemento è presente in lista
ottenere la posizione di elemento
cancellare elemento
*/
    num = 1;       
    elemento = 0;
    cout << "Inserisci il valore da assegnare ad elemento: ";
    cin >> elemento;
    cout << endl;

    while (!l.finelista(num)){
                           if(l.leggilista(num)==elemento){
                           cout << "Elemento presente" << endl; 
                           }
                           else cout <<"Elemento non presente" << endl;
                           num++;
          }
quando mando in esecuzione, se l'elemento è presente stampa "elemento presente" nella posizione dove ritrova l'elemento e in tutte le altre posizioni mi stampa "elemento non presente".
Io voglio che stampi una sola volta elemento presente o non presente in caso ci sia o meno.
Dove sbaglio??
Grazie

1 Risposte

  • Re: Ciclo while annidato [c++]

    Sbagli a mettere le cout nel ciclo. È ovvio che saranno ripetute tutte le volte che il ciclo viene eseguito.

    Utilizza una variabile che indichi se il dato è stato trovato e usala fuori dal ciclo per visualizzare la prima o la seconda frase.
Devi accedere o registrarti per scrivere nel forum
1 risposte