Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
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í.
Avatar
nosekt
Člen
Avatar
nosekt:9.5.2014 8:06

Zdravim,
učím se c# a zkouším si nový program, který by měl simulovat bankomat. Udělal jsem si metodu Login() třídy SpravaUctu. Chtěl bych aby metoda obsahovala podmínku, která by porovnala vstup zadaný uživatelem s hodnotou atributu password. Chtěl bych se tedy zeptat, jestli je možné nechat uživatele zadat vstup v Mainu ale podmínku pro ověření řešit v metodě Login() a jak byste to konkrétně řešili.
Děkujuï

 
Odpovědět
9.5.2014 8:06
Avatar
Gramli
Tvůrce
Avatar
Gramli:9.5.2014 8:24

Jakmile uživatel zadá vstup v mainu zavoláš Metodu Login() a do parametrů ji dáš to co potřebuješ. tzn:

//metoda login
Login(string jmeno, string passw)
{
//telo metody
}
Editováno 9.5.2014 8:26
Nahoru Odpovědět
9.5.2014 8:24
Kdo to říká ten to je...
Avatar
Odpovídá na Gramli
Vojtěch Pospíchal:9.5.2014 8:57

Ještě doplním. Metoda bude BOOLeanovského typu. Tj: Zavoláš metodu rovnou na porovnání podmínky (TRUE/FALSE).

if (Login()) {//kód pokud je podmínka splněna} else {//Kód pokud je nesplněna}

Usnadníš si tím spoustu práce. Samozřejmě metoda samotná bude mít návrat pomoci

bool Login(string user, string pass) {if (user = "něco" && pass "něco" {return true;} else {return false;})}

return.

 
Nahoru Odpovědět
9.5.2014 8:57
Avatar
nosekt
Člen
Avatar
nosekt:9.5.2014 9:25

Zatím jsem to řešil takhle:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bankomat
{
    class SpravaUctu
    {
        private string account_owner;
        private int password;
        private int account_number;

        public SpravaUctu(string account_owner, int password, int account_number)
        {
            this.account_number = account_number;
            this.password = password;
            this.account_owner = account_owner;
        }


        public string Verificate(int pass)
        {

            if (pass == password)
                return "The password verification was successful. You can manage your account now.";

            else
                return "The password you inserted is incorrect. Try it again.";
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bankomat
{
    class Program
    {
        static void Main(string[] args)
        {
            SpravaUctu ucet = new SpravaUctu("Tomas Nosek", 1234, 7457547);

            Console.WriteLine("Welcome to the GE AMT. Please insert your password: ");
            int password = int.Parse(Console.ReadLine());

            ucet.Verificate(password);

            Console.ReadKey();
        }
    }
}

Podmínka mi však nefunguje..

 
Nahoru Odpovědět
9.5.2014 9:25
Avatar
Odpovídá na nosekt
Vojtěch Pospíchal:9.5.2014 9:28

Funguje, jen ji nijak nevypisuješ. Místo

ucet.Verificate(password);

zadej jen

Console.WriteLine(ucet.Verificate(password));

EDIT:// Return ti sám o sobě nic vypsat nemůže. To si vždy musíš vyřešit v kódu sám.

Editováno 9.5.2014 9:30
 
Nahoru Odpovědět
9.5.2014 9:28
Avatar
nosekt
Člen
Avatar
nosekt:9.5.2014 9:30

Nojo, děkuju :)

 
Nahoru Odpovědět
9.5.2014 9:30
Avatar
Odpovídá na nosekt
Vojtěch Pospíchal:9.5.2014 9:37

Nemáš zač :)

 
Nahoru Odpovědět
9.5.2014 9:37
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 7 zpráv z 7.