[Delphi] - dopisanie klasy

0

Witam, mam problem z programem w ktory ma za zadanie obliczac 2 liczby. W kodzie zamieszczam 2 unity, ktore zrobilem, moze ktos sie w tym polapie.. Tylko klasa jest do poprawienia/dopisania (brakuje chyba funkcji oblicz), wiem ze reszta dziala na 100%

klasa:

unit Unit1;



interface
type
    TOperacja=class
    private
    a,b:integer;

    public
    constructor Create(fx,fy:integer);
    function plus :extended;
    function minus : extended;
    function mnoz:extended;
    function dziel:extended;

    end;


implementation
    constructor TOperacja.Create(fx,fy:integer);
    begin
    a:=fx;
    b:=fy;

    end;


   function TOperacja.plus : Extended;
var
  wynik : Extended;
  a,b : integer;
begin
  wynik := a + b;
  plus := wynik;
end;
   function TOperacja.minus : Extended;
var
  wynik : Extended;
  a,b : integer;
begin
  wynik := a - b;
  minus := wynik;
end;

   function TOperacja.mnoz : Extended;
var
  wynik : Extended;
  a,b : integer;
begin
  wynik := a * b;
  mnoz := wynik;
end;

   function TOperacja.dziel : Extended;
var
  wynik : Extended;
  a,b : integer;
begin
  wynik := a div b;
  dziel := wynik;
end;


end.

reszta:

unit Unit8;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,Unit1, StdCtrls, ExtCtrls;

type
  TOperacje = class(TForm)
    Label1: TLabel;
    eLiczba1: TEdit;
    eLiczba2: TEdit;
    Label2: TLabel;
    RadioGroup1: TRadioGroup;
    cOperacjaPlus: TRadioButton;
    cOperacjaMinus: TRadioButton;
    cOperacjaDziel: TRadioButton;
    cOperacjaMnoz: TRadioButton;
    Button1: TButton;
    ListaOperacji: TListBox;
    eWynik: TEdit;
    Label3: TLabel;
    error: TLabel;
    bZapisz: TButton;
    bOtworz: TButton;
    bCzysc: TButton;
    procedure Button1Click(Sender: TObject);
    procedure bZapiszClick(Sender: TObject);
    procedure bOtworzClick(Sender: TObject);
    procedure bCzyscClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Operacje: TOperacje;

implementation

{$R *.dfm}

procedure TOperacje.bCzyscClick(Sender: TObject);
begin
  ListaOperacji.Clear;
end;

procedure TOperacje.bOtworzClick(Sender: TObject);
var plik : TextFile;
    op : string;
begin
AssignFile(plik, 'C:/plik.txt');
Reset(plik);
ListaOperacji.Clear;

while not eof(plik) do

  begin
    readln(plik,op);
    ListaOperacji.Items.Add(op);
 end;
CloseFile(plik);

end;

procedure TOperacje.Button1Click(Sender: TObject);
var
  oper : TOPeracje;
  dzial : char;
  a,b : integer;
begin
 error.Caption := '';
  if (eLiczba1.Text <> '') and (eLiczba2.Text <>  '')  then
  begin
    if cOperacjaPlus.Checked then
      dzial := '+';
    if cOperacjaMinus.Checked then
      dzial := '-';
    if cOperacjaDziel.Checked then
      dzial := '/';
    if cOperacjaMnoz.Checked then
      dzial := '*';

    a := StrToInt(eLiczba1.Text);
    b := StrToInt(eLiczba2.Text);

    oper := TOperacje.Create(a,b,dzial);

    eWynik.Text := IntToStr(oper.Oblicz);
    ListaOperacji.Items.AddObject(eLiczba1.Text + dzial + eLiczba2.Text + ' = ' + eWynik.Text , oper );
  end

  else
    begin
    error.Caption := ' Podaj obie liczby ' ;
    end;




end;

procedure TOperacje.bZapiszClick(Sender: TObject);
var
  plik : TextFile;
  i: Integer;
begin
AssignFile(plik, 'C:/plik.txt');
Rewrite(plik);

for i := 0 to ListaOperacji.Count - 1 do
  begin
    writeln(plik, ListaOperacji.Items[i]);
  end;
  CloseFile(plik);

end;

end.

a tu zdjecie wygladu:
[url]http://images42.fotosik.pl/210/c5e93b51a4cb3016.jpg[/url]

mam nadzieje ze mi ktos pomoze, program sie nawet nie wlacza

0

mam nadzieje ze mi ktos pomoze

chyba cię rozczaruję ale wątpię :) no może gdybyś zadał pytanie...

0

pytanie? nie chce o nic pytac.. chce zeby program na zdjeciu dzialal :P

wiem ze druga czesc + zdjecie jest dobrze zrobione, ale klasa niestety nie i chodzi mi o to zeby mi ktos ja poprawil bo ja nie potrafie :/

0

A nam chodzi o to, że właśnie cały Twój problem polega na tym że nie chcesz pytać, tylko chcesz żeby ktoś odwalił za Ciebie robotę. Dział praca jest gdzie indziej.

0

Jak dla mnie to w funkcjach powinieneś usunąć "a,b : integer;" ponieważ nie odwołuje się to do zmiennych w klasie w których nadajesz wartości dla tego nie chodzi... nie sprawdzałem tego popatrzyłem po prostu na szybko
sprzedamsanki nie powinieneś tak szybko kolegi przenosić aby gdzie indziej napisał to forum jest po to aby pytać nie którzy chcą aby za nich odrobić jakąś prace ale bez przesady w czymś tak prostym można pomóc...

0

w czymś tak prostym można pomóc...

Z całym szacunkiem ale jak chcesz pomóc takiej osobie? To forum z założenia służy do dzielenia się wiedzą i rozwiązywania problemów bardziej ogólnych z którymi mogą się spotkać inni w przyszłości a nie do zdobywania zaliczeń z jakiegoś przedmiotu. Widać zresztą w tym konkretnym przypadku, że @Braver nie zamierza się dowiedzieć cokolwiek na temat kodu, który wrzucił tylko ktoś ma mu to poprawić i wrzucić gotowy kod który działa. Dlatego w 100% popieram @sprzedamsanki - dział praca jest gdzie indziej.

//edit
chyba mały fail - gdzie sie podział dział "Praca"?

// tam, gdzie zawsze - subforum praca w dziale ot - Ł

1 użytkowników online, w tym zalogowanych: 0, gości: 1