View Full Version : [c++] codice ascii
Maurizioale
31-05-2004, 20:15
Ragazzi ho il seguente problemuccio:
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<windows.h>
HANDLE hConsole=GetStdHandle(STD_OUTPUT_HANDLE);
COORD coordScreen={30,30};
void main()
{
int scelta,input;
do
{
coordScreen.X=1;
coordScreen.Y=1;
SetConsoleCursorPosition(hConsole,coordScreen);
printf("numero:");
do
input =_getch();
while(_kbhit());
scelta = input - 48;
}
while(scelta<0 || scelta>5);
coordScreen.X=8;
coordScreen.Y=1;
SetConsoleCursorPosition(hConsole,coordScreen);
printf("%d",scelta);
coordScreen.X=1;
coordScreen.Y=5;
SetConsoleCursorPosition(hConsole,coordScreen);
printf("numero:");
cin>>input;
}
Questo programma mi legge il tasto premuto in codice ascii.
Quando premo un tasto, il valore esce scritto anche quando chiedo un'altro input!!
Infatti nell'ultimo printf mi esce scritto anche il tasto che ho premuto prima.
Non so veramente come fare anche perchè non ho capito perchè fa cosi.
Aspetto con impazienza una vostra risposta.
Grazie.
Ehm...non ho capito il problema preciso...
Maurizioale
31-05-2004, 20:27
in pratica io inserisco in input un numero,poi lui me lo legge lo trasforma in ascii e basta (ciò messo la funzione che trasforma in ascii perchè è quella che mi fa sto scherzetto).Come digito un numero mi esce giustamente il secondo cout che mi chiede un'altro input.Pero in uscita con questo input ci esce anche il numero che ha letto il cout precedente!!
Spero che si sia capito:(
Sei tu che lo stampi:
printf("%d",scelta);
Maurizioale
31-05-2004, 20:46
certo!lo stampo nel primo cout non nel secondo.
Nel primo cout deve uscire ed infatti cosi avviene , ma non deve uscire nel secondo cout.
Infatti mi trovo davanti "numero:" + il numero che ho inserito prima!quindi esce scritto un numero quando invece lo devo ancora scrivere nel secondo cout!
Maurizioale
31-05-2004, 20:59
ODDIO
Scusami ma non ci capisco piu' niente!
A me nel secondo cout esce anche il numero che ho inserito prima!!
Ma come è possibile che a te no.
Me ne sono capitate di cose in c++ ma come a questa, poche.
Mi potresti spiegare perche a te funziona?
secondo te dove sta il problema?
Aiutatemi
Non ne ho idea... Prova a mettere il service pack 6 di Visual Studio...
Maurizioale
31-05-2004, 21:06
il problema continua per la sua strada e non lascia tregua!!
Io sto programma lo devo consegnare tra pochissimo e me manca solo sta cosa che pensavo fosse una sciocchezza e invece..
Comunque se qualcuno ha un'idea la dica al piu presto
Grazie:muro:
Maurizioale
31-05-2004, 21:42
Per favore aiutatemi a risolvere questo problema.
Che ne so ditemi un'altra funzione per leggere i tasti in ascii,puo' darsi che cambiando funzione il problema sparisce.
Grazie mille a chi vorrà aiutarmi
Maurizioale
02-06-2004, 19:11
Salve a tutti!
Ho un programma che mi permette di conoscere il codice ascii del tasto premuto. Ho utilizzato le funzioni _getch() della libreria conio.h.
Questa funzione però, mi da dei problemi e quindi vorrei vedere se con un'altra libreria e quindi con un'alta funzione risolvo il problema.Sto usando visual c++ 6.0 su windows 98.
Se qualcuno può darmi una libreria e dirmi le funzione che devo usare gli sarei molto grato.
Di funzioni che leggono un tasto senza premere invio nel C e nel C++ non ne conosco... al limite credo che si possa fare quaclosa con le API di Windows...ci do un'occhiata...
Originariamente inviato da cionci
Di funzioni che leggono un tasto senza premere invio nel C e nel C++ non ne conosco... al limite credo che si possa fare quaclosa con le API di Windows...ci do un'occhiata...
le ncurses ......... se ci sono x win sei a cavallo :D
LukeHack
03-06-2004, 04:47
Salve a tutti!
Ho un programma che mi permette di conoscere il codice ascii del tasto premuto. Ho utilizzato le funzioni _getch() della libreria conio.h.
Questa funzione però, mi da dei problemi e quindi vorrei vedere se con un'altra libreria e quindi con un'alta funzione risolvo il problema.Sto usando visual c++ 6.0 su windows 98.
Se qualcuno può darmi una libreria e dirmi le funzione che devo usare gli sarei molto grato.
usa la getch() liscia (senza l'_ )eventualmente non includere la windows.h, ma solo la stdio.h e la conio.h
Maurizioale, forse facevi meglio a continuare con la discussione vecchia, almeno si capiva di più... Ora le unisco...
Originariamente inviato da LukeHack
usa la getch() liscia (senza l'_ )eventualmente non includere la windows.h, ma solo la stdio.h e la conio.h
Il fatto è che a me funziona benissimo il codice sopra ;)
LukeHack
03-06-2004, 14:54
Originariamente inviato da cionci
Il fatto è che a me funziona benissimo il codice sopra ;)
te che compilatore hai usato?
Visual C++ come lui ;)
Per quello gli ho consgliato di metter eil service pack 6 per Visual Studio ;)
LukeHack
04-06-2004, 00:26
Originariamente inviato da cionci
Visual C++ come lui ;)
Per quello gli ho consgliato di metter eil service pack 6 per Visual Studio ;)
io l'ho messo,però non ho notato alcuna differenza...tu?:D
LukeHack
04-06-2004, 01:30
cmq ha ragione cionci,il codice funziona benone,cambia compilatore o aggiornalo:D (io uso il vstudio 6.0 col sp6)
a tal proposito cionci,io ho programmato col vc++ 7(.net) ma alla fine non ho riscontrato vantaggi rispetto al 6,se non una pesantezza maggiore.. a parte l'ide intendo, che è più figo e maneggevole..
te lo hai usato il .net? che ne pensi
Originariamente inviato da LukeHack
io l'ho messo,però non ho notato alcuna differenza...tu?:D
No...niente... Non cambia nemmeno il numero di versione :confused:
Cmq mi tengo stretto il 6...il 7 non l'ho provato...anche perchè .Net, almeno nel breve periodo, non mi interessa ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.