Witam
Mam na zaliczenie napisać program...Obiektowo...wybrałem temat kalkulatora no i prawie go wykonałem ... Z tym, że mam problem ze "złapaniem' wartości z buttonów...
KOnkretnie nie wiem, jak mam zrealizować pobieranie wartości naciśniętego buttona do zmiennych a i b...
Mniej więcej chodzi mi o taki algorytm...naciskam cyfrę, do pamięci, następna, następna...aż dostanie znak...jak jest znak, to czeka na następną cyfrę, następna, następna, aż do = , kiedy = to wyrzuca wynik na Edit...
Mam nadzieję, że jasno napisałem :D
W każdym zdarzeniu buttona mam
this->Edit1->Text=StrToInt(this->Edit1->Text)*10+a;//zamiast a cyfra za ktora odpowiada dany przycisk
Co pozwala mi na wyrzucenie wartości klawisza na Edit
Ten fragment kodu działa jak C, w kalkulatorze...Wyczyść i wpisz 0;
Edit1->Clear();
Edit1->Text = "0"
Sam kod wyglada tak:
class Kalkulator
{
int wynik;
public:
Kalkulator();
void Dodaj(int,int);
void Odejmij(int,int);
void Podziel(int,int);
void Pomnoz(int,int);
void Kwadrat(int);
void Pierwiastek(int);
void DoPotegi(int,int);
int Wynik();
};
Kalkulator::Kalkulator() { wynik = 0; }
void Kalkulator::Dodaj(int l1, int l2) { wynik = l1 + l2; }
void Kalkulator::Odejmij(int l1, int l2){ wynik = l1 - l2; }
void Kalkulator::Podziel(int l1, int l2){ wynik = l1 / l2; }
void Kalkulator::Pomnoz(int l1, int l2) { wynik = l1 * l2; }
void Kalkulator::Kwadrat(int l) { wynik = l * l; }
void Kalkulator::Pierwiastek(int l) { wynik = (int)sqrt(l); }
void Kalkulator::DoPotegi(int l, int potega)
{
wynik=l;
for(int i=1; i<potega; i++)
{
wynik*=l;
}
}
int Kalkulator::Wynik()
{
return wynik;
}
Odwołuję sie do tego :
int a, b;
kalkulator.Dodaj(a, b);
Edit1->Text = kalkulator.Wynik;
I otrzymuję wartości podane dla a i b :)
Problem jest taki, że jak kliknę na button, to wartości wpisują się dla tego a i b :)
Mam nadzieję, ze ktoś zrozumie o co mi chodziło ...
Pozdrawiam i liczę na pomoc ...