Aiuto in C per le frecce da tastiera

di il
5 risposte

Aiuto in C per le frecce da tastiera

Salve ragazzi, stavo cercando di realizzare un programma in cui potessi rispondere a una domanda scegliendo tra due opzioni utilizzando le frecce della tastiera e il tasto invio. Programmo da pochissimo, una settimana circa, e forse è un po' azzardato iniziare così, ma voglio provarci ugualmente. sono riuscito a inserire in input le frecce su e giu e il tasto invio (non so se mi spiego, ma leggendo il codice forse sarà più chiaro). Ho fatto un ciclo while in cui posso premere le frecce su e giù finchè non premo il tasto invio. il mio problema ora è cosa scrivere sotto ai vari casi dello switch! Per ora ho scritto che premendo freccia su stampa a schermo la scritta "Test su", ma vorrei invece che premendo freccia su il cursore si posizionasse sulla scritta "Si" e premendo invio scegliesse l'opzione "si". Vi posto il codice sperando che vi sia chiaro!
#include<stdio.h>
#include<conio.h>

/* Voglio eseguire un programma che consenta di stampare a video due
   possibili opzioni, consentendo la scelta di una delle due con uno
   switch e i tasti freccia */


//dichiarazione variabili

int key=0,a;

main()
{
      //Inizio stampando a video una domanda: "Ti piace la pasta?"
      
      printf("Ti piace la pasta?\n\n");
      //Stampo a video le opzioni: "Si" e "No"
      
      printf(" Si\n");
      printf(" No\n");
      
      //Con le frecce devo poter scegliere un'opzione. Creo uno switch:
      //il caso 1 e 2 sono le frecce su e giù, il caso tre è la conferma (invio)
      
      key = getch();
      if (key == 224){
      while (key!=13)
      {             key = getch();
                    switch (key){
                    
                    //Dentro il caso 1 che devo fare? Dentro il caso 2? Dentro il caso 3?
                    
                                 case 72 : printf("Test su\n");
                                 a=72;
                                 break; 
                           
                                 case 80 : printf("Test giu'\n");
                                 a=80;
                                 break;
                                 
                                 case 13 : printf("Test invio\n");
                                 break;
                                 }
      }
      }
      
      if (a==72)
      printf("Si!");
      
      else if(a==80)
      printf("No!");
      
      getch();

      
      
      
      //Do un output a seconda del tipo di risposta
}

EDIT: Ho risolto assegnando ad a due valori a seconda del tipo di scelta...sembra funzionare. L'unico problema ora è che non voglio che premendo le frecce direzionali mi dia in output "freccia su" o "freccia giu" ma che evidenzi in qualche modo il "si" ed il "no"!

5 Risposte

  • Re: Aiuto in C per le frecce da tastiera

    Wo...non spingete eh...

    Ho risolto....grazie a tutti per le risposte utilissime....ecco un forum dove non metterò più piede...

    Peace
  • Re: Aiuto in C per le frecce da tastiera

    quiro ha scritto:


    un forum dove non metterò più piede...
    Ce ne faremo una ragione ...
  • Re: Aiuto in C per le frecce da tastiera

    quiro ha scritto:


    Wo...non spingete eh...

    Ho risolto....grazie a tutti per le risposte utilissime....ecco un forum dove non metterò più piede...
    Hai atteso meno di 24 ore... Guarda che questo è un forum e non una chat. Comunque mi unisco a oregon nel dire che ce ne faremo una ragione!
  • Re: Aiuto in C per le frecce da tastiera

    Però quando c'è puzza di flame, allora la gente quanto si precipita in fretta per commentare... chissà quante altre belle opinioni avrete da esprimere eh! Buon divertimento!
  • Re: Aiuto in C per le frecce da tastiera

    Il fatto è che la gente ha tanto da fare e questo non è un servizio a pagamento.

    Quindi ogni tanto si fa il giro dei thread per tentare di dare una mano a qualche utente ma si trova sempre quello poco educato ...
Devi accedere o registrarti per scrivere nel forum
5 risposte