19/03/10 22:36
wicca89
una domanda un pò banale con il c quando volevo prendere una frase usavo gets se qui voglio che ne so a titolo mettere yes man come posso fare???
xk il cin me lo vedrebbe come yes=titolo e man=autore...
aaa
19/03/10 22:58
Poggi Marco
Usa getline()!
Esempio: grtline(d, 50) ;
Salvera i caratteri in d fino ad un massimo di 49 (50-1), o fin quando non viene premuto invio.
Ho provato la tua funzione, sembra a buon punto!
Però, a mio avviso, fa troppe cose. (Non dovrebbe chiedere all' utente cosa ordinare)
aaa
19/03/10 23:09
wicca89
si ma se faccio qst:
void aggiungi(Tgalleria& galleria , Topera& opera){
cout<<"Inserisci il titolo dell'opera da aggiungere nella galleria: ";
cin.getline(galleria.opera[galleria.numero].titolo,101);
cout<<"Inserisci l'autore del titolo dell'opera da aggiungere nella galleria: ";
cin.getline(galleria.opera[galleria.numero].autore,101);
cout<<"Inserisci la data di creazione: ";
cin>>galleria.opera[galleria.numero].data.gg>>galleria.opera[galleria.numero].data.mm>>galleria.opera[galleria.numero].data.aa;
cout<<"Inserisci il prezzo del libro: ";
cin>>galleria.opera[galleria.numero].prezzo;
galleria.numero++;
}
mi esce un casino mi stampa prima a video:
Inserisci il titolo dell'opera da aggiungere nella galleria: Inserisci l'autore del titolo dell'opera da aggiungere nella galleria:
e poi m fa inserire tutto...
aaa
19/03/10 23:14
Matthew
La tua funzione di ordinamento è sbagliata.
Come ti ha suggerito Poggi Marco, darei un'occhiata alla teoria.
Ultima modifica effettuata da Matthew 19/03/10 23:18
aaa
19/03/10 23:25
Poggi Marco
Sicuramente è un problema del baffer da tastiera.
Prima ci chiedere la data con il cin, devi svuotarlo.
A tale scopo usa la funzione " fflush(stdin); ".
aaa