Обновить cv3/program.c
This commit is contained in:
		
							parent
							
								
									7806888c40
								
							
						
					
					
						commit
						863f360310
					
				| @ -47,11 +47,11 @@ int main() { | ||||
|     while (fgets(bufer, sizeof(bufer), stdin) != NULL) { | ||||
|         char* konec; | ||||
|         double chislo = strtod(bufer, &konec); | ||||
|         char c = konec[0]; | ||||
| 
 | ||||
|         if (*konec == '\n' && *bufer != '\n' && *bufer != ' ') { | ||||
|         if (c == '\n' && *bufer != '\n' && *bufer != ' ') { | ||||
|             push(&stek, chislo); | ||||
|         } else if (strcmp(konec, "+\n") == 0) { | ||||
| 
 | ||||
|         } else if (c == '+') { | ||||
|             if (isEmpty(&stek)) { | ||||
|                 printf("no input\n"); | ||||
|                 exit(1); | ||||
| @ -63,7 +63,7 @@ int main() { | ||||
|             } | ||||
|             double a = pop(&stek); | ||||
|             push(&stek, a + b); | ||||
|         } else if (strcmp(konec, "-\n") == 0) { | ||||
|         } else if (c == '-') { | ||||
|             if (isEmpty(&stek)) { | ||||
|                 printf("no input\n"); | ||||
|                 exit(1); | ||||
| @ -75,7 +75,7 @@ int main() { | ||||
|             } | ||||
|             double a = pop(&stek); | ||||
|             push(&stek, a - b); | ||||
|         } else if (strcmp(konec, "*\n") == 0) { | ||||
|         } else if (c == '*') { | ||||
|             if (isEmpty(&stek)) { | ||||
|                 printf("no input\n"); | ||||
|                 exit(1); | ||||
| @ -87,7 +87,7 @@ int main() { | ||||
|             } | ||||
|             double a = pop(&stek); | ||||
|             push(&stek, a * b); | ||||
|         } else if (strcmp(konec, "/\n") == 0) { | ||||
|         } else if (c == '/') { | ||||
|             if (isEmpty(&stek)) { | ||||
|                 printf("no input\n"); | ||||
|                 exit(1); | ||||
| @ -97,21 +97,18 @@ int main() { | ||||
|                 printf("no input\n"); | ||||
|                 exit(1); | ||||
|             } | ||||
| 
 | ||||
|             double a = pop(&stek); | ||||
|             if (b == 0) { | ||||
|                 printf("division by zero\n"); | ||||
|                 return 0; | ||||
|                 exit(1); | ||||
|             } | ||||
|             push(&stek, a / b); | ||||
|         } else if (isalpha(konec[-1])) { | ||||
|         } else if (isalpha(c)) { | ||||
|             printf("bad input\n"); | ||||
|             exit(1); | ||||
|             return 0; | ||||
|         } else { | ||||
|             printf("bad input\n"); | ||||
|             exit(1); | ||||
|             printf("no input\n"); | ||||
|             return 0; | ||||
|         } | ||||
|         for (int i = 0; i < stek.vershina; i++) { | ||||
|             printf("%.2lf ", stek.chisla[i]); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user