home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #6 / amigaacscoverdisc1998-061998.iso / games / descent / source / div / testd.c < prev    next >
C/C++ Source or Header  |  1998-06-08  |  2KB  |  83 lines

  1. /*
  2. THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
  3. SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
  4. END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
  5. ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
  6. IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
  7. SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
  8. FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
  9. CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
  10. AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.  
  11. COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
  12. */
  13. #include <stdio.h>
  14. #include <stdlib.h>
  15. #include <conio.h>
  16.  
  17. #include "div0.h"
  18.  
  19. extern void correct();
  20. extern int testdivide();
  21. extern void div0_my_add();
  22. extern void setup_correct();
  23.  
  24. void correct_c()
  25. {
  26.     printf( "Divide by zero error, man!\n" );
  27. }
  28.  
  29.  
  30. main()
  31. {   int x,y,z;
  32.  
  33.     printf( "\n\n\n\n" );
  34.  
  35.     if (!div0_init( DM_SATURATE )) {
  36.         printf( "Error initializing Divide By Zero Exception.\n" );
  37.         exit(1);
  38.     }
  39.  
  40.     z = 0;
  41.     printf( "The following should saturate on divide by zero.\n" );
  42.     printf( "A result of 3 (ie... 6 2) will continue...\n" );
  43.  
  44.     while(z != 3)
  45.     {
  46.         printf( "Enter two integers: " );
  47.         scanf( "%d %d", &x, &y );
  48.         z = x / y;
  49.         printf( "%d / %d = %d\n", x, y, z );
  50.     }
  51.  
  52.  
  53.     //div0_set_handler( div0_my_add, correct );
  54.     setup_correct();
  55.  
  56.     z = testdivide();
  57.  
  58.     printf( ".\n.\n.This should equal 15 (from TESTDA.ASM): %d\n", z );
  59.  
  60.  
  61.     printf( "\nPress any key...\n" );
  62.     getch();
  63.  
  64.  
  65.     div0_set_mode( DM_ERROR );
  66.  
  67.     printf( "\nNow, you should see the Watcom runtime error message...\n" );
  68.  
  69.     printf( "\nPress any key...\n" );
  70.     getch();
  71.  
  72.     x = y = 0;
  73.     z = x / y;
  74.  
  75.     printf( "Z=%d\n", z );
  76.  
  77.     div0_close();
  78.  
  79.  
  80. }
  81.  
  82.  
  83.