U pascalu moram da napravim da se u labeli pojavi rezultat jednacine A*X+B=0
U button komponenti sam kucao kod, program uspe da se pokrene medjutim nesto ne valja, niti se pokazuje pravi rezultat a i posle klika na button brojevi u oba edit polja se promene...
procedure TForm1.Button1Click(Sender: TObject);
var A,B:Integer;
X:real;
begin
Edit1.Text:=IntToStr(A);
Edit2.Text:=IntToStr(B);
Label3.Caption:=FloatToStr(-B/A);
end;
end.
problem oko zadatka iz Pascala
Zaključano
Zakačeno
1.
ne pises
vec
zatim
uvedi jednu promenljivu u kojoij ce se smestiti rezultat...a posle je konvertuj u Sttring..
ne pises
Code:
Edit1.Text:=IntToStr(A);
Edit2.Text:=IntToStr(B);
Edit1.Text:=IntToStr(A);
Edit2.Text:=IntToStr(B);
vec
Code:
A:=StrToInt(Edit1.Text);
B:=StrToInt(Edit2.Text);
A:=StrToInt(Edit1.Text);
B:=StrToInt(Edit2.Text);
zatim
uvedi jednu promenljivu u kojoij ce se smestiti rezultat...a posle je konvertuj u Sttring..
Potpis
Don't worry be happy
radi, hvala puno :)
izmenjeno 1 put, poslednji put savkic 22.12.2008. u 15:47
Izmene poruke
- savkic22.12.2008. u 15:47zapis iz teksta poruke
iskrsao je jos jedan problem
isti je zadatak u pitanju, mora se resiti jednacina A*X+B=0 medjutim u slucaju kada u nekoj od edit komponenti ne unesemo broj mora da se pojavi poruka da je polje prazno.
takodje vazi i za broj 0, mora da se pojavi poruka ako je unesen broj 0 da on ne sme tu da stoji.
kod izgleda ovako:
problem nastaje ako se ispuni jedan od uslova gde se pojavljuje showmessage, ne znam kako da prekinem dalju operaciju... znam da je potrebno else posle svakog uslova ali ne znam i koja komanda posle nje...
isti je zadatak u pitanju, mora se resiti jednacina A*X+B=0 medjutim u slucaju kada u nekoj od edit komponenti ne unesemo broj mora da se pojavi poruka da je polje prazno.
takodje vazi i za broj 0, mora da se pojavi poruka ako je unesen broj 0 da on ne sme tu da stoji.
kod izgleda ovako:
Code:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
edA: TEdit;
lbX: TLabel;
edB: TEdit;
lbNula: TLabel;
lbRez: TLabel;
btIzracunaj: TButton;
lbA: TLabel;
lbB: TLabel;
procedure btIzracunajClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btIzracunajClick(Sender: TObject);
var A,B:Integer;
begin
If edA.Text='' then
ShowMessage('Nije unet prvi broj');
If edA.Text='0' then
ShowMessage('Prvi broj ne sme biti nula');
If edB.Text='' then
ShowMessage('Nije unet drugi broj');
If edB.Text='0' then
ShowMessage('Drugi broj ne sme biti nula');
A:=StrToInt(edA.Text);
B:=StrToInt(edB.Text);
lbRez.Caption:=FloatToStr(-B/A);
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
edA: TEdit;
lbX: TLabel;
edB: TEdit;
lbNula: TLabel;
lbRez: TLabel;
btIzracunaj: TButton;
lbA: TLabel;
lbB: TLabel;
procedure btIzracunajClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btIzracunajClick(Sender: TObject);
var A,B:Integer;
begin
If edA.Text='' then
ShowMessage('Nije unet prvi broj');
If edA.Text='0' then
ShowMessage('Prvi broj ne sme biti nula');
If edB.Text='' then
ShowMessage('Nije unet drugi broj');
If edB.Text='0' then
ShowMessage('Drugi broj ne sme biti nula');
A:=StrToInt(edA.Text);
B:=StrToInt(edB.Text);
lbRez.Caption:=FloatToStr(-B/A);
end;
end.
problem nastaje ako se ispuni jedan od uslova gde se pojavljuje showmessage, ne znam kako da prekinem dalju operaciju... znam da je potrebno else posle svakog uslova ali ne znam i koja komanda posle nje...
probaj ovako
Code:
procedure TForm1.btIzracunajClick(Sender: TObject);
var
A,B:Integer;
begin
If edA.Text='' then
ShowMessage('Nije unet prvi broj')
else If edA.Text='0' then
ShowMessage('Prvi broj ne sme biti nula')
else
A:=StrToInt(edA.Text);
If edB.Text='' then
ShowMessage('Nije unet drugi broj')
else If edB.Text='0' then
ShowMessage('Drugi broj ne sme biti nula')
else
B:=StrToInt(edB.Text);
lbRez.Caption:=FloatToStr(-B/A);
end;
procedure TForm1.btIzracunajClick(Sender: TObject);
var
A,B:Integer;
begin
If edA.Text='' then
ShowMessage('Nije unet prvi broj')
else If edA.Text='0' then
ShowMessage('Prvi broj ne sme biti nula')
else
A:=StrToInt(edA.Text);
If edB.Text='' then
ShowMessage('Nije unet drugi broj')
else If edB.Text='0' then
ShowMessage('Drugi broj ne sme biti nula')
else
B:=StrToInt(edB.Text);
lbRez.Caption:=FloatToStr(-B/A);
end;
Potpis
Don't worry be happy
a gde treba staviti da se posle greske rezultat u labeli izbrise posto se pojavljuju neki neorganizovani brojevi i slova?
kod bi bio
begin
lbRez.Caption:='';
end;
samo ne znam gde da ga udenem posto sam ocigledno isprobao sve kombinacije sem one prave, uvek pojavljuje gresku zbog else...
kod bi bio
begin
lbRez.Caption:='';
end;
samo ne znam gde da ga udenem posto sam ocigledno isprobao sve kombinacije sem one prave, uvek pojavljuje gresku zbog else...
>>uvek pojavljuje gresku zbog else...
Koju gresku pokazuje?
Neesto nisi uneo dobro,nisam izmislio delphi,ali ovaj kod mora da sljaka!
>>a gde treba staviti da se posle greske rezultat u labeli izbrise posto se pojavljuju neki neorganizovani brojevi i slova?
Pitanjem si dao sam odgovor...razmisli logicki
Kojom granom kod krene kad dodje do greske....?tu stavi kod
Koju gresku pokazuje?
Neesto nisi uneo dobro,nisam izmislio delphi,ali ovaj kod mora da sljaka!
>>a gde treba staviti da se posle greske rezultat u labeli izbrise posto se pojavljuju neki neorganizovani brojevi i slova?
Pitanjem si dao sam odgovor...razmisli logicki
Kojom granom kod krene kad dodje do greske....?tu stavi kod
Potpis
Don't worry be happy
Ne poznajem Delphi, ali da nije nesto ovako:
Code:
procedure TForm1.btIzracunajClick(Sender: TObject);
var A,B:Integer;
begin
If edA.Text='' then
begin
ShowMessage('Nije unet prvi broj');
lbRez.Caption:='';
exit;
end;
If edA.Text='0' then
begin
ShowMessage('Prvi broj ne sme biti nula');
lbRez.Caption:='';
exit;
end;
If edB.Text='' then
begin
ShowMessage('Nije unet drugi broj');
lbRez.Caption:='';
exit;
end;
If edB.Text='0' then
begin
ShowMessage('Drugi broj ne sme biti nula');
lbRez.Caption:='';
exit;
end;
A:=StrToInt(edA.Text);
B:=StrToInt(edB.Text);
lbRez.Caption:=FloatToStr(-B/A);
end;
procedure TForm1.btIzracunajClick(Sender: TObject);
var A,B:Integer;
begin
If edA.Text='' then
begin
ShowMessage('Nije unet prvi broj');
lbRez.Caption:='';
exit;
end;
If edA.Text='0' then
begin
ShowMessage('Prvi broj ne sme biti nula');
lbRez.Caption:='';
exit;
end;
If edB.Text='' then
begin
ShowMessage('Nije unet drugi broj');
lbRez.Caption:='';
exit;
end;
If edB.Text='0' then
begin
ShowMessage('Drugi broj ne sme biti nula');
lbRez.Caption:='';
exit;
end;
A:=StrToInt(edA.Text);
B:=StrToInt(edB.Text);
lbRez.Caption:=FloatToStr(-B/A);
end;
nisam znao ovu exit; komandu,to je bio problem a kod sam stavio na pravo mesto,sve vreme sam umesto exit kucao end...
hvala!
hvala!
Samo mala napomena:
i prvi i drugi smeju da budu nule!
Ako je prvi nula sistem nema resenje.
Ako je drugi nula sistem ima resenje 0.
Ako su oba nule onda sistem ima beskonacno mnogo resenja.
Tu sam se ja zeznuo samo tako...
Pusti matematicari i njihova pravila... :D
i prvi i drugi smeju da budu nule!
Ako je prvi nula sistem nema resenje.
Ako je drugi nula sistem ima resenje 0.
Ako su oba nule onda sistem ima beskonacno mnogo resenja.
Tu sam se ja zeznuo samo tako...
Pusti matematicari i njihova pravila... :D