PDA

Visualizza la versione completa : Filtro ritorno a capo da input dell'utente


COMANDANTE SPACE
01-05-2006, 03:19
ciao a tutti,

mi servirebbe fare in modo che il tasto invio non mandi a capo la linea. In pratica vorrei ottenere una cosa del genere: inserisco le 5 cifre e premo invio. a quel punto il risultato mi dovrebbe uscire direttamente sulla stessa riga in cui ho scritto il numero;il tasto invio dovrebbe in un certo senso essere disabilitato visivamente, ma comunque dovrebbe azionare il cin nel codice. Alla fine la grafica del gioco dovrebbe essere questa:


numero corretti presenti tentativo n.
12345 1 1 1
67890 3 0 2


invece al momento succede una cosa del genere:


numero corretti presenti tentativo n.
12345
1 1 1
67890
3 0 2


cio scritto il numero e premuto invio, il carrello va a capo e l'effetto antiestetico, oltre a confondere un po'...
forse la soluzione si trova nella classe cin, ci sono cin.ignore() , cin.get() e cin.getline() che non riesco a capire bene come funzionano,ho fatto qualche esperimento ma sono abbastanza confuso. Potete darmi un suggerimento, e magari qualche risorsa online che tratti la classe cin?


grazie!!

pablo1986
01-05-2006, 11:44
alcuni comportamenti bizzari per quel che ne so cin.getline li ha
anche cin, dovresti postare il codice....

COMANDANTE SPACE
01-05-2006, 12:46
mi sa che sono io che voglio ottenere un comportamento bizzarro :D
il codice un banale cin che prende la riga scritta dall'utente, e un cout che restituisce un risultato sul video. Quello che voglio fare avere la stringa scritta dall'utente e la stringa che scrivo col cout sulla stessa riga, mentre il tasto invio manda la riga a capo....

forse posso risolvere usando un tasto diverso da enter.....sai mica come si fa?


Grazie:)

oNaSsI$
01-05-2006, 22:45
con un tasto diverso impossibile....provo ad informarmi e ti faccio sapere qualcosa....

COMANDANTE SPACE
02-05-2006, 10:34
grazie per l'interessamento :)

ho letto che si possono usare caratteri diversi dal return come delimitatori per il cin, ma purtroppo non quello che cerco, a me serve semplicemente che il return non mandi a capo la linea sullo schermo....

Samuele_70
02-05-2006, 12:22
Originariamente inviato da COMANDANTE SPACE
grazie per l'interessamento :)

ho letto che si possono usare caratteri diversi dal return come delimitatori per il cin, ma purtroppo non quello che cerco, a me serve semplicemente che il return non mandi a capo la linea sullo schermo....
Se mostri come effettui l'input forse si pu fare qualcosa :)

COMANDANTE SPACE
02-05-2006, 15:54
ecco,il problema che io vorrei sapere proprio "come" devo effettuare l'input...il contesto in cui lo uso poi, una roba da dilettante, pi che altro mi interessava imparare una cosa in pi in vista di usi futuri..

mettiamo che devo fare un programma che:
-prende in input un numero
-restituisce il numero immesso pi uno.
*il tutto su una riga*.



#include<iostream.h>
void main(){
int numeroImmesso;
cin >> numeroImmesso;
cout << (numeroImmesso + 1);


ecco,questo programma usa due righe sullo schermo, e non va bene. Come faccio a fare il tutto su una riga? o faccio in modo che il tasto enter non mi manda a capo la riga(e qui la vedo dura), o faccio in modo che ad inviare la riga al cin provveda un altro tasto.
c' un modo? :messner:

:)

thommix
07-10-2012, 16:20
se posso, vorrei riaprire questa discussione. Ho anch'io lo stesso problema.

Se fosse stato un inserimenti di caratteri so che ci si sarebbe potuti aiutare con getch o getline, ma con i numeri non ho idea..

MItaly
08-10-2012, 01:53
In genere non si riesumano discussioni cos vecchie, aprine una nuova indicando esattamente il tuo problema. Qui chiudo.
:ciauz:

Loading