Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di Grunt
    Registrato dal
    Dec 2001
    Messaggi
    246

    [C] Frecce direzionali per input

    Sto facendo un giochino in C (da console) e volevo che invece delle solite domande premi uno 1 per .... premi 2 per .... ecc confermando la scelta con la pressione del tasto invio, l'utente potesse effettuare tali scelte solo con la pressione di un tasto (in particolare vorrei che lo facesse con le frecce direzionali) senza dover premere invio per effettuare la lettura dallo stdin.
    Che funzione dovrei usare invece delle solite scanf gets ecc.
    Grazie a chiunque saprà darmi una mano.

  2. #2
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    codice:
    #include <conio.h> //Non standard
    char c;
    c = getch();
    // Se in <conio.h> esiste getche() puoi usarlo:
    // è identico a getch() solo che anche scrive il carattere che digiti.
    //Quindi nn serve il putch()
    
    putch(c);
    
    switch(c) {
       //...
    }

  3. #3
    Utente di HTML.it L'avatar di Grunt
    Registrato dal
    Dec 2001
    Messaggi
    246
    Grazie mi hai salvato...... era proprio quello che intendevo fare!

  4. #4
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    852
    Occhio che la getch() compilata a 32bit riserva delle sorprese...

  5. #5
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Originariamente inviato da debbelandia
    Occhio che la getch() compilata a 32bit riserva delle sorprese...
    Perchè?
    Intendi forse che per esempio:
    codice:
    cout << "Ciao\n";
    getch();
    certe volte ti esegue prima il getch() e poi il cout<<?

    Come faccio a risolvere questo problemaccio? :master:

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    Originariamente inviato da iguana13
    Perchè?
    Intendi forse che per esempio:
    codice:
    cout << "Ciao\n";
    getch();
    certe volte ti esegue prima il getch() e poi il cout<<?

    Come faccio a risolvere questo problemaccio? :master:

    se compili x windows NON usare le librerie
    del c... usa le api!!!

  7. #7
    Utente di HTML.it L'avatar di Grunt
    Registrato dal
    Dec 2001
    Messaggi
    246
    Originariamente inviato da $$$
    se compili x windows NON usare le librerie
    del c... usa le api!!!
    Che intendi? Scusa non le ho mai usate in C! Mi faresti un esempio? Grazie

  8. #8
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Originariamente inviato da $$$
    se compili x windows NON usare le librerie
    del c... usa le api!!!
    OK!
    Grazie!

    Ma che API devo usare x la console?

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    __imp__ReadConsoleInput@16 da kernel32.dll

    per leggere gli eventi da tastiera/mouse/ecc...



    __imp__SetConsoleMode@8 da kenel32.dll

    per impostare la lettura degli eventi

  10. #10
    Originariamente inviato da $$$
    se compili x windows NON usare le librerie
    del c... usa le api!!!
    stai scherzando vero?

    usare le API di windows per un'input da tastiera in console?

    questi sono errori progettuali a monte, e sarebbe bene che tu aiutassi le persone rispondendo cose il più possibile attinenti alle librerie standard del linguaggio.
    Perchè magari qualcuno segue questi consigli e poi il programma non gli gira su dos puro.
    Cosi' crei solamente confusione nell'utente.

    Se volevano fare un gioco con OpenGL e MFC, la tua risposta sarebbe stata la più adatta, in questo contesto no..
    [Homepage] [Contattami]
    Powered by: Ubuntu - Debian - Gentoo
    Developing: Java - C++ - PHP

    [supersaibal]"Perchè tanto Debian è meglio"
    [/supersaibal]

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.