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 – Lekce 2 - První objektová aplikace v C# - Hello object world

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
Kafac
Člen
Avatar
Kafac:25.1.2015 10:17
{

            string[] Lidi = { "Karel", "Petr", };
            string r = "Richard";

            foreach (string l in Lidi)
            {
                Console.WriteLine("Ahoj,uživateli  {0}",l);
            }
            Console.WriteLine("Vítám tě tu programátore {0}",r);

            Console.ReadKey();
        }

nebo

{
        string pozdrav = "Ahoj uživateli";
        string k = "Karel";
        string p = "Petr";
        string text = "Vítám tě tu programátore";
        string r = "Richard";

        Console.WriteLine("{0} {1}", pozdrav, k);
        Console.WriteLine("{0} {1}",pozdrav,p);
        Console.WriteLine("{0} {1}",text,r);

        Console.ReadKey();

    }

Takhle by to vypadalo bez použití OOP sice to není ještě tak dlouhý,ale už jde vidět,že s tím OOP je to přehlednějí + až se budeš učit třeba dědičnost a tak budeš rád,že toto umíš a usnadní ti to hodně programování.

Editováno 25.1.2015 10:18
Odpovědět
25.1.2015 10:17
"Lepší, než předpovídat budoucnost, je vytvořit ji." Bill Gates
Avatar
Kafac
Člen
Avatar
Odpovídá na Kafac
Kafac:25.1.2015 10:18

Bez tříd :D třída tam je,ale vypadalo by to tak bez použití OOP

Odpovědět
25.1.2015 10:18
"Lepší, než předpovídat budoucnost, je vytvořit ji." Bill Gates
Avatar
kuba.2001
Člen
Avatar
kuba.2001:27.1.2015 22:24

Ahoj,chtěl jsem se zeptat jesli to tak jde:
using System;
using System.Collec­tions.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Class1
{

public void Novak(string jmeno,int vek,string kamarad)
{
Console.Write­Line("Ahoj, já jsem {0}, je mi {1} let a muj kamarád je {2} ", jmeno, vek, kamarad);
}
}
}

sing System;
using System.Collec­tions.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Class1 class1 = new Class1();
class1.Novak("Karel Novák",33,"Josef Nový");
class1.Novak("Josef Nový", 27, "Karel Novák");
Console.ReadKey();
}
}
}

 
Odpovědět
27.1.2015 22:24
Avatar
Odpovídá na kuba.2001
Michal Štěpánek:27.1.2015 22:45

Trošku jsi asi nepochopil OOP...
a používej tlačítko pro vložení zdrojového kódu

Editováno 27.1.2015 22:45
Odpovědět
27.1.2015 22:45
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na kuba.2001
Pavel Šindelář:12.8.2015 21:56

chybí ti u u using system

 
Odpovědět
12.8.2015 21:56
Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na Pavel Šindelář
Ondřej Štorc:12.8.2015 22:15

To spíš blbě zkopíroval ten kód...

Odpovědět
12.8.2015 22:15
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Migi
Tvůrce
Avatar
Odpovídá na Kit
Migi:11.12.2015 23:54

Ahoj, nemela by kazda trida delat svoji praci? Uz jsem se tu na to ptal nekde v komentari :-) Ze budu mit tridu "kalkulacka", kde budou metody a pak tridu "program", kde budu komunikovat s uzivatelem pres instanci tridy "kalkulacka" budu provadet vypocet?

Diky za vysvetleni ;-)

Odpovědět
11.12.2015 23:54
I ta nejhorsi hodina v zivote trva jen 60 minut...
Avatar
Migi
Tvůrce
Avatar
Odpovídá na Kit
Migi:12.12.2015 0:02

Ahoj,
procital jsem ty diskuze vyse, je toto tedy z pohledu konvence dobre? Neni zatim osetrene, ze cislo muze byt nulove ci zadne a ani overeni, zda je to tedy vubec cislo,

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Remoting.Messaging;
using System.Text;
using System.Threading.Tasks;

namespace DruhaApka
{
    class kalkulacka
    {
        /// <summary>
        /// Soucet dvou cisel
        /// </summary>
        /// <param name="prvni"></param>
        /// <param name="druhe"></param>
        /// <returns>Vraci soucet dvou cisel</returns>
        public double SectiCisla(double prvni, double druhe)
        {
            return
                (double)prvni + druhe;
        }
        /// <summary>
        /// Rozdil dvou cisel
        /// </summary>
        /// <param name="prvni"></param>
        /// <param name="druhe"></param>
        /// <returns>Vraci rozdil dvou cisel</returns>
        public double OdectiCisla(double prvni, double druhe)
        {
            return
                (double)prvni - druhe;
        }
        /// <summary>
        /// Nasobek dvou cisel
        /// </summary>
        /// <param name="prvni"></param>
        /// <param name="druhe"></param>
        /// <returns>Vraci nasobek dvou cisel</returns>
        public double VynasobCisla(double prvni, double druhe)
        {
            return
                (double)prvni * druhe;
        }
        /// <summary>
        /// Podil dvou cisel
        /// </summary>
        /// <param name="prvni"></param>
        /// <param name="druhe"></param>
        /// <returns>Vraci podil dvou cisel</returns>
        public double VydelCisla(double prvni, double druhe)
        {
            return
                (double)prvni/druhe;
        }
    }
}

<<<------------------------------------------------------------------------------>>>

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

namespace DruhaApka
{
    class moje_kalkulacka
    {
        static void Main(string[] args)
        {
            double prvnicislo = 0;
            double druhecislo = 0;
            Boolean pokracovat = true;
            kalkulacka  kalkulator = new kalkulacka();

            Console.WriteLine("--------------------");
            Console.WriteLine("Vitejte v kalkulacce");
            Console.WriteLine("--------------------");

            while (pokracovat)
            {

            Console.WriteLine("Zadejte prvni cislo:");
            prvnicislo = double.Parse(Console.ReadLine());
            Console.WriteLine("Zadejte druhe cislo:");
            druhecislo = double.Parse(Console.ReadLine());

            Console.WriteLine("Vyberte operaci:");
            Console.WriteLine("1. soucet:");
            Console.WriteLine("2. rozil:");
            Console.WriteLine("3. soucin:");
            Console.WriteLine("4. podil:");


            int volba = int.Parse(Console.ReadLine());
            while (!((volba <5) && (volba>0)))
            {
                Console.WriteLine("Nevybral jste spravnou moznost, opakujte vyber \n");
                volba = int.Parse(Console.ReadLine());
            }

            switch (volba)
            {
                case 1:
                    Console.WriteLine("Vysledek je: {0}", kalkulator.SectiCisla(prvnicislo, druhecislo));
                    break;
                case 2:
                    Console.WriteLine("Vysledek je: {0}", kalkulator.OdectiCisla(prvnicislo, druhecislo));
                    break;
                case 3:
                    Console.WriteLine("Vysledek je: {0}", kalkulator.VynasobCisla(prvnicislo, druhecislo));
                    break;
                case 4:
                    Console.WriteLine("Vysledek je: {0}", kalkulator.VydelCisla(prvnicislo, druhecislo));
                    break;
                default:
                    break;
            }
                Console.WriteLine("Prejete si pokracovat? a/n");
                char odpoved = Console.ReadKey().KeyChar;


                if ((odpoved == 'a') || (odpoved == 'A'))
                {
                    pokracovat = true;
                    Console.Clear();
                }
                else if ((odpoved == 'n') || (odpoved == 'N'))
                {
                    pokracovat = false;
                    Console.Clear();
                }
                else
                {
                    pokracovat = false;
                    Console.Clear();
                }

            }
                Console.ReadLine();
        }
    }
}

Diky

Odpovědět
12.12.2015 0:02
I ta nejhorsi hodina v zivote trva jen 60 minut...
Avatar
Honza.G
Člen
Avatar
Honza.G:16.5.2016 12:39

Zde moje kalkulačka.. Trochu jsem se inspiroval Migim. Chci se jen zeptat šlo by i aby zadávané hodnoty šli ve vedlejší funkci jak výpočet? Chtěl jsem jen vyvolat funkci a aby mi vrátila hodnotu ale nevím jak nato. Poradil by někdo?:) Přikládám i svůj zdroják.

Vedlejši Funkce:

class Zadavani
    {

        public int prvni(int text)
        {


            return (int)text;
        }

        public int Secti(int prvnicislo, int druhecislo)
        {

            return (int)prvnicislo + druhecislo;
        }

        public int Odecti(int prvnicislo, int druhecislo)
        {

            return (int)prvnicislo - druhecislo;
        }
        public int Nasob(int prvnicislo, int druhecislo)
        {

            return (int)prvnicislo * druhecislo;
        }
        public int Del(int prvnicislo, int druhecislo)
        {

            return (int)prvnicislo / druhecislo;
        }

    }

Hlavní funkce:

static void Main(string[] args)
       {
           int prvnicislo = 0;
           int druhecislo = 0;
           char oper, pokracovat;
           int neco;

           Zadavani zadavani = new Zadavani();

           do {
               Console.Clear();
           Console.WriteLine("zadje 1 cislo");
               while(!int.TryParse(Console.ReadLine(), out prvnicislo));
               Console.WriteLine("zadje 2 cislo");
               while (!int.TryParse(Console.ReadLine(), out druhecislo)) ;

               zadavani.prvni(neco);

           Console.WriteLine("zadej operátora: ");
           while (!char.TryParse(Console.ReadLine(), out oper)) ;

               switch (oper)
               {
                   case '+': Console.WriteLine("vysledek je {0}", zadavani.Secti(prvnicislo, druhecislo)); break;
                   case '-': Console.WriteLine("vysledek je {0}", zadavani.Odecti(prvnicislo, druhecislo)); break;
                   case '*': Console.WriteLine("vysledek je {0}", zadavani.Nasob(prvnicislo, druhecislo)); break;
                   case '/': Console.WriteLine("vysledek je {0}", zadavani.Del(prvnicislo, druhecislo)); break;

               }

               Console.WriteLine("Přeješ si pokračovat? a/n");
               pokracovat = Console.ReadKey().KeyChar;


           } while (pokracovat == 'A' || pokracovat =='a');
           Console.ReadKey();
       }
 
Odpovědět
16.5.2016 12:39
Avatar
Petr Šťastný
Tvůrce
Avatar
Odpovídá na Honza.G
Petr Šťastný:17.5.2016 16:09

Udelej v ty vypoctovy tride public int metodu. Potom tam muzes dat return cislo;. Takze kdyz je metoda void, na return nemas narok. Kdyz je string, int, atd tak vraci text, cislo,...

 
Odpovědět
17.5.2016 16:09
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 10 zpráv z 216.