C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TvaryLibrary;
namespace Tvary
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("------Obdelnik------");
Obdelnik o1 = new Obdelnik(4, 5);
Console.WriteLine(o1.ToString());
Console.WriteLine("Obsah je: " + o1.VypocitatObsah());
Console.WriteLine("Obvod je: " + o1.VypocitatObvod());
o1.Nakreslit();
Console.WriteLine();
Console.WriteLine("------Ctverec------");
Ctverec c1 = new Ctverec(9, 9);
Console.WriteLine(c1.ToString());
Console.WriteLine("Obsah je: " + c1.VypocitatObsah());
Console.WriteLine("Obvod je: " + c1.VypocitatObvod());
c1.Nakreslit();
Console.WriteLine();
Console.WriteLine("------Kruh------");
Kruh k1 = new Kruh(60);
Console.WriteLine(k1.ToString());
Console.WriteLine("Obsah je: " + k1.VypocitatObsah());
Console.WriteLine("Obvod je: " + k1.VypocitatObvod());
k1.Nakreslit();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TvaryLibrary
{
public class Ctverec : Obdelnik
{
public Ctverec() : base()
{
}
public Ctverec(int sirka, int vyska) : base(sirka, vyska)
{
this.vyska = sirka;
}
public override double VypocitatObsah()
{
return vyska * vyska;
}
public override double VypocitatObvod()
{
return 2 * (vyska + vyska);
}
public override string ToString()
{
return String.Format("tvar: ctverec | ") + base.ToString();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TvaryLibrary
{
public class Kruh : Tvar
{
public Kruh()
{
}
public Kruh(int sirka)
{
this.sirka = sirka;
this.vyska = sirka;
}
public override void Nakreslit()
{
Console.WriteLine("V konzoli není jednoduché kruh nakreslit");
}
public override double VypocitatObsah()
{
return Math.PI * sirka * sirka;
}
public override double VypocitatObvod()
{
return Math.PI * 2 * sirka;
}
public override string ToString()
{
return string.Format("tvar: kruh |") + base.ToString();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TvaryLibrary
{
public class Obdelnik : Tvar
{
public Obdelnik() : base()
{
}
public Obdelnik(int sirka, int vyska) : base(sirka, vyska)
{
}
public override void Nakreslit()
{
for (int i = 0; i < sirka; i++)
{
for (int e = 0; e < vyska; e++)
{
Console.Write(" # ");
}
Console.WriteLine();
}
}
public override double VypocitatObsah()
{
return sirka * vyska;
}
public override double VypocitatObvod()
{
return 2 * (sirka + vyska);
}
public override string ToString()
{
return String.Format("tvar: obdelnik | ") + base.ToString();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TvaryLibrary
{
public abstract class Tvar
{
protected int sirka;
protected int vyska;
public Tvar()
{
}
public Tvar(int sirka)
{
this.sirka = sirka;
}
public Tvar(int sirka, int vyska)
{
this.sirka = sirka;
this.vyska = vyska;
}
public abstract void Nakreslit();
public abstract double VypocitatObvod();
public abstract double VypocitatObsah();
public override string ToString()
{
return String.Format("sirka: {0} | vyska: {1} | ", sirka, vyska);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Banka_Knihovna;
namespace Banka_Knihovna
{
class Program
{
static void Main(string[] args)
{
List<Ucet> seznamUctu = new List<Ucet>();
Console.Write("Zadej číslo účtu: ");
string cisloUctu = Console.ReadLine();
Console.Write("Zadej majitele účtu : ");
string majitel = Console.ReadLine();
try
{
Console.Write("Zadej zůstatek na účtu: ");
double zustatek = double.Parse( Console.ReadLine() );
Ucet u = new Ucet(cisloUctu, majitel, zustatek);
seznamUctu.Add(u);
}
catch (Exception ex)
{
Console.WriteLine("Chyba na vstupu, účet nebyl vytvořen.");
}
SporiciUcet sporUc = new SporiciUcet("222222", "Jana Dlouha", 4400, 4.4);
seznamUctu.Add(sporUc);
DebetniUcet debetUc = new DebetniUcet("333333", "Olda Novy", 12500, 2000);
seznamUctu.Add(debetUc);
Console.WriteLine("\nVýpis účtu :");
foreach (Ucet ucet in seznamUctu)
{
Console.WriteLine(ucet);
}
Console.WriteLine("\nTEST1: Vložit 10000Kc na účet 1:");
Console.WriteLine(seznamUctu[0].Vlozit(10000));
Console.WriteLine("\nTEST2: Vybrat 14000Kc ze všech účtu :");
foreach (Ucet ucet in seznamUctu)
{
Console.WriteLine( ucet.Vybrat(14000) );
}
Console.WriteLine("\nTEST3: Na všechny účty připište úrok:");
foreach (Ucet ucet in seznamUctu)
{
//ucet.PripsatUrok();
if (ucet is SporiciUcet)
{
SporiciUcet su = ucet as SporiciUcet;
Console.WriteLine( su.PripsatUrok() );
}
else
{
Console.WriteLine("Transakci nelze provést, účet není spořící.");
}
}
Console.WriteLine("\nVýpis účtů:");
foreach (Ucet ucet in seznamUctu)
{
Console.WriteLine(ucet);
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Banka_Knihovna
{
public class Ucet : Object
{
// - const int KODBANKY
// # string cislo
// # string majitel
// # double zustatek
private const int KODBANKY = 1234;
protected string cislo;
protected string majitel;
protected double zustatek;
// + Ucet (cislo, majitel, zustatek)
public Ucet(string cislo, string majitel, double zustatek)
{
this.cislo = cislo;
this.majitel = majitel;
this.zustatek = zustatek;
}
// + Ucet (cislo, majitel)
public Ucet(string cislo, string majitel)
{
this.cislo = cislo;
this.majitel = majitel;
}
// + string Viozit (castka)
public string Vlozit(double castka)
{
this.zustatek += castka;
return string.Format("Na účet {0} byla připsána částka {1} Kč", this.VratCisloUctuCele(), castka);
}
// + string Vybrat (castka)
public virtual string Vybrat(double castka)
{
if (this.zustatek >= castka)
{
this.zustatek -= castka;
return string.Format("Z účtu {0} byla vybrána částka {1} Kč. Zůstatek je {2} Kč", this.VratCisloUctuCele(), castka, this.zustatek);
}
else
{
return string.Format("Nedostatek prostředků na účtu {0}, transakce nebyla dokončena.", this.VratCisloUctuCele());
}
}
// # string VratCisloUctuCele ()
protected string VratCisloUctuCele()
{
return string.Format("{0}/{1}",this.cislo,KODBANKY);
}
// + string ToString ()
public override string ToString()
{
return string.Format("Účet: {0}, Majitel: {1}, Zůstatek: {2} Kč", this.VratCisloUctuCele(),this.majitel, this.zustatek);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Banka_Knihovna
{
public class SporiciUcet : Ucet
{
// - double urokova sazba
private double urokovaSazba;
// + SporiciUcet (cislo, majitel, urokovaSazba
public SporiciUcet(string cislo, string majitel, double urokovaSazba)
:base(cislo, majitel)
{
this.urokovaSazba = urokovaSazba;
}
// + SporiciUcet (cislo, majitel, zustatek, urokovaSazba)
public SporiciUcet(string cislo, string majitel, double zustatek, double urokovaSazba)
: base(cislo, majitel, zustatek)
{
this.urokovaSazba = urokovaSazba;
}
// + string PripsatUrok ()
public string PripsatUrok()
{
double urok = (this.urokovaSazba / 100.0) * this.zustatek;
this.Vlozit(urok);
return string.Format("Na účet {0} byl připsán úrok {1} %. Aktuální zůstatek: {2} Kc", this.VratCisloUctuCele(), this.urokovaSazba, this.zustatek);
}
// + string ToString ()
public override string ToString()
{
return "Spořící " + base.ToString() + String.Format(", urokova sazba: {0}%", this.urokovaSazba);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Banka_Knihovna
{
public class DebetniUcet : Ucet
{
// - double debet
private double debet;
// + DebetniUcet (cislo, majitel, debet)
public DebetniUcet(string cislo, string majitel, double debet)
:base(cislo, majitel)
{
this.debet = debet;
}
// + DebetniUcet (cislo, majitel, zustatek, debet)
public DebetniUcet(string cislo, string majitel, double zustatek, double debet)
: base(cislo, majitel, zustatek)
{
this.debet = debet;
}
// + string Vybrat (castka)
public override string Vybrat(double castka)
{
if (this.zustatek + this.debet >= castka)
{
this.zustatek -= castka;
return string.Format("Z účtu {0} byla vybrána částka {1}. Aktuální zůstatek je {2} Kč",VratCisloUctuCele(),castka,this.zustatek);
}
else
{
return string.Format("Nedostatek prostředků na účtu {0}, transakce nebyla dokončena. Aktuální zůstatek je {1} Kč", this.VratCisloUctuCele(), this.zustatek);
}
}
// + string ToString ()
public override string ToString()
{
return "Debetní " + base.ToString() + string.Format(", debet: {0} Kc", this.debet);
}
}
}
Java
package eu.teleinformatika;
public class Program {
public static void main(String[] args) {
System.out.println("Projekt banka - Java");
Ucet u1 = new Ucet("U122312","Pepa",69000);
System.out.println(u1.toString());
System.out.println(u1.vybrat(50000));
System.out.println(u1.vlozit(10000));
System.out.println(u1.toString());
System.out.println();
Ucet u2 = new Ucet("U564916","Z Depa",1000);
System.out.println(u2.toString());
System.out.println(u2.vybrat(50000));
System.out.println(u2.vlozit(10000));
System.out.println(u2.toString());
System.out.println();
SporiciUcet s1 = new SporiciUcet("S621361","Yeetr",50666,5.6);
System.out.println(s1.toString());
System.out.println(s1.vybrat(20000));
System.out.println(s1.vlozit(1000));
System.out.println(s1.pripsatUrok());
System.out.println(s1.toString());
System.out.println();
DebetniUcet d1 = new DebetniUcet("D162915","Tomíno",6243,1500);
System.out.println(d1.toString());
System.out.println(d1.vybrat(15500));
System.out.println(d1.vlozit(1000));
System.out.println(d1.toString());
}
}
package eu.teleinformatika;
public class Ucet {
//clenske promenne a konstanta
private final int KODBANKY = 1234;
protected String cislo;
protected String majitel;
protected double zustatek;
//konstruktory
public Ucet(String cislo, String majitel, double zustatek)
{
this.cislo = cislo;
this.majitel = majitel;
this.zustatek = zustatek;
}
public Ucet(String cislo, String majitel)
{
this(cislo, majitel, 77000);
}
//metody
protected String vratCisloUctuCele()
{
return String.format("%S/%S", this.cislo, KODBANKY);
}
@Override
public String toString()
{
return String.format("Ucet [%s, majitel: %s, zustatek: %f Kc]",
this.vratCisloUctuCele(),
this.majitel,
this.zustatek);
}
public String vlozit(double castka)
{
this.zustatek += castka;
return String.format("Na ucet %s byla vlozena castka %f Kc. Aktualni zustatek: %f Kc",
this.vratCisloUctuCele(),
castka,
this.zustatek);
}
public String vybrat(double castka)
{
if (this.zustatek >= castka)
{
this.zustatek -= castka;
return String.format("Z uctu %s byla vybrana castka %f Kc. Aktualni zustatek: %f Kc",
this.vratCisloUctuCele(),
castka,
this.zustatek);
}
else
{
return String.format("Nedostatek prostredku na uctu %s, transakce nebyla dokoncena. Aktualni zustatek: %f Kc",
this.vratCisloUctuCele(),
this.zustatek);
}
}
}
package eu.teleinformatika;
public class SporiciUcet extends Ucet {
//clenske promenne
private double urokovaSazba;
public SporiciUcet(String cislo, String majitel, double urokovaSazba)
{
this(cislo, majitel, 88000, urokovaSazba);
}
public SporiciUcet(String cislo, String majitel, double zustatek, double urokovaSazba)
{
super(cislo, majitel, zustatek);
this.urokovaSazba = urokovaSazba;
}
//metody
@Override
public String toString()
{
return "Sporici " + super.toString() + String.format(", urokova sazba: %f %%", this.urokovaSazba);
}
public String pripsatUrok()
{
double urok = (this.urokovaSazba / 100.0) * this.zustatek;
this.vlozit(urok);
return String.format("Na ucet %s byl pripsan urok %s %%. Aktualni zustatek: %f Kc",
this.vratCisloUctuCele(),
this.urokovaSazba,
this.zustatek);
}
}
package eu.teleinformatika;
public class DebetniUcet extends Ucet{
//clenske promenne
private double debet;
//konstruktory
public DebetniUcet(String cislo, String majitel, double debet)
{
super(cislo, majitel);
this.debet = debet;
}
public DebetniUcet(String cislo, String majitel, double zustatek, double debet)
{
super(cislo, majitel, zustatek);
this.debet = debet;
}
//metody
@Override
public String toString()
{
return "Debetni " + super.toString() +
String.format(", debet: %f Kc", this.debet);
}
//Vybrat dodelat
@Override
public String vybrat(double castka)
{
if (this.zustatek + this.debet >= castka)
{
this.zustatek -= castka;
return String.format("Z uctu %s byla vybrana castka %s Kc. Aktualni zustatek: %f Kc",
this.vratCisloUctuCele(),
castka,
this.zustatek);
}
else
{
return String.format("Nedostatek prostredku na uctu %s, transakce nebyla dokoncena. Aktualni zustatek: %f Kc",
this.vratCisloUctuCele(),
this.zustatek);
}
}
}
package eu.teleinformatika;
public class Program
{
public static void main(String[] args)
{
System.out.println("-----Projekt tvary java------");
Obdelnik o1 = new Obdelnik(5, 2);
Ctverec c1 = new Ctverec(6);
Kruh k1 = new Kruh(78);
Tvar[] poleTvaru = new Tvar[4];
poleTvaru[0] = o1;
poleTvaru[1] = o1;
poleTvaru[2] = c1;
poleTvaru[3] = k1;
for(int i = 0; i < poleTvaru.length; i++)
{
poleTvaru[i].nakreslit();
System.out.println( poleTvaru[i].toString());;
System.out.println( "obvod je " + poleTvaru[i].vypocitatObvod());;
System.out.println( "obsah je " + poleTvaru[i].vypocitatObsah());;
System.out.println("-----------");
}
}
}
package eu.teleinformatika;
public abstract class Tvar
{
protected int sirka;
protected int vyska;
public Tvar()
{
this.sirka = 0;
this.vyska = 0;
}
public Tvar(int sirka)
{
this.sirka = sirka;
this.vyska = sirka;
}
public Tvar(int sirka, int vyska)
{
this.sirka = sirka;
this.vyska = vyska;
}
public abstract void nakreslit();
public abstract double vypocitatObvod();
public abstract double vypocitatObsah();
@Override
public String toString()
{
return String.format(" tvar: sirka=%s, vyska=%s", this.sirka, this.vyska);
}
}
package eu.teleinformatika;
public class Obdelnik extends Tvar
{
public Obdelnik()
{
super();
}
public Obdelnik(int sirka, int vyska)
{
super(sirka, vyska);
}
@Override
public void nakreslit()
{
for (int y = 0; y < this.vyska; y++)
{
for (int x = 0; x < this.sirka; x++)
{
System.out.print("X");
}
System.out.println();
}
}
@Override
public double vypocitatObvod()
{
double obvod = 2 * (this.sirka + this.vyska);
return obvod;
}
@Override
public double vypocitatObsah()
{
return this.sirka * this.vyska;
}
@Override
public String toString()
{
return "obdelnik je" + super.toString();
}
}
package eu.teleinformatika;
public class Ctverec extends Obdelnik
{
public Ctverec()
{
super();
}
public Ctverec(int sirka)
{
super(sirka, sirka);
}
@Override
public String toString()
{
return "Ctverec je" + super.toString();
}
}
package eu.teleinformatika;
public class Kruh extends Tvar
{
public Kruh()
{
super();
}
public Kruh(int sirka)
{
super(sirka);
}
@Override
public void nakreslit()
{
System.out.println("Neni jednoduche nakreslit kruh v console");
}
@Override
public double vypocitatObvod()
{
double r = (double)this.sirka / 2.0;
double obvod = 2 * 3.14 * r;
return obvod;
}
@Override
public double vypocitatObsah()
{
double r = (double)this.sirka / 2.0;
double obsah = Math.PI * r * r;
return obsah;
}
@Override
public String toString()
{
return "Kruh je" + super.toString();
}
}