test
This commit is contained in:
		
							parent
							
								
									5715573e8f
								
							
						
					
					
						commit
						0a71ff2d13
					
				| @ -78,18 +78,18 @@ bool je_platna_operacia(char operacia) { | |||||||
|     return operacia == '+' || operacia == '-' || operacia == '*' || operacia == '/'; |     return operacia == '+' || operacia == '-' || operacia == '*' || operacia == '/'; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Funkcia na validáciu, či je vstup platným číslom
 | 
 | ||||||
| bool je_platne_cislo(const char *vstup) { | bool je_platne_cislo(const char *vstup) { | ||||||
|     char *koniec; |     char *koniec; | ||||||
|     strtof(vstup, &koniec); // Prevedie reťazec na číslo
 |     strtof(vstup, &koniec);  | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
|     // Ak ukazovateľ koniec nesmeruje na '\0', vstup obsahuje neplatné znaky
 |  | ||||||
|     return *koniec == '\n' || *koniec == '\0'; |     return *koniec == '\n' || *koniec == '\0'; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Funkcia na kontrolu, či je v zásobníku dostatok operantov pre operáciu
 | 
 | ||||||
| bool dost_operantov(KalkulackaZasobnik *kalkulacka) { | bool dost_operantov(KalkulackaZasobnik *kalkulacka) { | ||||||
|     return kalkulacka->vrchol >= 1; // Potrebujeme aspoň 2 operanty na operáciu
 |     return kalkulacka->vrchol >= 1;  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| int main() { | int main() { | ||||||
| @ -109,7 +109,7 @@ int main() { | |||||||
|             vloz(&kalkulacka, hodnota); |             vloz(&kalkulacka, hodnota); | ||||||
|             zobraz_zasobnik(&kalkulacka); |             zobraz_zasobnik(&kalkulacka); | ||||||
|         } |         } | ||||||
|         else if (strlen(vstup) == 2 && je_platna_operacia(vstup[0])) {  |         else if (strlen(vstup) == 2 && je_platna_operacia(vstup[0])) {a | ||||||
|             char operacia = vstup[0]; |             char operacia = vstup[0]; | ||||||
| 
 | 
 | ||||||
|             if (!dost_operantov(&kalkulacka)) {  |             if (!dost_operantov(&kalkulacka)) {  | ||||||
| @ -117,48 +117,28 @@ int main() { | |||||||
|                 continue;  |                 continue;  | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|  |             bool uspech = false; | ||||||
|             switch (operacia) { |             switch (operacia) { | ||||||
|                 case '+': |                 case '+': | ||||||
|                     if (scitat(&kalkulacka)) { |                     uspech = scitat(&kalkulacka); | ||||||
|                         zobraz_zasobnik(&kalkulacka); |  | ||||||
|                     } else { |  | ||||||
|                         printf("no input\n"); |  | ||||||
|                         return 0; |  | ||||||
|                     } |  | ||||||
|                     break; |                     break; | ||||||
|                 case '-': |                 case '-': | ||||||
|                     if (odcitat(&kalkulacka)) { |                     uspech = odcitat(&kalkulacka); | ||||||
|                         zobraz_zasobnik(&kalkulacka); |  | ||||||
|                     } else { |  | ||||||
|                         printf("no input\n"); |  | ||||||
|                         return 0; |  | ||||||
|                     } |  | ||||||
|                     break; |                     break; | ||||||
|                 case '*': |                 case '*': | ||||||
|                     if (nasobit(&kalkulacka)) { |                     uspech = nasobit(&kalkulacka); | ||||||
|  |                     break; | ||||||
|  |                 case '/': | ||||||
|  |                     uspech = delit(&kalkulacka); | ||||||
|  |                     break; | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  |             if (uspech) { | ||||||
|                 zobraz_zasobnik(&kalkulacka); |                 zobraz_zasobnik(&kalkulacka); | ||||||
|             } else { |             } else { | ||||||
|                 printf("no input\n"); |                 printf("no input\n"); | ||||||
|                 return 0; |                 return 0; | ||||||
|             } |             } | ||||||
|                     break; |  | ||||||
|                 case '/': { |  | ||||||
|                     float a, b; |  | ||||||
|                     if (vyber(&kalkulacka, &a, &b)) { |  | ||||||
|                         if (a == 0) { |  | ||||||
|                             printf("division by zero\n"); |  | ||||||
|                             return 0; |  | ||||||
|                         } else { |  | ||||||
|                             vloz(&kalkulacka, b / a); |  | ||||||
|                             zobraz_zasobnik(&kalkulacka); |  | ||||||
|                         } |  | ||||||
|                     } else { |  | ||||||
|                         printf("no input\n"); |  | ||||||
|                         return 0; |  | ||||||
|                     } |  | ||||||
|                     break; |  | ||||||
|                 } |  | ||||||
|             } |  | ||||||
|         } else { |         } else { | ||||||
|             printf("bad input\n"); |             printf("bad input\n"); | ||||||
|             return 0; |             return 0; | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user