E28 fertig
This commit is contained in:
parent
059e3545cf
commit
dfd759d7ec
@ -8,7 +8,7 @@ namespace Exercises_C_Sharp.E28_Classes
|
||||
{
|
||||
//Erstellen Sie eine statische Liste, wo man Elemente vom Typ Equipment reinspeichern kann
|
||||
//Code Start
|
||||
static dynamic EList = 1;
|
||||
static List<Equipment> EList = [];
|
||||
//Code ENDE
|
||||
public static void Start()
|
||||
{
|
||||
@ -27,7 +27,16 @@ namespace Exercises_C_Sharp.E28_Classes
|
||||
static Equipment? MakeEquipment()
|
||||
{
|
||||
//Code Start
|
||||
return null;
|
||||
Console.WriteLine("Bitte geben Sie eine valide ID ein:");
|
||||
int id;
|
||||
while (!int.TryParse(Console.ReadLine(), out id)) ;
|
||||
Console.WriteLine("Bitte geben Sie einen Namen ein:");
|
||||
string name = Console.ReadLine() ?? "Default";
|
||||
Console.WriteLine("Bitte geben Sie eine valide Menge ein:");
|
||||
int amount;
|
||||
while (!int.TryParse(Console.ReadLine(), out amount)) ;
|
||||
|
||||
return new() { ID = id, Amount = amount, Name = name};
|
||||
//Code ENDE
|
||||
}
|
||||
|
||||
@ -35,6 +44,13 @@ namespace Exercises_C_Sharp.E28_Classes
|
||||
static void PrintEquipment()
|
||||
{
|
||||
//Code Start
|
||||
foreach(var element in EList)
|
||||
{
|
||||
Console.WriteLine("ID: " + element.ID);
|
||||
Console.WriteLine("Name: " + element.Name);
|
||||
Console.WriteLine("Amount: " + element.Amount);
|
||||
Console.WriteLine("-----------------------------");
|
||||
}
|
||||
|
||||
//Code ENDE
|
||||
}
|
||||
|
||||
@ -10,7 +10,7 @@ namespace Exercises_C_Sharp.E28_Classes
|
||||
{
|
||||
//Erstellen Sie hier eine Instanz ihrer Klasse
|
||||
//Code START
|
||||
dynamic obj = 1;
|
||||
Beispiel obj = new();
|
||||
//Code ENDE
|
||||
|
||||
obj.StringList = new List<string>{"Hallo", "Hi", "Hey", "Hohoho", "Ciao", "Byebye"};
|
||||
@ -18,7 +18,7 @@ namespace Exercises_C_Sharp.E28_Classes
|
||||
|
||||
Console.WriteLine(GetCharsFromPosition(obj));
|
||||
}
|
||||
static string GetCharsFromPosition(dynamic d)
|
||||
static string GetCharsFromPosition(Beispiel d)
|
||||
{
|
||||
string tempString = string.Empty;
|
||||
foreach(var element in d.StringList)
|
||||
@ -30,6 +30,10 @@ namespace Exercises_C_Sharp.E28_Classes
|
||||
}
|
||||
//Schreiben Sie eine Klasse, die oben zu der Aufgabe passt. Ändern Sie dann auch alle dynamics oben ab.
|
||||
//Code START
|
||||
|
||||
class Beispiel
|
||||
{
|
||||
public List<string> StringList = [];
|
||||
public int Position = 0;
|
||||
}
|
||||
//Code ENDE
|
||||
}
|
||||
@ -12,14 +12,54 @@ namespace Exercises_C_Sharp.E28_Classes
|
||||
|
||||
//Füllen Sie die AnimalList mit 20 verschiedenen Tieren unterschiedlichen Typs.
|
||||
//Code Start
|
||||
for (int i = 0; i < 20; i++)
|
||||
{
|
||||
Random rand = new();
|
||||
Animal temp = new();
|
||||
string name = "";
|
||||
//Erster Buchstabe
|
||||
name += (char)rand.Next(65, 91);
|
||||
for (int j = 0; j < rand.Next(10); j++)
|
||||
name += (char)rand.Next(97, 123);
|
||||
temp.Name = name;
|
||||
//Skin
|
||||
temp.Skin = (SkinKind)rand.Next(4);
|
||||
//Meal
|
||||
temp.Meal = (MealKind)rand.Next(3);
|
||||
//Kind
|
||||
temp.Kind = (AnimalKind)rand.Next(4);
|
||||
//Population
|
||||
temp.CurrentPopulation = rand.Next(10000);
|
||||
|
||||
AnimalList.Add(temp);
|
||||
}
|
||||
|
||||
//Code Ende
|
||||
|
||||
while(true)
|
||||
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
|
||||
|
||||
Console.WriteLine("Bitte geben Sie Ihren Filter ein:");
|
||||
int i = 1;
|
||||
foreach (var element in Enum.GetNames(typeof(SkinKind)))
|
||||
Console.WriteLine(i++ + ".) " + element);
|
||||
foreach (var element in Enum.GetNames(typeof(MealKind)))
|
||||
Console.WriteLine(i++ + ".) " + element);
|
||||
foreach (var element in Enum.GetNames(typeof(AnimalKind)))
|
||||
Console.WriteLine(i++ + ".) " + element);
|
||||
|
||||
int userinput;
|
||||
while (!int.TryParse(Console.ReadLine(), out userinput) || userinput < 1 || userinput > 11) ;
|
||||
|
||||
if (userinput < 5)
|
||||
FilterAnimals<SkinKind>(AnimalList, (SkinKind)(userinput - 1));
|
||||
else if (userinput < 8)
|
||||
FilterAnimals<MealKind>(AnimalList, (MealKind)(userinput - 5));
|
||||
else if (userinput < 12)
|
||||
FilterAnimals<AnimalKind>(AnimalList, (AnimalKind)(userinput - 8));
|
||||
|
||||
|
||||
//Code Ende
|
||||
}
|
||||
|
||||
@ -54,6 +94,16 @@ namespace Exercises_C_Sharp.E28_Classes
|
||||
{
|
||||
//Geben Sie hier das übergebene Tier mit allen Werten aus.
|
||||
//Code Start
|
||||
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("*********************");
|
||||
Console.WriteLine("* " + a.Name);
|
||||
Console.WriteLine("*********************");
|
||||
Console.WriteLine("Oberfläche: " + a.Skin.ToString());
|
||||
Console.WriteLine("Ernährung: " + a.Meal.ToString());
|
||||
Console.WriteLine("Art: " + a.Kind.ToString());
|
||||
Console.WriteLine("Population: " + a.CurrentPopulation);
|
||||
Console.WriteLine();
|
||||
|
||||
|
||||
//Code Ende
|
||||
|
||||
@ -11,45 +11,123 @@ namespace Exercises_C_Sharp.E28_Classes
|
||||
static List<Invoice> InvoiceList = new();
|
||||
public static void Start()
|
||||
{
|
||||
while(true)
|
||||
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
|
||||
Console.WriteLine("Bitte wählen Sie aus:");
|
||||
Console.WriteLine("1.) Kunden erstellen");
|
||||
Console.WriteLine("2.) Produkt erstellen");
|
||||
Console.WriteLine("3.) Rechnung erstellen");
|
||||
Console.WriteLine("4.) Produkt zur Rechnung hinzufügen");
|
||||
Console.WriteLine("5.) Produkt in Rechnung löschen");
|
||||
Console.WriteLine();
|
||||
string userinput = Console.ReadLine() ?? throw new Exception("");
|
||||
|
||||
if (userinput == "1")
|
||||
{
|
||||
CreateNewCustomerAndAddToList();
|
||||
}
|
||||
else if (userinput == "2")
|
||||
{
|
||||
CreateNewProductAndAddToList();
|
||||
}
|
||||
else if (userinput == "3")
|
||||
{
|
||||
CreateNewInvoiceAndAddToList();
|
||||
}
|
||||
else if (userinput == "4")
|
||||
{
|
||||
AddElementToInvoice(GetInvoiceFromUser());
|
||||
}
|
||||
else if (userinput == "5")
|
||||
{
|
||||
DeleteElementToInvoice(GetInvoiceFromUser());
|
||||
}
|
||||
|
||||
//Code Ende
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static Invoice GetInvoiceFromUser()
|
||||
{
|
||||
int i = 0;
|
||||
Console.WriteLine("Bitte wählen Sie die Rechnung aus:");
|
||||
foreach (var element in InvoiceList)
|
||||
Console.WriteLine(i++ + ".) " + element.Cust!.Name);
|
||||
|
||||
return InvoiceList[Convert.ToInt32(Console.ReadLine())];
|
||||
}
|
||||
|
||||
//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
|
||||
|
||||
Customer cust = new();
|
||||
Console.WriteLine("Bitte geben Sie eine ID ein:");
|
||||
cust.ID = Convert.ToInt32(Console.ReadLine());
|
||||
Console.WriteLine("Bitte geben Sie einen Namen ein:");
|
||||
cust.Name = Console.ReadLine();
|
||||
Console.WriteLine("Bitte geben Sie eine Adresse ein:");
|
||||
cust.Address = Console.ReadLine();
|
||||
CustomerList.Add(cust);
|
||||
//Code Ende
|
||||
}
|
||||
//Ergänzen Sie diese Methode, sodass ein Anwender hier einen neues Produkt erstellen kann. Dieser soll dann in die ProductList gespeichert werden.
|
||||
//Ergänzen Sie diese Methode, sodass ein Anwender hier ein neues Produkt erstellen kann. Dieser soll dann in die ProductList gespeichert werden.
|
||||
static void CreateNewProductAndAddToList()
|
||||
{
|
||||
//Code Start
|
||||
|
||||
Product prod = new();
|
||||
Console.WriteLine("Bitte geben Sie einen Namen ein:");
|
||||
prod.Name = Console.ReadLine();
|
||||
Console.WriteLine("Bitte geben Sie einen Preis ein:");
|
||||
prod.Price = Convert.ToDecimal(Console.ReadLine());
|
||||
ProductList.Add(prod);
|
||||
|
||||
//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
|
||||
Invoice inv = new();
|
||||
|
||||
int i = 0;
|
||||
Console.WriteLine("Bitte wählen Sie einen Kunden aus:");
|
||||
foreach (var element in CustomerList)
|
||||
Console.WriteLine(i++ + ".) " + element);
|
||||
inv.Cust = CustomerList[Convert.ToInt32(Console.ReadLine())];
|
||||
|
||||
InvoiceList.Add(inv);
|
||||
//Code Ende
|
||||
}
|
||||
//Ergänzen Sie diese Methode, sodass ein Anwender hier ein Produkt zu einer Rechnung hinzufügen kann.
|
||||
static void AddElementToInvoice(Invoice inv)
|
||||
{
|
||||
|
||||
int i = 0;
|
||||
Console.WriteLine("Bitte wählen Sie einen Kunden aus:");
|
||||
foreach (var element in ProductList)
|
||||
Console.WriteLine(i++ + ".) " + element);
|
||||
Item it = new();
|
||||
|
||||
it.Product = ProductList[Convert.ToInt32(Console.ReadLine())];
|
||||
|
||||
Console.WriteLine("Bitte geben Sie die Menge ein:");
|
||||
it.Amount = Convert.ToInt32(Console.ReadLine());
|
||||
|
||||
inv.Items.Add(it);
|
||||
}
|
||||
//Ergänzen Sie diese Methode, sodass ein Anwender hier ein Produkt von einer Rechnung löschen kann.
|
||||
static void DeleteElementToInvoice(Invoice inv)
|
||||
{
|
||||
int i = 0;
|
||||
Console.WriteLine("Bitte wählen Sie das zu löschende Objekt aus:");
|
||||
foreach (var element in inv.Items)
|
||||
Console.WriteLine(i++ + ".) " + element);
|
||||
|
||||
inv.Items.RemoveAt(Convert.ToInt32(Console.ReadLine()));
|
||||
|
||||
}
|
||||
}
|
||||
@ -64,10 +142,28 @@ namespace Exercises_C_Sharp.E28_Classes
|
||||
public List<Item> Items = new List<Item>();
|
||||
|
||||
//Schreiben Sie hier eine Methode, die die Anzahl aller einzelnen Elemente zurückgibt
|
||||
public int AmountElements()
|
||||
{
|
||||
return Items.Sum(k => k.Amount);
|
||||
}
|
||||
|
||||
//Schreiben Sie hier eine Methode, die die Anzahl der verschiedenen Produkte zurückgibt
|
||||
public int AllElements()
|
||||
{
|
||||
return Items.Count;
|
||||
}
|
||||
|
||||
//Schreiben Sie hier eine Methode, die den Gesamtpreis der Rechnung zurück gibt
|
||||
public decimal GetPrice()
|
||||
{
|
||||
decimal sum = 0;
|
||||
foreach (var element in Items)
|
||||
sum += element.Product!.Price * element.Amount;
|
||||
|
||||
return sum;
|
||||
|
||||
//return Items.Sum(k => k.Product.Price * k.Amount);
|
||||
}
|
||||
}
|
||||
class Item
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user