Hallo, met deze code laat ik de knoppen q,w,e,r,t,y,u,i,o en p een piepje met oplopende frequentie afspelen. Alleen ik mailde hem naar iemand anders, en die zei dat het programma z'n hele cpu gebruikte. Dat komt waarschijnlijk door de oneindige loop. Hoe kan ik dit beter doen?
Code:
#define _WIN32_WINNT 0x0500
#include <cstdlib>
#include <iostream>
#include <windows.h>
#include <dos.h>
#include <stdio.h>
#include <conio.h>
#include <winuser.h>
#include <string>
using namespace std;
void welcome();
void help();
void camo();
void piep();
char doornaarpiep = 's';
char doornaarhelp = 'h';
char doornaarsluiten = 'q';
char vraag;
int main()
{
welcome();
cin >> vraag;
if (vraag == doornaarpiep)
{
camo();
piep();
}
else if (vraag == doornaarhelp)
{
help();
}
else if (vraag == doornaarsluiten)
{
exit(0);
}
}
void camo()
{
HWND hWnd = GetConsoleWindow();
ShowWindow( hWnd, SW_HIDE );
}
void welcome()
{
cout << " ----------------------------------------------------------" << "\n";
cout << "| Welkom, druk op 's' en dan 'Enter' om meteen te beginnen |" << "\n";
cout << "| Druk op 'h' en dan 'Enter' voor uitleg |" << "\n";
cout << "| Druk op 'q' en dan 'Enter' om programma te sluiten |" << "\n";
cout << "| |" << "\n";
cout << "| |" << "\n";
cout << "| |" << "\n";
cout << "| |" << "\n";
cout << "| |" << "\n";
cout << "| |" << "\n";
cout << "| |" << "\n";
cout << "| |" << "\n";
cout << "| |" << "\n";
cout << "| M.v.L |" << "\n";
cout << "-----------------------------------------------------------" << "\n";
}
void help()
{
system("cls");
cout << " ------------------------------------------------------------ " << "\n";
cout << "| De bovenste lijn letters van je toetsenbord geven een piep |" << "\n";
cout << "| Dus Q, W, E, R, T, Y, U, I, O of P |" << "\n";
cout << "| Frequentie loopt op van links naar rechts |" << "\n";
cout << "| linker Ctrl + Alt sluit het programma |" << "\n";
cout << "| Druk nu op 's' en dan 'Enter' om te beginnen |" << "\n";
cout << "| Het programma zal zich verbergen, je kunt gewoon doorgaan |" << "\n";
cout << " ------------------------------------------------------------ " << "\n";
cin >> vraag;
if (vraag == doornaarpiep)
{
camo();
piep();
}
}
void piep()
{
system("cls");
while(1)
{
if(GetAsyncKeyState(81)==-32767)
{
Beep(200,100);
}
else if(GetAsyncKeyState(87)==-32767)
{
Beep(300,100);
}
else if(GetAsyncKeyState(69)==-32767)
{
Beep(400,100);
}
else if(GetAsyncKeyState(82)==-32767)
{
Beep(500,100);
}
else if(GetAsyncKeyState(84)==-32767)
{
Beep(600,100);
}
else if(GetAsyncKeyState(89)==-32767)
{
Beep(700,100);
}
else if(GetAsyncKeyState(85)==-32767)
{
Beep(800,100);
}
else if(GetAsyncKeyState(73)==-32767)
{
Beep(900,100);
}
else if(GetAsyncKeyState(79)==-32767)
{
Beep(1000,100);
}
else if(GetAsyncKeyState(80)==-32767)
{
Beep(1100,100);
}
else if (GetAsyncKeyState(VK_LCONTROL) && GetAsyncKeyState(VK_LMENU))
{
exit(0);
}
}
}