All pastes #629033 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-07-21 21:54 UTC
rendered paste body
//Star Trek Voyager style computer beeps (Internal pcspeaker)

#include <iostream>
#include <windows.h>
#include <time.h>

void WaitMS( unsigned int msecs )
{
	clock_t goal = msecs + clock();
	while( goal > clock() );
}

void DoNumBeep( int beepnum )
{
	switch( beepnum )
	{
		case 1:
			Beep( 750, 150 );
			WaitMS( 30 );
            Beep( 750, 200 );
			break;
		
		case 2:
		    Beep( 750, 150 );
		    WaitMS( 20 );
			Beep( 400, 120 );
			Beep( 750, 150 );
			break;
		
		case 3:
			Beep( 750, 150 );
			WaitMS( 30 );
			Beep( 750, 150 );
			Beep( 400, 200 );
			break;
			
		case 4:
			Beep( 400, 200 );
			Beep( 750, 150 );
			WaitMS( 30 );
			Beep( 750, 150 );
			break;

		case 5:
			Beep( 750, 150 );
			WaitMS( 30 );
            Beep( 750, 150 );
			Beep( 250, 200 );
			break;
		case 6:
            Beep( 250, 200 );
			WaitMS( 5 );
            Beep( 250, 200 );
			WaitMS( 45 );
            Beep( 700, 180 );
			break;
		default:
			std::cout<<"Invalid beepcode ("<<beepnum<<")"<<std::endl;
	}
}

int main( )
{
    int beepnum;

	loopme:
	std::cout<<"Which beep? (1-6, 0 to exit): ";
	std::cin>>beepnum;
	
	if( beepnum == 0 )
		exit( 0 );

    DoNumBeep( beepnum );
goto loopme;
	
	return 0;
}