char zonder enter

Status
Niet open voor verdere reacties.

mmatteman

Gebruiker
Lid geworden
3 sep 2008
Berichten
287
Ok, ik stel het anders:

Hoe kan ik zien welke toets ik heb ingedrukt, en die toets dan bijvoorbeeld op het beeldscherm printen?
 
Laatst bewerkt:
Ok, ik stel het anders:

Hoe kan ik zien welke toets ik heb ingedrukt, en die toets dan bijvoorbeeld op het beeldscherm printen?

Je hebt functies als getch() en getche(), deze zijn niet standaard. Als je het met cin wil doen is het dacht ik afhankelijk van het platform om het "wachten op enter" uit te zetten.
 
goed.. de getch() snap ik nu..maar nu komt het volgende probleempje. Ik heb een do-while lus gebruikt, om telkens wanneer de ingedrukte knop NIET q,w,e,r,t,y,u,i,o of p is, een foutmelding te geven, opnieuw naar de knop te vragen, en als de ingedrukte knop WEL een van die 10 letters is, een Beep te geven (q is lage frequentie, p hoog). Dit werkt gedeeltelijk. als ik bijvoorbeeld de q indruk, krijg ik de tonen van q t/m p één keer te horen. als ik w indruk de tonen w t/m p enz. Dit is echter niet de bedoeling. Ik wil dat elke knop individueel zijn eigen toon afspeelt. Ook wordt de foutmelding weergegeven, alleen ook wanneer ik WEL op een van de q t/m p knoppen druk. Waarschijnlijk heb ik niet veel begrepen van de do/while lus... Maar goed, hier is m'n code:

Code:
#include <stdio.h>
#include <windows.h>
#include <iostream>
#include <conio.h>
using namespace std;

int main()
{
    char a1;
    
    do {
        a1=getch();
                  switch (a1) {
                  case 'q': {
                  Beep(100,50);
                  }
                  case 'w': {
                  Beep(200,50);
                  }
                  case 'e': {
                  Beep(300,50);
                  }
                  case 'r': {
                  Beep(400,50);
                  }
                  case 't': {
                  Beep(500,50);
                  }
                  case 'y': {
                  Beep(600,50);
                  }
                  case 'u': {
                  Beep(700,50);
                  }
                  case 'i': {
                  Beep(800,50);
                  }
                  case 'o': {
                  Beep(900,50);
                  }
                  case 'p': {
                  Beep(1000,50);
                  }
                  default: {
                  cout << "Je drukte een niet-geldige knop" << endl;
                  }
                  }
        
        
        
        }while(a1 != 'q' || 'w' || 'e' || 'r' || 't' || 'y' || 'u' || 'i' || 'o' || 'p');
        
        return 0;
        }

Hulp is nodig!!

alvast bedankt,

mathijs
 
Code:
                switch (a1) {
                  case 'q': {
                  Beep(100,50);
                  break; 
                  }
                  case 'w': {
                  Beep(200,50);
                  break;
                  //etc

Voeg er eens een 'break' aan toe.
 
laatste vraag.. =p

in welke eenheid wordt de frequentie van de Beep gemeten?;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan