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