NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Parser a řešič matematických výrazů v C#

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
matesax
Tvůrce
Avatar
matesax:3.10.2012 18:52

No na začátečníka je to dobrý výkon, ale jaksi to není ono... Ty nekonečné if else mi jsou asi největším trnem... Podívej se na Regex (regulérní výrazy) - tak jsem to řešil já...

Jo a začni programovat objektově - nemělo by to býti všehno splácané v jedné třídě a v jednom souboru... (Tedy rozděl to do tříd podle účelu daného kusu kódu.)

Místo class Hrana by tam mělo být struct Hrana.

Editováno 3.10.2012 18:55
 
Odpovědět
3.10.2012 18:52
Avatar
Michael Olšavský:4.11.2012 18:20

Kód je velmi nepřehledný a místo neustálého if-else by šlo alespoň využít switch. Jak psal matesax, začni programovat objektově a piš komentáře.

 
Odpovědět
4.11.2012 18:20
Avatar
karel.cervicek4:29.11.2012 19:26

Chtěl jsem se zeptat, jeslti by jsi k tomu nemohl napsat popisky? Zajimá mě, jak jsi to psal a nekterym postupum tam nerozumím. Diky a pokud to nepujde tak to zkusim rozebrat a co nepochopim, tak se tady zeptam.
Dělam webove jazyky php a js. , ale project k maturitě musím mít v C# a chci to udelat na kv. funkce, dost mi pomuze princip jakym jsi to rozebiral a jak jsi vyřešil ten zasobnik.
Dik moc.

 
Odpovědět
29.11.2012 19:26
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na karel.cervicek4
David Hartinger:29.11.2012 19:29

Kvadratická funkce má jasný předpis, pokud to nemáš zadané, nemusíš dělat takto složitý parser a můžeš si nechat zadat koeficienty a, b, c.

Odpovědět
29.11.2012 19:29
New kid back on the block with a R.I.P
Avatar
karel.cervicek4:29.11.2012 19:38

void Shunting() ...pro mně zcela nová věc, ten algoritmus vidim po prví.
Mam za sebou zaklady i OOP rozumim,ale říkám si jestli jsem si nedal velké sousto.Na druhou stranu bych chtel pokročit dál. Diky za odpověď...doufám, že neotravuju.

 
Odpovědět
29.11.2012 19:38
Avatar
karel.cervicek4:29.11.2012 19:40

Vim ,ale rad bych to pochopil a taky bych ji chtěl zkusit rozebrat celou v tom programu ..na vykreslení grafu

 
Odpovědět
29.11.2012 19:40
Avatar
Administrator:20.7.2013 14:08

Pro zamyšlení dávám k dobru trochu jiný přístup (v té nejjednodušší podobě):

static void Main( string[] args )
{
        string code = "public class TempClass { public double Calculate() { return " + args[0] + "; } }";

        using( var compiler = new CSharpCodeProvider() )
        {
                var res = compiler.CompileAssemblyFromSource( new CompilerParameters()
                {
                        GenerateInMemory = true
                }, code );

                var type = res.CompiledAssembly.GetType( "TempClass" );

                var obj = Activator.CreateInstance( type );

                var output = type.GetMethod( "Calculate" ).Invoke( obj, new object[] { } );

                Console.WriteLine( output );
        }
}
 
Odpovědět
20.7.2013 14:08
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Administrator
Kit:20.7.2013 14:20

Lidi, mějte rozum, nepište tak dlouhé řádky u programů. Kdo to má furt rolovat?

Odpovědět
20.7.2013 14:20
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.