Published in: C++
#include <setjmp.h> #include <stdio.h> jmp_buf envBuf; //environment buffer int main(void) { int dividend, divisor; if ( setjmp(envBuf) ) { puts("Enter a number."); getchar(); } printf("Dividend: "); if (scanf("%d", ÷nd) != 1) longjmp(envBuf, 1); switch ( setjmp(envBuf) ) { case 0: break; case 1: puts("Enter a number."); getchar(); break; case 2: puts("Divided by zero."); break; default: puts("Unknown error."); break; } printf("Divisor: "); if (scanf("%d", &divisor) != 1) longjmp(envBuf, 1); if (divisor == 0) longjmp(envBuf, 2); printf("%d / %d = %d", dividend, divisor, dividend / divisor); return 0; }
You need to login to post a comment.
