Diskuze – Lekce 2 - První objektová aplikace v C# - Hello object world
ZpětUpozorň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ů.


Kafac:25.1.2015 10:18
Bez tříd třída tam
je,ale vypadalo by to tak bez použití OOP
Ahoj,chtěl jsem se zeptat jesli to tak jde:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Class1
{
public void Novak(string jmeno,int vek,string kamarad)
{
Console.WriteLine("Ahoj, já jsem {0}, je mi {1} let a muj kamarád je {2} ",
jmeno, vek, kamarad);
}
}
}
sing System;
using System.Collections.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();
}
}
}
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
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
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
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();
}
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,...
Zobrazeno 10 zpráv z 218.