No dobra przyznam sie, ze troche nie rozumiem. No kod niestety jest w c, bo tak mnie naucyzli na studiach ;(. przechodzac jednak do programu w wczesniejszych funkcjach uzywalem stos i dziala. Wydaje mi sie, ze to tu jest zadeklarowana zmienna stos.
struct Stos {
double stos[MAX_SIZE];
int rozmiar;
};
Dalej nie za bardzo wiem co mam z tym zrobic.
Wrzucam kod nie w screenach.
to plik .h
/* maksymalna ilosc elementow na stosie */
#define MAX_SIZE 10
class dzialanie{
public:
double a,b,c,d;
void cos();
};
struct Stos {
double stos[MAX_SIZE];
int rozmiar;
};
/* Zwraca ilosc elementow znajdujacych sie na stosie */
int size(struct Stos *stos);
void push(double liczba, struct Stos *stos);
double pop(struct Stos *stos);
void print(struct Stos *stos);
a to .cpp
#include <cstdio>
#include <cstdlib>
#include "kalkul.h"
void push(double liczba, struct Stos *stos) {
if (stos->rozmiar <MAX_SIZE) {
stos->stos[stos->rozmiar] = liczba;
stos->rozmiar++;
}
else {
printf("stos pelny\n");
}
}
double pop(struct Stos *stos) {
if (stos->rozmiar > 0) {
stos->rozmiar--;
return stos->stos[stos->rozmiar];
}
else {
printf("stos pusty\n");
}
}
void print(struct Stos *stos) {
int i;
if (stos->rozmiar == 0)
{
printf("Stos jest pusty\n");
}
else
{
printf("Na stosie znajduje sie \n");
for (i = stos->rozmiar-1; i >= 0; i--)
{
printf("%lf\n", stos->stos[i]);
}
}
}
int size(struct Stos *stos) {
return stos->rozmiar;
}
void dzialanie::cos(){
a = pop(&stos);
b = pop(&stos);
c = b - a;
printf("Wynik:");
printf("%lf\n", c);
push(c, &stos);
}