Ho il seguente problema con c++, in pratica per far leggere a una stringa le parole separate da uno spazio uso la funzione getline() ma mi da i seguenti errori se lo uso con i campi di una coda, in output la prima volta che esegue ciclio non ho problemi dalla seconda invece, nn so xkè mi stampa i due cout uno dopo l'altro senza farmi leggere la prima variabile, lo so mi sono spiegato male.. vi posto il codice.
questo è l'outputcodice:#include <iostream> #include <stdlib.h> using namespace std; struct cod { string A; string b; string c; cod* next; }; cod* primo; int main() { int a=1; cod* p; primo = NULL; while (a != 0) { p = new cod; cout<<"Inserisci autore: "; getline(cin, p->A); cout<<"Inserisci titolo: "; getline(cin, p->b); cout<<"Inserisci descrizione: "; getline(cin, p->c); p->next = primo; primo = p; cout<<"Inserisci 0 per terminare l'inserimento: "; cin>>a; } p = primo; while (p != NULL) { cout<<"autore: "<<p->A<<endl; cout<<"titolo: "<<p->b<<endl; cout<<"descrizione: "<<p->c<<endl; p = p->next; } system("PAUSE"); return 0; }
come vedete nel secondo inserimento nn mi fa leggere l'autore... mi sapete dire xkè??? grazie in anticipo.codice:Inserisci autore: uno uno Inserisci titolo: uno Inserisci descrizione: uno Inserisci 0 per terminare l'inserimento: 4 Inserisci autore: Inserisci titolo: due Inserisci descrizione: due Inserisci 0 per terminare l'inserimento: 0 autore: titolo: due descrizione: due autore: uno uno titolo: uno descrizione: uno

Rispondi quotando
