initial
This commit is contained in:
commit
90f6847764
39
README.md
Normal file
39
README.md
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
# Poľská kalkulačka
|
||||||
|
|
||||||
|
Vytvorte zásobníkovú kalkulačku. Zásobník bude mať veľkosť 10 miest na uloženie čísla s desatinnou čiarkou.
|
||||||
|
|
||||||
|
Jeden vstup do kalkulačky bude zadaný na jedmom riadku. Vstup do kalkulačky môže byť číslo s desatinnou čiarkou alebo jedna z operácií `+-*/`.
|
||||||
|
|
||||||
|
Ak je na vstupe platné číslo, pridajte ho na koniec zásobmíka.
|
||||||
|
Ak je vstup operácia, vyberte dva posledné čísla zo zásobníka, vykonajte operáciu a výsledok vložte do zásobníka.
|
||||||
|
Na konci každého úspešného vstupu alebo operácie zobrazte na nový riadok hodnoty v zásobníku oddelené medzerou. V prípade, že sa nepodarilo načítať číslo alebo operáciu, vypíšte chybové hlásenie a ukončite program.
|
||||||
|
|
||||||
|
V prípade, že je zásobník plný alebo v ňom nie je dostatok hodnôt, vypíšte chybovú správu a ukončite program.
|
||||||
|
|
||||||
|
|
||||||
|
Príklad práce s programom:
|
||||||
|
|
||||||
|
Vstup:
|
||||||
|
|
||||||
|
```
|
||||||
|
34
|
||||||
|
34.5
|
||||||
|
+
|
||||||
|
23
|
||||||
|
-
|
||||||
|
45
|
||||||
|
/
|
||||||
|
```
|
||||||
|
|
||||||
|
Výstup:
|
||||||
|
|
||||||
|
```
|
||||||
|
34.00
|
||||||
|
34.00 34.50
|
||||||
|
68.50
|
||||||
|
68.50 23.00
|
||||||
|
45.50
|
||||||
|
45.50 45.00
|
||||||
|
1.01
|
||||||
|
no input
|
||||||
|
```
|
28
program.c
Normal file
28
program.c
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <assert.h>
|
||||||
|
|
||||||
|
#define STACK_SIZE 10
|
||||||
|
#define LINE_SIZE 100
|
||||||
|
|
||||||
|
struct stack {
|
||||||
|
float values[STACK_SIZE];
|
||||||
|
int size;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Vypis zasobnika
|
||||||
|
void print_stack(struct stack* stack);
|
||||||
|
// Vyber zo zasobnika
|
||||||
|
float pop_stack(struct stack* stack);
|
||||||
|
// Pridanie do zasobnika
|
||||||
|
void push_stack(struct stack* stack,float value);
|
||||||
|
// Velkost zasobnika
|
||||||
|
int count_stack(struct stack* stack);
|
||||||
|
|
||||||
|
|
||||||
|
int main(){
|
||||||
|
struct stack mystack;
|
||||||
|
memset(mystack,0,sizeof(struct stack));
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user