3
This commit is contained in:
		
							parent
							
								
									23fd7ac3c3
								
							
						
					
					
						commit
						e99adaa6a4
					
				| @ -11,7 +11,7 @@ int stack_top = -1; | ||||
| bool is_number(char *string) { | ||||
|     char *end; | ||||
|     strtof(string, &end); | ||||
|     return end != string && *end == '\0'; | ||||
|     return end != string && *end == '\n'; | ||||
| } | ||||
| 
 | ||||
| bool is_operation(char *string) { | ||||
| @ -33,7 +33,7 @@ float calculator(float n1, float n2, char operation) { | ||||
|             return n1 / n2; | ||||
|         } else { | ||||
|             printf("Error: division by zero\n"); | ||||
|             exit(1); | ||||
|             return 0; | ||||
|         } | ||||
|     } | ||||
|     return 0; | ||||
| @ -44,7 +44,6 @@ void push(float number) { | ||||
|         stack[++stack_top] = number; | ||||
|     } else { | ||||
|         printf("Error: stack overflow\n"); | ||||
|         exit(1); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| @ -53,7 +52,7 @@ float pop() { | ||||
|         return stack[stack_top--]; | ||||
|     } else { | ||||
|         printf("Error: stack is empty\n"); | ||||
|         exit(1); | ||||
|         return 0; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| @ -70,12 +69,12 @@ int main() { | ||||
|         if (is_number(arr)) { | ||||
|             float number = strtof(arr, &pend); | ||||
|             push(number); | ||||
|             printf("Number added: %.2f\n", number); | ||||
|             printf("%.2f ", number); | ||||
|         } | ||||
|         else if (is_operation(arr)) { | ||||
|             if (stack_top < 1) { | ||||
|                 printf("Error: not enough numbers in the stack for operation\n"); | ||||
|                 return 1; | ||||
|                 printf("no input\n"); | ||||
|                 continue; | ||||
|             } | ||||
| 
 | ||||
|             float n2 = pop(); | ||||
| @ -83,18 +82,18 @@ int main() { | ||||
|             char operation = arr[0]; | ||||
|             float result = calculator(n1, n2, operation); | ||||
|             push(result); | ||||
|             printf("Operation result: %.2f\n", result); | ||||
|             printf("%.2f ", result); | ||||
|         } | ||||
|         else { | ||||
|             printf("Error: invalid input\n"); | ||||
|             return 1; | ||||
|             printf("no input\n"); | ||||
|             continue; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     if (stack_top == 0) { | ||||
|         printf("Final result: %.2f\n", pop()); | ||||
|         printf("\n%.2f\n", pop()); | ||||
|     } else { | ||||
|         printf("Error: stack contains more than one number after operations\n"); | ||||
|         printf("\nno input\n"); | ||||
|     } | ||||
| 
 | ||||
|     return 0; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user