Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- /*Ofek Gur 322692641 ex1b.c*/
- void calculate(int num1, int num2, char operation) {
- /*calculator function - with the switch and the operation chooses which case to run*/
- switch (operation) {
- case '+':
- printf(" %d + %d = %d \n",num1,num2,num1 + num2);
- break;
- case '-':
- printf(" %d - %d = %d \n", num1, num2, num1-num2);
- break;
- case '*':
- printf(" %d * %d = %d \n", num1, num2, num1*num2);
- break;
- case '%':
- // can't show %
- printf(" %d mod %d = %d \n", num1, num2, num1%num2);
- break;
- case '/':
- printf(" %d / %d = %d \n", num1, num2, num1 / num2);
- break;
- // operation is not right
- default:
- printf("Input error\n");
- }
- }
- void seven_boom(int num1) {
- printf("[");
- int tmp;
- for (int i = 7; i <= num1; i++) {
- //number divided by 7
- if (i % 7 == 0)
- //the first number has no commas
- if (i == 7)
- printf("%d",i);
- else
- printf(",%d",i);
- else
- {
- //checking if 7 appears in the number by dividing by 10 and checking mod 10
- tmp = i;
- while (tmp >=7) {
- if (tmp % 10 == 7)
- printf(",%d", i);
- tmp /= 10;
- }
- }
- }
- printf("] \n ");
- }
- int main() {
- int option=0;
- int num1, num2;
- char operation;
- while(1) {
- //The menu - showing the options to the user
- printf("Choose an option \n 1.Calculator \n 2.7 Boom \n 3.Number with decimal point \n 4.exit \n");
- scanf_s("%d",&option);
- getchar();
- switch (option)
- {
- case 1:
- // Calculator
- {
- printf("Please enter two numbers\n");
- scanf_s(" %d %d", &num1, &num2);
- printf("Please enter operation \n");
- scanf_s(" %c", &operation);
- if (operation == '/'&&num2 == 0)
- printf("Error\n");
- else
- calculate(num1, num2, operation);
- break;
- }
- case 2:
- //7 Boom
- {
- printf("Please enter a number for 7 Boom game \n");
- scanf_s(" %d", &num1);
- seven_boom(num1);
- break;
- }
- case 3:
- //Number with decimal point
- {
- int sum1=0,sum2 = 0;
- char decimal_number;
- printf("Please enter a real number\n");
- scanf_s("%c", &decimal_number);
- if (decimal_number == '.') {
- char temp = decimal_number;
- scanf_s("%c", &temp);
- if (temp == 10) {
- printf("Input error \n");
- break;
- }
- }
- if (decimal_number == '-')
- scanf_s("%c", &decimal_number);
- if (decimal_number == '.'|| decimal_number >= '0' && decimal_number <= '9') {
- while (1) {
- if (decimal_number >= '0' && decimal_number <= '9')
- sum1 += decimal_number - 48;
- if (decimal_number == '.' || decimal_number == 10)
- break;
- if ((decimal_number < '0' || decimal_number > '9'))
- {
- printf("Input error\n");
- break;
- }
- scanf_s("%c", &decimal_number);
- }
- if ((decimal_number < '0' || decimal_number>'9')&&decimal_number!='.'&&decimal_number!=10)
- break;
- if (decimal_number != 10) {
- while (1) {
- scanf_s("%c", &decimal_number);
- if (decimal_number >= '0' && decimal_number <= '9')
- sum2 += decimal_number - 48;
- if (decimal_number == 10)
- break;
- if ((decimal_number < '0' || decimal_number>'9'))
- {
- printf("Input error\n");
- break;
- }
- }
- }
- if ((decimal_number < '0' || decimal_number>'9') && decimal_number != 10)
- break;
- printf("%d.%d \n", sum1, sum2);
- }
- else
- printf("Input error\n");
- break;
- }
- case 4:
- //exit
- printf("Bye\n");
- return 0;
- default:
- printf("Input error\n");
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement