#include <stdio.h>
%{
int result = 0, num1 = 0, num2 = 0, case_num = 0;
%}
%option noyywrap
%%
"case1" { case_num = 1; }
"case2" { case_num = 2; }
"case3" { case_num = 3; }
"case4" { case_num = 4; }
[0-9]+ { sscanf(yytext, "%d", &num1); }
[0-9]+ { sscanf(yytext, "%d", &num2); }
%%
int main() {
printf("Enter two numbers (num1 and num2) and case numbers (1 for addition, 2 for subtraction, 3 for multiplication, and 4 for division):\n");
yylex();
switch (case_num) {
case 1:
result = num1 + num2;
printf("Result of addition: %d\n", result);
break;
case 2:
result = num1 - num2;
printf("Result of subtraction: %d\n", result);
break;
case 3:
result = num1 * num2;
printf("Result of multiplication: %d\n", result);
break;
case 4:
if (num2 != 0) {
result = num1 / num2;
printf("Result of division: %d\n", result);
} else {
printf
("Error
: Division by zero
is not allowed
.\n"
); }
break;
default:
printf
("Error
: Invalid case
number.\n"
); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiV7CmludCByZXN1bHQgPSAwLCBudW0xID0gMCwgbnVtMiA9IDAsIGNhc2VfbnVtID0gMDsKJX0KCiVvcHRpb24gbm95eXdyYXAKCiUlCgoiY2FzZTEiICAgICB7IGNhc2VfbnVtID0gMTsgfQoiY2FzZTIiICAgICB7IGNhc2VfbnVtID0gMjsgfQoiY2FzZTMiICAgICB7IGNhc2VfbnVtID0gMzsgfQoiY2FzZTQiICAgICB7IGNhc2VfbnVtID0gNDsgfQpbMC05XSsgICAgICB7IHNzY2FuZih5eXRleHQsICIlZCIsICZudW0xKTsgfQpbMC05XSsgICAgICB7IHNzY2FuZih5eXRleHQsICIlZCIsICZudW0yKTsgfQoKJSUKCmludCBtYWluKCkgewogICAgcHJpbnRmKCJFbnRlciB0d28gbnVtYmVycyAobnVtMSBhbmQgbnVtMikgYW5kIGNhc2UgbnVtYmVycyAoMSBmb3IgYWRkaXRpb24sIDIgZm9yIHN1YnRyYWN0aW9uLCAzIGZvciBtdWx0aXBsaWNhdGlvbiwgYW5kIDQgZm9yIGRpdmlzaW9uKTpcbiIpOwogICAgeXlsZXgoKTsKCiAgICBzd2l0Y2ggKGNhc2VfbnVtKSB7CiAgICAgICAgY2FzZSAxOgogICAgICAgICAgICByZXN1bHQgPSBudW0xICsgbnVtMjsKICAgICAgICAgICAgcHJpbnRmKCJSZXN1bHQgb2YgYWRkaXRpb246ICVkXG4iLCByZXN1bHQpOwogICAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgIHJlc3VsdCA9IG51bTEgLSBudW0yOwogICAgICAgICAgICBwcmludGYoIlJlc3VsdCBvZiBzdWJ0cmFjdGlvbjogJWRcbiIsIHJlc3VsdCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgcmVzdWx0ID0gbnVtMSAqIG51bTI7CiAgICAgICAgICAgIHByaW50ZigiUmVzdWx0IG9mIG11bHRpcGxpY2F0aW9uOiAlZFxuIiwgcmVzdWx0KTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSA0OgogICAgICAgICAgICBpZiAobnVtMiAhPSAwKSB7CiAgICAgICAgICAgICAgICByZXN1bHQgPSBudW0xIC8gbnVtMjsKICAgICAgICAgICAgICAgIHByaW50ZigiUmVzdWx0IG9mIGRpdmlzaW9uOiAlZFxuIiwgcmVzdWx0KTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHByaW50ZigiRXJyb3I6IERpdmlzaW9uIGJ5IHplcm8gaXMgbm90IGFsbG93ZWQuXG4iKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICBwcmludGYoIkVycm9yOiBJbnZhbGlkIGNhc2UgbnVtYmVyLlxuIik7CiAgICB9CiAgICByZXR1cm4gMDsKfQo=