Problemi con Cin

di il
1 risposte

Problemi con Cin

Buonasera a tutti voi.
Ho qualche conoscenza di vb net e sto imparando ora C++.
Sto provando a fare il mio primo console programmino (una map con struttura) ed ho questa difficolta(ne avrò certamente altre man mano che mi inoltrerò oltre!)
Ho questo codice :

void addMask(int col,int riga)
{
    while (true)
    {
        string chiaveCar,marca, modello, cilindrata;
        int col = 85;
        int riga= 10;
        PosCur(col, riga);
        cin >> chiaveCar;
        if (chiaveCar.empty())
        {
            break;
        }
        PosCur(col, riga += 2);
        std::getline(std::cin >> std::ws, marca);
        ecc.

Ora, è chiaro dal listato che vorrei vorrei uscire dal ciclo dando Enter sulla chiave per ripresentare il menù delle opzioni:purtroppo non ho alcun esito sia con chiaveCar.empty, sia con chiaveCar.lenght()==0 nè con chiaveCar=='\0' nè con chiaveCar=='\r'.
Il cin legge chiaveCar SOLO se inserisco un qualsiasi carattere (1,2,3,a,c,b,ecc.).
Qualche suggerimento,soluzione?Grazie.

1 Risposte

  • Re: Problemi con Cin

    La sintassi cin >> prevede l'inserimento di almeno un carattere e rimane pendente fin che non lo riceve, anche se digiti invio. Il codice successivo semplicemente non viene eseguito. Da un'occhiata alla funzione getline, che potrebbe risolverti il problema.

Devi accedere o registrarti per scrivere nel forum
1 risposte