Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 2. diel - Prvá objektová aplikácia v C# - Hello object world

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
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í.

Editované
Odpovedať
"Lepší, než předpovídat budoucnost, je vytvořit ji." Bill Gates
Avatar
Kafac
Člen
Avatar
Odpovedá 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

Odpovedať
"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();
}
}
}

Avatar
Odpovedá 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

Editované
Odpovedať
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovedá na kuba.2001
Pavel Šindelář:12.8.2015 21:56

chybí ti u u using system

Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovedá na Pavel Šindelář
Ondřej Štorc:12.8.2015 22:15

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

Odpovedať
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Migi
Tvůrce
Avatar
Odpovedá 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 ;-)

Odpovedať
I ta nejhorsi hodina v zivote trva jen 60 minut...
Avatar
Migi
Tvůrce
Avatar
Odpovedá 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

Odpovedať
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();
       }
Avatar
Petr Šťastný
Tvůrce
Avatar
Odpovedá 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,...

Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 218.