Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.49 KB | None | 0 0
  1. #include <stdio.h>
  2. /*Ofek Gur 322692641 ex1b.c*/
  3. void calculate(int num1, int num2, char operation) {
  4. /*calculator function - with the switch and the operation chooses which case to run*/
  5. switch (operation) {
  6. case '+':
  7. printf(" %d + %d = %d \n",num1,num2,num1 + num2);
  8. break;
  9. case '-':
  10. printf(" %d - %d = %d \n", num1, num2, num1-num2);
  11. break;
  12. case '*':
  13. printf(" %d * %d = %d \n", num1, num2, num1*num2);
  14. break;
  15. case '%':
  16. // can't show %
  17. printf(" %d mod %d = %d \n", num1, num2, num1%num2);
  18. break;
  19. case '/':
  20. printf(" %d / %d = %d \n", num1, num2, num1 / num2);
  21. break;
  22. // operation is not right
  23. default:
  24. printf("Input error\n");
  25. }
  26. }
  27.  
  28. void seven_boom(int num1) {
  29. printf("[");
  30. int tmp;
  31. for (int i = 7; i <= num1; i++) {
  32. //number divided by 7
  33. if (i % 7 == 0)
  34. //the first number has no commas
  35. if (i == 7)
  36. printf("%d",i);
  37. else
  38. printf(",%d",i);
  39. else
  40. {
  41. //checking if 7 appears in the number by dividing by 10 and checking mod 10
  42. tmp = i;
  43. while (tmp >=7) {
  44. if (tmp % 10 == 7)
  45. printf(",%d", i);
  46. tmp /= 10;
  47. }
  48.  
  49. }
  50.  
  51. }
  52. printf("] \n ");
  53. }
  54.  
  55. int main() {
  56. int option=0;
  57. int num1, num2;
  58. char operation;
  59. while(1) {
  60. //The menu - showing the options to the user
  61. printf("Choose an option \n 1.Calculator \n 2.7 Boom \n 3.Number with decimal point \n 4.exit \n");
  62. scanf_s("%d",&option);
  63. getchar();
  64. switch (option)
  65. {
  66. case 1:
  67. // Calculator
  68. {
  69. printf("Please enter two numbers\n");
  70. scanf_s(" %d %d", &num1, &num2);
  71. printf("Please enter operation \n");
  72. scanf_s(" %c", &operation);
  73. if (operation == '/'&&num2 == 0)
  74. printf("Error\n");
  75. else
  76. calculate(num1, num2, operation);
  77. break;
  78. }
  79. case 2:
  80. //7 Boom
  81. {
  82. printf("Please enter a number for 7 Boom game \n");
  83. scanf_s(" %d", &num1);
  84. seven_boom(num1);
  85. break;
  86. }
  87. case 3:
  88. //Number with decimal point
  89. {
  90. int sum1=0,sum2 = 0;
  91. char decimal_number;
  92. printf("Please enter a real number\n");
  93. scanf_s("%c", &decimal_number);
  94. if (decimal_number == '.') {
  95. char temp = decimal_number;
  96. scanf_s("%c", &temp);
  97. if (temp == 10) {
  98. printf("Input error \n");
  99. break;
  100. }
  101. }
  102. if (decimal_number == '-')
  103. scanf_s("%c", &decimal_number);
  104. if (decimal_number == '.'|| decimal_number >= '0' && decimal_number <= '9') {
  105. while (1) {
  106. if (decimal_number >= '0' && decimal_number <= '9')
  107. sum1 += decimal_number - 48;
  108. if (decimal_number == '.' || decimal_number == 10)
  109. break;
  110. if ((decimal_number < '0' || decimal_number > '9'))
  111. {
  112. printf("Input error\n");
  113. break;
  114. }
  115. scanf_s("%c", &decimal_number);
  116. }
  117. if ((decimal_number < '0' || decimal_number>'9')&&decimal_number!='.'&&decimal_number!=10)
  118. break;
  119. if (decimal_number != 10) {
  120. while (1) {
  121. scanf_s("%c", &decimal_number);
  122. if (decimal_number >= '0' && decimal_number <= '9')
  123. sum2 += decimal_number - 48;
  124. if (decimal_number == 10)
  125. break;
  126. if ((decimal_number < '0' || decimal_number>'9'))
  127. {
  128. printf("Input error\n");
  129. break;
  130. }
  131. }
  132. }
  133. if ((decimal_number < '0' || decimal_number>'9') && decimal_number != 10)
  134. break;
  135. printf("%d.%d \n", sum1, sum2);
  136. }
  137. else
  138. printf("Input error\n");
  139. break;
  140. }
  141. case 4:
  142. //exit
  143. printf("Bye\n");
  144. return 0;
  145.  
  146. default:
  147. printf("Input error\n");
  148. break;
  149.  
  150. }
  151. }
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement