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
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 12:29

Samozřejmě že se to dá zkombinovat, ono se dá vše zkombinovat, jen se na to musí jít hlavou (na rozdíl u Win8).

Třeba celý ten můj postup se může dát do jedné třídy uzivatel a pak jen z hlavní metody volat příkazy a kontruktory...

P.S. Zajímavé téma vyvolá debatu ;)

Reklama
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 13:06

Jedna třída komunikuje s uživatelem, jedna třída komunikuje s databází, jedna třída ovládá kasičku v bankomatu.
To není komplexní, to je bezpečné a přehledné. Navíc každá z těch částí vyjde velmi krátká a jednoduchá, a slyšel jsem o učiteli, který za zdrojový soubor delší než pětatřicet řádků automaticky vyhazoval, aniž by se do něj podíval! Ten by tomu tvému učiteli nejspíš komplexně zpřerážel žebra, za jeho přístup :evil:

Blackie: Ten můj první příspěvek bylo jen takové odpíchnutí, pak jsme se na tebe sesypali všichni :lol:
A i ten postup jsem si musel trochu promyslet, než jsem ho pustil do světa. Teď už vlastně zbývá jen konkrétně dořešit tu databázi, hlavně jak v ní najít příslušnou kartu pokud existuje, protože to bude potřeba pro obě operace, jak porovnání PIN tak odečtení peněz. Všechno ostatní potom bude jen bižuterie kolem, aby to hezky vypadalo a spolehlivě fungovalo.

Takže jestli umíš struct, použil bych ten, jestli ne, tak se to bude řešit přes samostatná pole, sice to nebude tak elegantní, ale protože tady nebudeš provádět nic náročného jako je třeba řazení, tak ta pole budou úplně stačit.
"Král Lávra má dlouhé oslí uši, král je ušatec!

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

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 13:33

Domi, pokud ti přijde low quest s bankomatem jako zajímavé téma :D Ale vy dva vypadáte že ze všeho uděláte fajn diskuzi s předháněním se před tím druhým :D
Faraone, mít já takového učitele, tak celá naše třída vypadla po prvních 14 dnech :D S tou databází to bude těžké...
Tohle je jediné s "databází" co jsme dělali. Pokud se to tedy tak dá nazvat...

Kód: Vybrat vše

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.ForegroundColor = LoadSettings();
            Console.WriteLine("Zadejte barvu konzole");
            Console.WriteLine("Stiskněte 1 pro zelenou");
            Console.WriteLine("Stiskněte 2 pro modrou");
            Console.WriteLine("Stiskněte 3 pro žlutou");
            Console.WriteLine("Stiskněte jiné tlačítko pro bílou");

            int choice = 0;
            try
            {
                choice = Int32.Parse(Console.ReadLine());
            }
            catch
            {
                choice = 0;
            }

           
            switch (choice)
            {
                case 1: SaveSettings(ConsoleColor.Green);
                    break;
                case 2: SaveSettings(ConsoleColor.Blue);
                    break;
                case 3: SaveSettings(ConsoleColor.Yellow);
                    break;
                default: SaveSettings(ConsoleColor.White);
                    break;
            }


            Console.ReadLine();
        }

        static ConsoleColor LoadSettings()
        {
            StreamReader sr = new StreamReader("C:\\Windows\\Temp\\projekt.txt");

            string line = "";
            ConsoleColor cc = ConsoleColor.White;
            while (!sr.EndOfStream)
            {
                line = sr.ReadLine();
                string[] settings = line.Split('=');
                if (settings[0] == "forecolor")
                {
                    switch (settings[1])
                    {
                        case "white": cc = ConsoleColor.White;
                            break;
                        case "green": cc = ConsoleColor.Green;
                            break;
                        case "blue": cc = ConsoleColor.Blue;
                            break;
                        case "yellow": cc = ConsoleColor.Yellow;
                            break;
                    }
                }
            }
            sr.Close();
            sr.Dispose();
            return cc;
        }

        static void SaveSettings(ConsoleColor forecolor)
        {

            StreamWriter sw = new StreamWriter("C:\\Windows\\Temp\\projekt.txt");
            string color = "";
            switch (forecolor)
            {
                case ConsoleColor.White: color="white";
                    break;
                case ConsoleColor.Green: color = "green";
                    break;
                case ConsoleColor.Blue: color = "blue";
                    break;
                case ConsoleColor.Yellow: color = "yellow";
                    break;

            }
            sw.WriteLine("forecolor=" + color);
            sw.Flush();
            sw.Close();
        }
    }
}


Bylo mi řečeno že z toho mám vycházet, ale bohužel když výuka probíhá ve stylu "zkuste tohle", po hodině courání na netu nikdo nic nemá a pak si to učitel v tichosti udělá sám, my to opíšeme a jde se dál... Jako jo, voš je voš, asi se to tak dělá, ale alespoň říct kterou učebnici nebo podklady k tomu by nám dát mohl... Všichni ostatní si to nechali naprogramovat od známých jenom já se snažím takhle alespoň si z toho něco odnést :D
Btw tohle je asi nejsložitější co jsme dělali :D
A co se týče tříd, ty jsme ještě nebrali :)
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
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 13:52

Jestli to nebude tím že nás to programování oba docela dost baví... :P

Tak si jediné s čím bych z toho tvého programu mohl vycházet by bylo to class Program, ale když se s těmi třídami ještě nekamarádíš, tak to udělej všechno do jedné, prostě class Bankomat ve které budou obsažené všechny potřebné metody.

No a u těch polí je ještě potřeba vymyslet jak se do nich dostanou nějaká počáteční data, jestli se budou deklarovat v programu natvrdo nebo načítat z nějakého souboru a při ukončení programu ukládat... Ale jestli to poběží v nekonečné smyčce, tak bych se na soubor vykašlal, stejně se z toho bude jen "vybírat", takže nevadí když tam při příštím spuštění programu budou zase stejně plná konta. Obyčejná pole už jste se učili používat?

P.S. Mrkni sem: http://www.cs.vsb.cz/behalek/vyuka/pcsh ... 04s05.html
nebo sem na stránku 22: http://www.cs.vsb.cz/behalek/vyuka/pcsharp/text.pdf
Naposledy upravil(a) faraon dne 05 led 2013 14:05, celkem upraveno 1 x.
"Král Lávra má dlouhé oslí uši, král je ušatec!

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

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: C# jednoduchý program alá bankomat

Příspěvekod CZechBoY » 05 led 2013 13:57

Sender: však já vim, ale ty tu doporučuješ pouze OnKeyUp
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

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 14:00

Zápis do souboru jo? Tak v tom případě můžeme použít CSV. Tak budeš mít data uložená jinde, než v programu a můžeš je i upravit v notepadu.

Něco je tady za použití LINQ, jestli to učitel zná :lol:

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: C# jednoduchý program alá bankomat

Příspěvekod CZechBoY » 05 led 2013 14:04

však to ulož do nějakýho formátu s kterým umí C# pracovat, ať se nemusíš patlat s nějakým parsováním furt
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

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 14:15

Však s čistým textem umí C# pracovat, a je to jediný formát že kterého se dají stoprocentně zachránit všechna data při havárii, o stoprocentní přenositelnosti nemluvě 8)

Ale se souborem bych se nezatěžoval, ani ukončení programu a ukládání dat není v zadání, takže bych to prostě udělal natvrdo v deklaraci pole, stejně tam bude jen pár "uživatelů", takže není problém je vypsat v hlavičce ručně.
"Král Lávra má dlouhé oslí uši, král je ušatec!

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

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 14:18

To se máte :) já na počítačích skončila jenom náhodou a hrozně mě chytla webařina :) možná by mi šlo i tohle, mít něco, od čeho by se dalo odrazit.
Myslím že není třeba to ukládání ani ten externí soubor :) Pole, třídy ne, jenom hraní s cykly a pár blbůstek jako menu a tenhle externí soubor. Ale to moc nevadí, hlavn ěže to půjde :D
Domi: učitel to nejspíš zná, on má v tomto oboru vlastní firmu :) je mladý a strašně chytrý, jenom neumí učit.

Btw nevadí tam ta konzole?
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 14:23

Taky se přimlouvám v tomto low-questu za přímou deklaraci pole :wink: ,ale aby to nebylo tak "přímo jednoduché" navrhuji to udělat přes nějakou metodu, aby to vypadalo "programmer-friendly" (*).

* V rámci "kódovacích opiček", "lepič kódu" - bez urážky, označení pro programátory, kteří využívají již vytvořené metody a ani na chvíli nezapojí vlastní invenci a všechno chtějí mít hezky přístupné, aby náhodou nezačali přemýšlet na bezpečnostníma dírama, co tam naťukali. (poprvé ten výraz použil faraon, na mě :lol: )

EDIT: Jak to chceš mít? Hezky okýnkové (winForms) ? Metro (nějakej bazmek) ? Nebo konzoli (příkazový řádek) ? To záleží na tobě, jak hezké, či spartánské to chceš mít ;) My konzoli používáme jen proto, že nejlehčí způsob interakce s uživatelem ;)

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 14:34

Proč si připadám že namísto abych vám pomáhala, tak po každém návrhu to ještě zkomplikuji? :D ale to už je účel blondýn...
ty "urážky"... XD XD
Nope, metoda bude super, občas to na hodinách slýchám, tak to bude určo správná cesta.

A když tam budou hezká okýnka, já se zlobit nebudu ;)
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
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 14:35

Zase se tak nepodceňuj, znám jednu velmi inteligentní blondýnu, jen jednu, a bydlí skoro na druhém konci republiky... :lol:
"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 3 hosti