Ĺadny brzuch
Piszę program do obliczania średniej. Było by 15 okienek TEdit, do których by się wpisywało cyferki.
Mam problem. Otóż jeżeli ktoś nie chodzi np. na Religię albo niemiecki czy francuski to co by wpisywał? - Wymyśliłem, że nic Ale jest pewien algorytm do obliczania średniej:
np. Label1.Caption:='Średnia='+FloatToStrF((Form1.e1+Form1.e2+Form1.e3+tak aż do piętnastu)/15.ffFixed.8.2)
Wymyśliłem, że jeżeli w okienku TEdit nie było nic wpisanie to on by nie zaliczał - nie brał tego okna pod uwagę i dzielił przez np. 14 i nie było by Form.e1 do piętnastu tylko np. analogicznie do 14.
Ale jak to zrobić???
Zrób sobie nową zmienną do przechowywania ile jest wpisanych przedmiotów i sumy tych cyferek, a potem sprawdzaj czy jest coś wpisane:
var ilejest:integer; suma:float; begin ile:=0; suma:=0; if (przedmiot1.text<>'') then begin ilejest:=ilejest+1; suma:=suma+StrToFloat(przedmiot1.text); end; // itd. ,albo w pętli end;
Na koniec podziel prez suma/ilejest i masz wynik.
Uwaga! Weź pod uwagę sytuację, gdy użytkowanik nie wpisze żadnej cyfry, wtedy jest dzielenie przez zero!
Użytkownik krajew4 edytował ten post 08 listopad 2005, 09:08
Błąd:
Undeclared identiffier 'float'
Sorry! zamiast float double, albo chyba single. Poprostu przyzwyczajenie z c++. Właśnie jestem w trakcie w przerzucania się z Delphi na C++.
znow klaniaja sie podstawy ... <_<
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Mam problem. Otóż jeżeli ktoś nie chodzi np. na Religię albo niemiecki czy francuski to co by wpisywał? - Wymyśliłem, że nic Ale jest pewien algorytm do obliczania średniej:
np. Label1.Caption:='Średnia='+FloatToStrF((Form1.e1+Form1.e2+Form1.e3+tak aż do piętnastu)/15.ffFixed.8.2)
Wymyśliłem, że jeżeli w okienku TEdit nie było nic wpisanie to on by nie zaliczał - nie brał tego okna pod uwagę i dzielił przez np. 14 i nie było by Form.e1 do piętnastu tylko np. analogicznie do 14.
Ale jak to zrobić???
Zrób sobie nową zmienną do przechowywania ile jest wpisanych przedmiotów i sumy tych cyferek, a potem sprawdzaj czy jest coś wpisane:
var ilejest:integer; suma:float; begin ile:=0; suma:=0; if (przedmiot1.text<>'') then begin ilejest:=ilejest+1; suma:=suma+StrToFloat(przedmiot1.text); end; // itd. ,albo w pętli end;
Na koniec podziel prez suma/ilejest i masz wynik.
Uwaga! Weź pod uwagę sytuację, gdy użytkowanik nie wpisze żadnej cyfry, wtedy jest dzielenie przez zero!
Użytkownik krajew4 edytował ten post 08 listopad 2005, 09:08
Błąd:
Undeclared identiffier 'float'
Sorry! zamiast float double, albo chyba single. Poprostu przyzwyczajenie z c++. Właśnie jestem w trakcie w przerzucania się z Delphi na C++.
znow klaniaja sie podstawy ... <_<