Avatar
Selak
Člen
Avatar
Selak:

hmmmmmm,tak jsem asi měsíc neprogramoval a už nědokážu dělat skoro nic,třeba toto vše je podtrhané červeně :

static void Main(string[] args)
     {
         User Pepa = new User("Pepa",15);

         Pepa.Login(Pepa);


         Console.ReadKey();
     }
class User
  {
      public string name;

      public int age;

      public User(string name,int age)
      {
          this.name = name;
          this.age = age;
      }
      public bool void(User baseUser)
      {
          Console.WriteLine("Vaše heslo musí obsahovat minimálně 6 znaků");
          string password = Console.ReadLine();

          while (password.Length < 4)
          {
              Console.WriteLine("Zkuste si vymyslet jiné heslo");
          }
          if (password.Length >= 6)
          {
              Console.WriteLine("Heslo je správné,můžeme vám vytvořit profil");
          }

      }

Buď to budu muset trénovat a nebo zkončit :(

 
Odpovědět 5.4.2015 22:04
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Selak
Jan Vargovský:
public bool void(User baseUser)

Dva návratové typy, žádný název.

Btw, kdybych se měl podívat na funkionalitu, tak se ti to zacyklí, když zadám heslo s menší velikostí než 3. Celé je to nějaké divné.

 
Nahoru Odpovědět 5.4.2015 22:11
Avatar
Selak
Člen
Avatar
Odpovídá na Jan Vargovský
Selak:

Já vím,měl jsem tam ještě jednu metodu a neměl jsem tam while cyklus,ale jen podmínku,ale když jsem zadal krátký heslo,tak se mi program hned vypínal,celý se to podělalo tím cyklem a něco jak jsem říkal jsem dal pryč + jsem docela naštvanej,že jsem se nedostal k počítači ani k ničemu o programování a tak,takže mi připadá,že můj mozek je zase takový blbější než před měsícem,kdy jsem zkoušel konzolovou hru -_-.

 
Nahoru Odpovědět 5.4.2015 22:13
Avatar
Petr.Matras
Člen
Avatar
Odpovídá na Selak
Petr.Matras:

Jsem taky začátečník, navíc mám linux a programoval jsem především v Javě, tak nemůžu ozkoušet kód, ale voláš metodu Login, takže musíš vytvořít metodu Login(nemá návratovou hodnotu, takže je to typ void):

public void Login(User baseUser)
       {
           Console.WriteLine("Vaše heslo musí obsahovat minimálně 6 znaků");
           string password = Console.ReadLine();

           while (password.Length < 4)
           {
               Console.WriteLine("Zkuste si vymyslet jiné heslo");
               //zde přidej znovu vstup z klávesnice, jinak, jak zmiňoval Jan,
               //se ti to zacyklí
               password = Console.ReadLine();
           }
            // to if už je tam v podstatě zbytečné
           if (password.Length >= 6)
           {
               Console.WriteLine("Heslo je správné,můžeme vám vytvořit profil");
           }

       }

Nehledě na to, že proměnná password má rozsah pouze v metodě Login, pokud ji chceš mít jako vlastnost objektu, měl bys ji deklarovat už s vlastnostmi name a age. A asi by ta vlastnost password neměla být public, ale private a nastavení a uložení hesla by mělo být přes metodu - ale nevím, na co ten program máš..
Jak jsem říkal, jsem začátečník, tak to možná popisuju trošku kostrbatě..

Editováno 5.4.2015 22:38
Nahoru Odpovědět  +3 5.4.2015 22:36
Sometimes you just do things. - Scott Jurek
Avatar
vodslon
Člen
Avatar
Odpovídá na Selak
vodslon:

Ahoj, máš to takové zvláštní nemáš tam hlavně nikde vůbec login? Třída User nemá login, že to uplně základní jednoduchý takto.

class Program
   {
       static void Main(string[] args)
       {
           user Pepa = new user("Pepa", "abcd");
           Console.WriteLine("uživatel Pepa vytvořen");
           Console.WriteLine("Zadej Jméno:");
           string InputName = Console.ReadLine();
           Console.WriteLine("Zadej heslo:");
           string Inputpassword = Console.ReadLine();
           if (Pepa.name == InputName && Pepa.password == Inputpassword)
           {
               Console.WriteLine("uživatel přihlášen");
           }

           else
           {
               Console.WriteLine("neznámý uživatel");
           }

           Console.ReadLine();
       }
   }

   public class user
   {
       public string password{get;private set;}
       public string name {get; private set;}

       public user(string Name, string Password)
       {
           name = Name;
           password = Password;
       }



   }
 
Nahoru Odpovědět 7.4.2015 8:24
Avatar
Eldan
Člen
Avatar
Eldan:

Další divná věc je, že login bere usera jako parametr, tímpádem můžeš udělat něco jako Jarda.Login(Pepa), což je kravina. Měl bys mít login bez parametru a používat usera definovaného v tom konkrétním objektu - Pepa.Login(), nebo, pokud chceš brát usera jako parametr, tak mít login statický - Login(Pepa)

Nahoru Odpovědět 7.4.2015 14:57
Unobfuscated executable == free source code
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 6 zpráv z 6.