C# :: Aufgabe #116 :: Lösung #2

4 Lösungen Lösungen öffentlich
#116

Tante Emmas Tageseinnahmen

Anfänger - C# von Energy - 09.03.2016 um 14:17 Uhr
Tante Emma ist die Geschäftsleiterin von 5 Tante-Emma-Läden. Sie möchte ermitteln, wie hoch der Umsatz der einzelnen Filialen vom letzten Tag war.
Schreibe ein Programm in dem abgefragt wird, wie viel Geld in den 5 Läden am Anfang des Tages vorhanden war und wie viel Geld sich am Ende des Tages in der Kasse befand. Außerdem möchte Tante Emma wissen, wie viel Umsatz jeder einzelne Laden gemacht hat und welche der 5 Läden den größten bzw. den geringsten Umsatz erzielt hat. Speichere alle Informationen in einem seperaten Array ab, sodass die Informationen nach der Eingabe der Kassenstände und Umsatzberechnungen für jeden Laden, in einem eigenen Array gespeichert wird. Gebe anschließend für jeden Laden die Informationen wieder aus uns bestimme den Laden mit dem größten bzw. kleinsten Umsatz.
#2
vote_ok
von J_U_B (650 Punkte) - 20.03.2016 um 18:20 Uhr
Quellcode ausblenden C#-Code
public class TanteEmmaLaden
	{
		public string Name { get; set; }
		public int DayStartSalary { get; set; }
        private int _dayEndSalary;
		public int DayEndSalary 
		{ 
			get {
				return _dayEndSalary;
			}
			set {
                _dayEndSalary = value;
				daySales = _dayEndSalary - DayStartSalary;
			}
		}
		private int daySales;
		public int DaylieSales { get{ return daySales; } }
	}
	public class TanteEmmaLadenCollection : Dictionary<string, TanteEmmaLaden>
	{
		public void Add(string Name, int DayStartSalary)
		{
			this.Add (Name, new TanteEmmaLaden () { Name = Name, DayStartSalary = DayStartSalary });
		}
		public void Add(string Name, int DayStartSalary, int DayEndSalary)
		{
			this.Add (Name, new TanteEmmaLaden (){ Name = Name, DayStartSalary = DayStartSalary, DayEndSalary = DayEndSalary });
		}
		public TanteEmmaLaden HighestSales()
		{
			object[] highest = new object[2];
			foreach(var valueKey in this)
			{
				if (highest [1] == null) {
					highest [0] = valueKey.Key;
					highest [1] = valueKey.Value.DaylieSales;
				} else if ((int)highest [1] < valueKey.Value.DaylieSales) {
					highest [0] = valueKey.Key;
					highest [1] = valueKey.Value.DaylieSales;
				}
			}
			return this [highest [0].ToString ()];
		}
		public TanteEmmaLaden LowesSales()
		{
			
			object[] lowest = new object[2];
			foreach(var valueKey in this)
			{
				if (lowest [1] == null) {
					lowest [0] = valueKey.Key;
					lowest [1] = valueKey.Value.DaylieSales;
				} else if ((int)lowest [1] > valueKey.Value.DaylieSales) {
					lowest [0] = valueKey.Key;
					lowest [1] = valueKey.Value.DaylieSales;
				}
			}
			return this [lowest [0].ToString ()];
		}
	}
	class MainClass
	{
		public static void Main (string[] args)
		{
			TanteEmmaLadenCollection laeden = new TanteEmmaLadenCollection ();
			for (int i = 0; i < 5; i++) {
				Console.WriteLine ("Bitte geben Sie die Informationen für den {0}. Laden an.", i+1);
				Console.Write ("Laden: ");
				string Name = Console.ReadLine ();
				Console.Write ("Kassenstand zu beginn des Tages: ");
				int DayStartSalary = Convert.ToInt32 (Console.ReadLine ());
				Console.Write ("Kassenstand am Ende des Tages: ");
				int DayEndSalary = Convert.ToInt32 (Console.ReadLine ());
				laeden.Add (Name, DayStartSalary, DayEndSalary);
				Console.WriteLine ("Der Tagesumsatz des Ladens betraegt: {0}\n", laeden [Name].DaylieSales);
			}

			Console.WriteLine ("\nDer Laden mit dem größten Umsatz ist: {0}", laeden.HighestSales ().Name);
			Console.WriteLine ("Der Laden mit dem niedrigsten Umsatz ist: {0}", laeden.LowesSales ().Name);
            Console.ReadLine();
		}
	}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben