C# jednoduchý program alá bankomat

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
Blackie
nováček
Příspěvky: 15
Registrován: leden 13
Bydliště: Brno
Pohlaví: Žena
Stav:
Offline

Re: C# jednoduchý program alá bankomat

Příspěvekod Blackie » 05 led 2013 17:23

Ach tak... chápu, mě to po vyplnění hlásilo, že je to špatně, tak jsem to nechala být s tím, že to tak má být :)

Omlouvám se, tohle byla moje chyba...

--- Doplnění předchozího příspěvku (05 Led 2013 17:28) ---

A ještě koukám že to musím rozdělit :D
Je lepší se zeptat a být pět minut hlupákem, než se nezeptat vůbec a být jím od konce života.
Winter is coming! :evil:

Reklama
Uživatelský avatar
domitea
Tvůrce článků
Level 4.5
Level 4.5
Příspěvky: 1971
Registrován: červen 09
Bydliště: Královehradecký kraj
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: C# jednoduchý program alá bankomat

Příspěvekod domitea » 05 led 2013 17:48

V příloze je můj návrh:

1. krok - Přihlášení
Políčka na účet a PIN spolu s tlačítkem na verifikaci by byla aktivní, zbytek ne (to se zařídit přes vlastnost enabled), pokud uživatel zadá špatné údaje, vyskočí na něj Message box se zprávou, že je něco špatně

2. krok - Vybrání částky
Předešlé prvky se deaktivují a naopak neaktivní se aktivují (zase přes vlastnost enabled). V políčku jméno a zustatek se zobrazí kdo je a kolik má na kontě. Pokud uživateli nebudou stačit tlačítka na hotovost, tak ji napíše. Automaticky se mu bude zobrazovat kolik mu na účtě zbude (událost TextChanged). Až bude uživatel spokojen, požadovaná částka se odečte a program přejde do stavu před přihlášením.

To je si tak všechno :lol:
Přílohy
Screenshot.png

Uživatelský avatar
Blackie
nováček
Příspěvky: 15
Registrován: leden 13
Bydliště: Brno
Pohlaví: Žena
Stav:
Offline

Re: C# jednoduchý program alá bankomat

Příspěvekod Blackie » 05 led 2013 17:54

Tak jo... já to vzdávám.
Jestli už to takhle máš hotové, mohl by jsi mi prosím poslat kód? Akorát tě zbytečně zdržuju a otravuju a tohle všechno usnadní. JInak to nedodělám nikdy.
Je lepší se zeptat a být pět minut hlupákem, než se nezeptat vůbec a být jím od konce života.
Winter is coming! :evil:

Uživatelský avatar
domitea
Tvůrce článků
Level 4.5
Level 4.5
Příspěvky: 1971
Registrován: červen 09
Bydliště: Královehradecký kraj
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: C# jednoduchý program alá bankomat

Příspěvekod domitea » 05 led 2013 17:57

Jako kód to nemám :lol: a nevzdávej, to dáme !

Jinak k rozhraní, můžeš si ho udělat jak chceš, tohle spíš bylo, aby tam dostatečný počet tlačítek a tak ;)

Uživatelský avatar
Blackie
nováček
Příspěvky: 15
Registrován: leden 13
Bydliště: Brno
Pohlaví: Žena
Stav:
Offline

Re: C# jednoduchý program alá bankomat

Příspěvekod Blackie » 05 led 2013 18:05

:D
tak dobře, nevzdávám :)

A k Visualu, z nějakého důvodu i když vyplním to "name" se to v kódu neprojeví všude, jenom třeba u dvou :/
Zkusím to předělat a ukradnu si ten černošedivý styl :D Líbí se mi.
Je lepší se zeptat a být pět minut hlupákem, než se nezeptat vůbec a být jím od konce života.
Winter is coming! :evil:

Uživatelský avatar
domitea
Tvůrce článků
Level 4.5
Level 4.5
Příspěvky: 1971
Registrován: červen 09
Bydliště: Královehradecký kraj
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: C# jednoduchý program alá bankomat

Příspěvekod domitea » 05 led 2013 18:13

Když se přepíše name, což je není ten text na tlačítku, to je myslím Text nebo Caption, tak se pak musí odvolávat na ten nový název :wink:

Ten černošedý styl se ti asi nepovede podle představ, spíš vůbec, protože to není na Windows.

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: C# jednoduchý program alá bankomat

Příspěvekod faraon » 05 led 2013 22:22

No teda, člověk vás tu nechá chvilku bez dozoru, a vy se takhle rozšoupnete :lol:
Ten skoro druhý konec republiky je jižní Morava a já přebývám poblíž domitey. Ale měl bych pár návrhů k tomu programu, i když už jste se dostali hodně daleko.

Koukám že zadáváte všechny údaje najednou, já jsem to myslel trochu jinak. Metoda zadat() by vyhodila malé okno, a v něm by byl text hlášení a jedno okénko pro zadání čísla. Takže by se volala třeba takhle:

Kód: Vybrat vše

zadat("Napište číslo vaší karty:", &cislo);
zadat("Vložte váš PIN:", &pin);
...
zadat("Kolik peněz chcete vybrat:", &castka);

Prostě jí použít pro každý údaj zvlášť, myslím že takhle by ten formulář pro ní vyšel mnohem jednodušší. Stačilo by naťukat číslo a odeslat buď myší klikem na tlačítko, nebo klávesou Enter.

Druhá možnost je získaný údaj odeslat jako návratovou hodnotu funkce:

Kód: Vybrat vše

cislo = zadat("Napište číslo vaší karty:");
pin = zadat("Vložte váš PIN:");
...
castka = zadat("Kolik peněz chcete vybrat:");

Dáš té metodě text který má vypsat, a na oplátku dostaneš číslo které vložil uživatel. Akorát bacha na záporná čísla, to bych ošetřil přímo v té metodě, protože v žádném případě nesmí být možné záporné číslo zadat, a hlavně ne u částky která se má "vybrat"! Tohle kdysi fungovalo v některých špatně navržených eshopech, takže pár zvídavých lidí si objednalo zboží a ještě dostali peníze na účet :shock:
Aby to nebylo možné, metoda se bude opakovat dokud zákazník nevloží číslo větší nebo rovno nule. Cykly znáš, takže while() by bylo ideální. Musíš počítat i s tím že k tomu přijde nějaký blb a zadá úplný nesmysl, který by normálního člověka vůbec nenapadl, a všechny možnosti kde se lze dostat mimo přípustnou hodnotu vždy ošetřit nějakou kontrolou.

Podobně jako se zadat() bych to provedl s metodou zobrazit(), ale tam nastává víc kombinací, protože se může zobrazovat buď samotný text, nebo text a číslo. Ale to není nic neřešitelného, může se přidat další metoda jen pro samotný text, třeba nadpis().

Pro tu databázi bych měl konkrétní návrh:

Kód: Vybrat vše

string jmena[] = {"Viktor Kožený", "Radovan Krejčíř", "Václav Klaus"};
int cisla_karet[] = {19630628, 19681104, 19410619};
int piny[] = {1234, 4321, 0000};
double castky[] = {1234567890, 9876543210, 0};

Jen mi není jasné kde se to jméno mělo použít, leda ho zobrazit současně se zůstatkem.

Ještě zbývá zmínit jeden detail, a to jestli ty peníze budou float nebo integer, protože kdyby se tam měly řešit i haléře, tak by to celý program trochu zkomplikovalo. Buď bych tedy pracoval jen s korunami, a nebo naopak všechna čísla bral jako haléře, a na koruny je převáděl jen při zobrazení, něco jako čísla s pevnou desetinnou čárkou.

Ve skutečnosti se totiž bankovní operace počítají a provádějí zásadně v desítkové soustavě a nikdy ve dvojkové, protože v ní by docházelo k odlišným odchylkám při zaokrouhlování, což je v účetnictví nepřípustné. Také proto se takovéhle věci programují ve víc než padesát let starém jazyku COBOL, který počítá desítkově. A na mnohatunových sálových mainframech bank stále běží desítky let staré programy, odladěné a ověřené miliony testů. V moderních jazycích se řeší pouze rozhraní k nim, podobně jako ty mnou navrhované třídy...

domitea: Co to jako má být? Maloměkké čtvrtcéčko na Linuxu? "Kazí! Pááníšek to kazí! Kazí rybišku!" Ale jsem rád že jsi aspoň kvůli tomu nevypínal tučňáka ;-)

Aktualizováno - dal jsem si to dneska ke snídani:

Blackie.png
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti