/*************************** USERINTF.CPP ******************* AgF 2002-10-23 * * * * User interface * * This file specifies system-dependent input and output functions for * * test programs * * * *****************************************************************************/ #include <stdio.h> // define printf() function #include <stdlib.h> // define exit() function #if (defined (__BORLANDC__) || defined (_MSC_VER)) && ! defined(_WINDOWS_) #include <conio.h> // define getch() function #define _GETCH_DEFINED_ #endif /*********************************************************************** End of program ***********************************************************************/ void EndOfProgram() { // This function takes care of whatever is necessary to do when the // program is finished // It may be necessary to wait for the user to press a key // in order to prevent the output window from disappearing. // Remove the #ifdef and #endif lines to unconditionally wait for a key press; // Remove all three lines to not wait: #ifdef _GETCH_DEFINED_ getch(); // wait for user to press a key #endif // It may be necessary to end the program with a linefeed: #if defined (__unix__) || defined (_MSC_VER) printf("\n"); // end program with a linefeed #endif } /*********************************************************************** Error message function ***********************************************************************/ void FatalError(char * ErrorText) { // This function outputs an error message and aborts the program. // Important: There is no universally portable way of outputting an // error message. You may have to modify this function to output // the error message in a way that is appropriate for your system. // Check if FatalAppExit exists (this macro is defined in winbase.h) #ifdef FatalAppExit // in Windows, use FatalAppExit: FatalAppExit(0, ErrorText); #else // in console mode, print error message printf ("\n%s\n", ErrorText); EndOfProgram(); #endif // Terminate program with error code exit(1);}