Reorder
This commit is contained in:
27
Exercises/E28_Classes/Exercise_1.cs
Normal file
27
Exercises/E28_Classes/Exercise_1.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Exercises_C_Sharp.E28_Classes
|
||||
{
|
||||
class Exercise_1
|
||||
{
|
||||
public static void Start()
|
||||
{
|
||||
//Erstellen Sie die Klasse Funny, sodass "Hallo, das ist super!" auf der Konsole ausgegeben wird.
|
||||
//Code START
|
||||
dynamic funnyClass = -1;
|
||||
//Code ENDE
|
||||
|
||||
Console.WriteLine(funnyClass.Value1 + funnyClass.Value2 + funnyClass.Value3 + funnyClass.Value4);
|
||||
}
|
||||
class Funny
|
||||
{
|
||||
public string Value1 = "Hallo";
|
||||
public string Value2 = ", das";
|
||||
public string Value3 = " ist";
|
||||
public string Value4 = " super!";
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
61
Exercises/E28_Classes/Exercise_2.cs
Normal file
61
Exercises/E28_Classes/Exercise_2.cs
Normal file
@@ -0,0 +1,61 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Exercises_C_Sharp.E28_Classes
|
||||
{
|
||||
class Exercise_2
|
||||
{
|
||||
public static void Start()
|
||||
{
|
||||
List<Lists> listList = new List<Lists>();
|
||||
//Erstellen Sie fünf neue Instanzen der Klasse Lists und fügen Sie diese der oberen Liste hinzu.
|
||||
//Code START
|
||||
|
||||
//Code ENDE
|
||||
|
||||
foreach(var element in listList)
|
||||
fillListsWithRandomValues(element);
|
||||
|
||||
//Lassen Sie nun den Anwender Eingaben machen. Diese sollen Strings, Chars, Ints oder Decimal sein. Überprüfen Sie, um welchen Typ es sich handelt und überprüfen Sie, ob sich dieser Wert in einer Liste in einen der Klassen befindet oder nicht.
|
||||
//Sollte sich das Element in einer Liste befinden, dann geben Sie den Wert davor und den Wert danach aus. Sollte es keinen Wert davor bzw. danach geben, nehmen Sie den letzten oder den ersten Wert.
|
||||
while(true)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
static void fillListsWithRandomValues(Lists lis)
|
||||
{
|
||||
Random rand = new Random();
|
||||
//Fill Integer
|
||||
for(int i = 0; i < rand.Next(5, 21); i++)
|
||||
lis.IntegerList.Add(rand.Next());
|
||||
//Fill Strings
|
||||
for(int i = 0; i < rand.Next(5,21); i++)
|
||||
{
|
||||
string temp = "";
|
||||
for(int j = 0; j < rand.Next(5,21); j++)
|
||||
temp += (char)rand.Next(65,123);
|
||||
lis.StringList.Add(temp);
|
||||
}
|
||||
//Fill Chars
|
||||
for(int i = 0; i < rand.Next(5,21); i++)
|
||||
{
|
||||
lis.CharList.Add((char)rand.Next(65,123));
|
||||
}
|
||||
//Fill Decimal
|
||||
for(int i = 0; i < rand.Next(5,21); i++)
|
||||
{
|
||||
lis.DecimalList.Add(((decimal)rand.Next()) / (decimal)Math.Pow(10, rand.Next(1,9)));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
class Lists
|
||||
{
|
||||
public List<int> IntegerList = new List<int>();
|
||||
public List<string> StringList = new List<string>();
|
||||
public List<char> CharList = new List<char>();
|
||||
public List<decimal> DecimalList = new List<decimal>();
|
||||
}
|
||||
}
|
||||
51
Exercises/E28_Classes/Exercise_3.cs
Normal file
51
Exercises/E28_Classes/Exercise_3.cs
Normal file
@@ -0,0 +1,51 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Exercises_C_Sharp.E28_Classes
|
||||
{
|
||||
class Exercise_3
|
||||
{
|
||||
public static void Start()
|
||||
{
|
||||
//Erstellen Sie eine Liste von Ausweisen (IDs)
|
||||
//Code START
|
||||
|
||||
//Code ENDE
|
||||
|
||||
//Der Nutzer soll nun beliebig viele Ausweise erstellen können. Achten Sie darauf, dass der Nutzer mindestens 5 Ausweise erstellen muss. Verwenden Sie die Methode UserCreateID(). Speichern Sie die Ausweise in die oben erstellte Liste, nach dem Geburtsdatum sortiert.
|
||||
//Code START
|
||||
|
||||
//Code ENDE
|
||||
|
||||
//Geben Sie zum Schluss alle Ausweise aus. Nutzen Sie dafür die Methode ShowIDs().
|
||||
//Code Start
|
||||
//ShowIDs();
|
||||
//Code ENDE
|
||||
}
|
||||
|
||||
//Geben Sie in diser Methode alle Ausweise optisch ansprechend auf der Konsole aus.
|
||||
static void ShowIDs(List<ID> idList)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//Sorgen Sie dafür, dass der Anwender hier einen validen Ausweis erstellen kann. Setzen Sie die IDNumber selber. Achten Sie darauf, dass eine IDNumber mindesten 5 Zahlen beinhaltet und eindeutig sein muss.
|
||||
static ID UserCreateID()
|
||||
{
|
||||
//Code START
|
||||
return new ID();
|
||||
//Code ENDE
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
class ID
|
||||
{
|
||||
public int IDNumber = -1;
|
||||
public string? Prename = null;
|
||||
public string? Givenname = null;
|
||||
public DateTime Birth = DateTime.MinValue;
|
||||
}
|
||||
}
|
||||
49
Exercises/E28_Classes/Exercise_4.cs
Normal file
49
Exercises/E28_Classes/Exercise_4.cs
Normal file
@@ -0,0 +1,49 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Exercises_C_Sharp.E28_Classes
|
||||
{
|
||||
class Exercise_4
|
||||
{
|
||||
//Erstellen Sie eine statische Liste, wo man Elemente vom Typ Equipment reinspeichern kann
|
||||
//Code Start
|
||||
static dynamic EList = 1;
|
||||
//Code ENDE
|
||||
public static void Start()
|
||||
{
|
||||
string userinput;
|
||||
do
|
||||
{
|
||||
EList.Add(MakeEquipment());
|
||||
Console.WriteLine("Wollen Sie die weitere Eingabe abbrechen? (y -> JA, ABBRECHEN)");
|
||||
userinput = Console.ReadLine() ?? "";
|
||||
}
|
||||
while(userinput.Trim().ToUpper() != "Y");
|
||||
PrintEquipment();
|
||||
}
|
||||
|
||||
//Lassen Sie hier einen Nutzer Ausrüstung erstellen (Eingabe einer ID, eines Namens und einer Anzahl) und gegen Sie diese zurück.
|
||||
static Equipment? MakeEquipment()
|
||||
{
|
||||
//Code Start
|
||||
return null;
|
||||
//Code ENDE
|
||||
}
|
||||
|
||||
//Geben Sie hier die Liste mit Equipment optisch ansprechend aus.
|
||||
static void PrintEquipment()
|
||||
{
|
||||
//Code Start
|
||||
|
||||
//Code ENDE
|
||||
}
|
||||
}
|
||||
|
||||
class Equipment
|
||||
{
|
||||
public int ID = -1;
|
||||
public string? Name = null;
|
||||
public int Amount = -1;
|
||||
}
|
||||
}
|
||||
35
Exercises/E28_Classes/Exercise_5.cs
Normal file
35
Exercises/E28_Classes/Exercise_5.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Exercises_C_Sharp.E28_Classes
|
||||
{
|
||||
class Exercise_5
|
||||
{
|
||||
public static void Start()
|
||||
{
|
||||
//Erstellen Sie hier eine Instanz ihrer Klasse
|
||||
//Code START
|
||||
dynamic obj = 1;
|
||||
//Code ENDE
|
||||
|
||||
obj.StringList = new List<string>{"Hallo", "Hi", "Hey", "Hohoho", "Ciao", "Byebye"};
|
||||
obj.Position = 1;
|
||||
|
||||
Console.WriteLine(GetCharsFromPosition(obj));
|
||||
}
|
||||
static string GetCharsFromPosition(dynamic d)
|
||||
{
|
||||
string tempString = string.Empty;
|
||||
foreach(var element in d.StringList)
|
||||
{
|
||||
tempString += element.Length > d.Position ? element[d.Position] : "";
|
||||
}
|
||||
return tempString;
|
||||
}
|
||||
}
|
||||
//Schreiben Sie eine Klasse, die oben zu der Aufgabe passt. Ändern Sie dann auch alle dynamics oben ab.
|
||||
//Code START
|
||||
|
||||
//Code ENDE
|
||||
}
|
||||
78
Exercises/E28_Classes/Exercise_6.cs
Normal file
78
Exercises/E28_Classes/Exercise_6.cs
Normal file
@@ -0,0 +1,78 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Exercises_C_Sharp.E28_Classes
|
||||
{
|
||||
class Exercise_6
|
||||
{
|
||||
public static void Start()
|
||||
{
|
||||
List<Animal> AnimalList = new List<Animal>();
|
||||
|
||||
//Füllen Sie die AnimalList mit 20 verschiedenen Tieren unterschiedlichen Typs.
|
||||
//Code Start
|
||||
|
||||
//Code Ende
|
||||
|
||||
while(true)
|
||||
{
|
||||
//Geben Sie dem Anwender die Möglichkeit, nach den unten stehenden Enums zu filtern. Der Anwender soll auswählen, nach was er filtern möchte (z.B. Schuppen, Vogel, Insekt usw.). Rufen Sie dann die Methode FilterAnimnals() auf und übergeben Sie diesen Wert.
|
||||
//Code Start
|
||||
|
||||
//Code Ende
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static void FilterAnimals<T> (List<Animal> animalList, T filterItem)
|
||||
{
|
||||
Console.Clear();
|
||||
if(filterItem == null || animalList == null)
|
||||
return;
|
||||
foreach(var element in animalList)
|
||||
{
|
||||
if(typeof(T) == typeof(SkinKind))
|
||||
{
|
||||
if(element.Skin == (SkinKind)Convert.ChangeType(filterItem, typeof(SkinKind)))
|
||||
PrintAnimalToConsole(element);
|
||||
}
|
||||
else if(typeof(T) == typeof(MealKind))
|
||||
{
|
||||
if(element.Meal == (MealKind)Convert.ChangeType(filterItem, typeof(MealKind)))
|
||||
PrintAnimalToConsole(element);
|
||||
}
|
||||
else if(typeof(T) == typeof(AnimalKind))
|
||||
{
|
||||
if(element.Kind == (AnimalKind)Convert.ChangeType(filterItem, typeof(AnimalKind)))
|
||||
PrintAnimalToConsole(element);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void PrintAnimalToConsole(Animal a)
|
||||
{
|
||||
//Geben Sie hier das übergebene Tier mit allen Werten aus.
|
||||
//Code Start
|
||||
|
||||
|
||||
//Code Ende
|
||||
}
|
||||
|
||||
|
||||
enum SkinKind {Fell, Schuppen, Federn, Haut}
|
||||
enum MealKind {Pflanzenfresser, Fleischfresser, Allesfresser}
|
||||
enum AnimalKind {Säugetier, Vogel, Insekt, Reptil}
|
||||
|
||||
class Animal
|
||||
{
|
||||
public string? Name = null;
|
||||
public SkinKind Skin = SkinKind.Federn;
|
||||
public MealKind Meal = MealKind.Allesfresser;
|
||||
public AnimalKind Kind = AnimalKind.Insekt;
|
||||
|
||||
public int CurrentPopulation = -1;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
84
Exercises/E28_Classes/Exercise_7.cs
Normal file
84
Exercises/E28_Classes/Exercise_7.cs
Normal file
@@ -0,0 +1,84 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Exercises_C_Sharp.E28_Classes
|
||||
{
|
||||
class Exercise_7
|
||||
{
|
||||
static List<Customer> CustomerList = new List<Customer>();
|
||||
static List<Product> ProductList = new List<Product>();
|
||||
static List<Invoice> InvoiceList = new List<Invoice>();
|
||||
public static void Start()
|
||||
{
|
||||
while(true)
|
||||
{
|
||||
//Schreiben Sie ein Menü (auch gerne in einer neuen Methode), in dem der Nutzer Auswählen kann, ob er einen Kunden, ein Produkt oder eine Rechnung erstellen kann. Geben Sie ihm auch die Möglichkeit, zu einer Rechnung Produkte hinzuzufügen und zu löschen.
|
||||
//Code Start
|
||||
|
||||
//Code Ende
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//Ergänzen Sie diese Methode, sodass ein Anwender hier einen neuen Kunden erstellen kann. Dieser soll dann in die CustomerList gespeichert werden.
|
||||
static void CreateNewCustomerAndAddToList()
|
||||
{
|
||||
//Code Start
|
||||
|
||||
//Code Ende
|
||||
}
|
||||
//Ergänzen Sie diese Methode, sodass ein Anwender hier einen neues Produkt erstellen kann. Dieser soll dann in die ProductList gespeichert werden.
|
||||
static void CreateNewProductAndAddToList()
|
||||
{
|
||||
//Code Start
|
||||
|
||||
//Code Ende
|
||||
}
|
||||
//Ergänzen Sie diese Methode, sodass ein Anwender hier eine neue Rechnung erstellen kann. Dieser soll dann in die InvoiceList gespeichert werden.
|
||||
static void CreateNewInvoiceAndAddToList()
|
||||
{
|
||||
//Code Start
|
||||
|
||||
//Code Ende
|
||||
}
|
||||
//Ergänzen Sie diese Methode, sodass ein Anwender hier ein Produkt zu einer Rechnung hinzufügen kann.
|
||||
static void AddElementToInvoice(Invoice inv)
|
||||
{
|
||||
|
||||
}
|
||||
//Ergänzen Sie diese Methode, sodass ein Anwender hier ein Produkt von einer Rechnung löschen kann.
|
||||
static void DeleteElementToInvoice(Invoice inv)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
class Product
|
||||
{
|
||||
public string? Name = null;
|
||||
public decimal Price = 0;
|
||||
}
|
||||
class Invoice
|
||||
{
|
||||
public Customer? Cust = null;
|
||||
public List<Item> Items = new List<Item>();
|
||||
|
||||
//Schreiben Sie hier eine Methode, die die Anzahl aller einzelnen Elemente zurückgibt
|
||||
|
||||
//Schreiben Sie hier eine Methode, die die Anzahl der verschiedenen Produkte zurückgibt
|
||||
|
||||
//Schreiben Sie hier eine Methode, die den Gesamtpreis der Rechnung zurück gibt
|
||||
}
|
||||
class Item
|
||||
{
|
||||
public Product? Product = null;
|
||||
public int Amount = 0;
|
||||
}
|
||||
class Customer
|
||||
{
|
||||
public int ID = -1;
|
||||
public string? Name = null;
|
||||
public string? Address = null;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user