Lösung zur Übungsaufgabe zu Schleifen – Durchschnittsnote berechnen
Hoffentlich konntest du die Übungsaufgabe lösen. In diesem Artikel zeige ich dir meine Lösung. Es kann natürlich wie häufig bei der Programmierung verschiedene Möglichkeiten dafür geben. Sollten Variablen oder Funktionsnamen anders heißen, ist das kein Problem, solange die gewünschte Funktionalität erreicht wird.
“Die Aufgabenstellung war folgende: Erstelle ein Programm, bei dem ein Lehrer die Noten (es sind nur Ganzzahlige Noten von 1 – 6 erlaubt) seiner Schüler in Form von Zahlen eintragen kann.
Um es einfacher zu machen, kannst du double für die Variablentypen der Zahlenvariablen nehmen.
Er soll die Zahlen einzeln eingeben und jeweils nach der Eingabe nach der Nächsten Angabe gefragt werden.
Die Zahl die er zuletzt eingegeben hat, soll angezeigt werden.
Die GesamtAnzahl der Einträge soll bei jedem Eintrag erneut angezeigt werden.
Sobald der Lehrer -1 eingibt, soll das Programm die Durchschnittsnote der vorher eingegebenen Zahlen errechnen und sie anzeigen.
Im nächsten Video werden noch weitere Herausforderungen hinzugefügt, die da wären:
- Verwende Integer statt Double für die Variablen und wandle bei der Berechnung des Durchschnittes entsprechend um.
- Erweitere den Code, sodass nur Zahlen von 1 bis 6 eingegeben werden können und der nutzer sonst darauf hingewiesen wird, dass er nur diese Zahlen verwenden soll.
- Gehe sicher, dass die Umwandlung von String zu Int überhaupt funktioniert.
- Teste dein Programm ausführlich.”
Hier findest du meine Lösung:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace Panjutorials
{
class Programm
{
public static void Main(string[] args)
{
string eingabe = "0";
int anzahl = 0;
int gesamtwert = 0;
int aktuelleZahl = 0;
while(eingabe != "-1")
{
Console.WriteLine("Letzte Zahl war " + aktuelleZahl);
Console.WriteLine("Bitte geben Sie die nächste Note ein.");
Console.WriteLine("Bisherige Eingaben: " + anzahl);
Console.WriteLine("Geben Sie -1 ein um den Durchschnitt zu berechnen");
eingabe = Console.ReadLine();
if (eingabe == "-1")
{
Console.WriteLine("---------------------------------");
double durchschnitt = (double)gesamtwert / (double)anzahl;
Console.WriteLine("Der Durchschnitt ist " + durchschnitt);
}
if (Int32.TryParse(eingabe, out aktuelleZahl) && aktuelleZahl >0 && aktuelleZahl <7){
gesamtwert = gesamtwert + aktuelleZahl;
}
else
{
if(!(eingabe == "-1"))
{
Console.WriteLine("Bitte geben sie ganzzahlige Werte zwischen 1 und 6 ein!");
}
continue;
}
anzahl++;
}
Console.ReadLine();
}
}
}