Hogy lehetséges ezt a programozási feladatot megoldani?
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.
Öcsém, ekkora hülyét...
Pont ez a lényeg, te nagyon sötét, hogy te szenvedj vele, hogy tanulj belőle.
Tudod úgy senkiből nem lett még programozó, hogy mindig más csinálta meg a feladatait...
Mondjuk belőled se így, se úgy nem lesz...
Egyetértek io-val és G-vel. Programozni úgy tanulsz meg, ha TE programozol. Ha TE jössz rá a megoldásra. Épp ezért kaptad a házifeladatot a tanárodtól. Hogy megoldd.
Persze, van olyan, hogy kell egy kis lökés, egy tipp, merre indulj el. Ezt meg is kaptad. De ezen akkor el is kéne indulni, nem várni a sültcsirkét, hogy berepüljön, mert így nem tanulsz SEMMIT.
Egyébként meg nem bacol ki senkivel, ha nem írod ide a megoldást, mert Google egyből kidobja az elméletet, példakóddal együtt, annak, aki tud keresni:
Javaslom, csak az első oldalát olvasd el és próbáld meg TE megírni a programot!
Te komolyan azon vagy felháborodva, hogy meg kell dolgozni valamiért??? :D :D :D
Öcsém, te aztán egy szaros minimálbéres gyári melósnál biztos nem fogod többre vinni az életben...
"de a megoldást senki sem fogja megtudni, ahogy eddig sem tudta meg senki publikusan"
Most linkeltem egy publikus megoldást te szerencsétlen. :D
Vannak emberek, akiken nem lehet segíteni.
Egyszer majd rájössz, hogy a te érdeked lett volna leülni a seggedre gondolkozni és programozni, felháborodás helyett.
"Na erre ment ki a játék hülyegyerekek. Nem akarja itt senki sem megoldani a feladatot"
valóban nem, minek akarnám?:D leírtam, hogy hogy csináld
ha nem megy, vissza az alapokhoz
amúgy meg képzelheted, ha leírtam, hogyan kell csinálni, akkor nem nagyon van szükségem semmiféle megoldásra, meg a többieknek sem
egyedül neked
Na jó, ezek után már nekem sincs kedvem segíteni. Majd megírod te magadnak, úgyis olyan okos vagy. Velem sem szúrsz ki, én meg tudom írni. Amúgy én is egyetértek a többiekkel, jobban megértenéd, ha te írnád meg. De voltam olyan jóhiszemű, hogy feltételeztem, hogy legalább utánanézel azoknak a dolgoknak, amiket írtam, és utána esetleg legalább megérted a kódot...
Amúgy a Wikipedián is fent van link legalább 3 implementációra. A Google meg egy pillanat alatt talál Delphi implementációt is.
Az meg komolyan szánalmas, ahogy mindenkit leszólsz. iostream-nek például a kisujjába több programozási szakértelem szorult, mint beléd...
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!