fork download
  1. #include <stdio.h>
  2. %{
  3. int result = 0, num1 = 0, num2 = 0, case_num = 0;
  4. %}
  5.  
  6. %option noyywrap
  7.  
  8. %%
  9.  
  10. "case1" { case_num = 1; }
  11. "case2" { case_num = 2; }
  12. "case3" { case_num = 3; }
  13. "case4" { case_num = 4; }
  14. [0-9]+ { sscanf(yytext, "%d", &num1); }
  15. [0-9]+ { sscanf(yytext, "%d", &num2); }
  16.  
  17. %%
  18.  
  19. int main() {
  20. printf("Enter two numbers (num1 and num2) and case numbers (1 for addition, 2 for subtraction, 3 for multiplication, and 4 for division):\n");
  21. yylex();
  22.  
  23. switch (case_num) {
  24. case 1:
  25. result = num1 + num2;
  26. printf("Result of addition: %d\n", result);
  27. break;
  28. case 2:
  29. result = num1 - num2;
  30. printf("Result of subtraction: %d\n", result);
  31. break;
  32. case 3:
  33. result = num1 * num2;
  34. printf("Result of multiplication: %d\n", result);
  35. break;
  36. case 4:
  37. if (num2 != 0) {
  38. result = num1 / num2;
  39. printf("Result of division: %d\n", result);
  40. } else {
  41. printf("Error: Division by zero is not allowed.\n");
  42. }
  43. break;
  44. default:
  45. printf("Error: Invalid case number.\n");
  46. }
  47. return 0;
  48. }
  49.  
Success #stdin #stdout #stderr 0.02s 6856KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
ERROR: /home/mqs5b4/prog:48:1: Syntax error: Unexpected end of file
ERROR: '$runtoplevel'/0: Undefined procedure: program/0
   Exception: (3) program ? EOF: exit