This commit is contained in:
2024-07-17 07:20:18 +02:00
parent 3e9256b983
commit bedea4caf3
264 changed files with 0 additions and 0 deletions

View 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!";
}
}
}

View 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>();
}
}

View 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;
}
}

View 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;
}
}

View 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
}

View 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;
}
}
}

View 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;
}
}