C# Programm helfen?

3 Antworten

1) Wie macht man einen Screenshot? - So einfach geht das.

2) Bei Aufruf deiner Methode, die den BMI berechnen soll, übergibst du ein Symbol bmi, welches in dem Kontext der ToString-Methode gar nicht gibt. Aber statt nun eine gültige Variable oder einen gültigen Wert zu übergeben, solltest du eher hinterfragen, wozu du diesen Parameter überhaupt brauchst. Die Methode soll doch einen BMI berechnen und nicht entgegennehmen.

Was allerdings klug wäre: Wenn du die Methode in ToString nur einmal aufrufen und das Ergebnis in einer Variable speichern würdest. Dann müsste die Rechnung nur ein einziges Mal durchgeführt werden, statt (wie derzeit) zweimal.

3) Ein grundsätzlicher Rat: Vermeide Umlaute/Sonderzeichen (wie ö, ß, u.ä.) in Bezeichnernamen. Ersetze sie dann eher (mit oe, ss, usw.).

4) So kannst du einen Wert (bzw. eine Zeile) von der Konsole lesen:

string eingabe = Console.ReadLine();

Anschließend bräuchtest du noch eine Typkonversion, da du ja mit einer Zahl arbeiten möchtest und nicht mit einer Zeichenkette. Im einfachsten Fall kannst du die Methoden der Convert-Klasse für die Umwandlung verwenden.

Beispiel:

double number = Convert.ToDouble(eingabe);

Dies setzt aber auch voraus, dass der Nutzer eine valide Zahl eingibt.

Alles schwierig zu sehen, weil es keine Screenshots sind, sondern Fotos. In dem Bereich sollte man eigentlich wissen, was Screenshots sind und wie das geht.

Auf Bild 2 sehe ich, dass du eine Methode aufrufst, welche double annimmt. Ist bmi denn ein double? Das erkenne ich da gerade nicht

in Bild 3 gibst du aus Gewicht: Größe: und dann erst die Werte, verbindest aber nicht die Werte mit der Ausgabe davor. Console.WriteLine("Text: " + variable); oder Console.WriteLine($"Text: {Variable}"); wäre da ein Beispiel für.

Das ist, was ich auf den Bildern erkennen kann. Nächstes Mal bitte Screenshots oder Code hier posten oder auf Paste bin. Und wenn du ihn hier postest, dann als Codeblock formatiert


Palladin007  26.01.2022, 02:04
In dem Bereich sollte man eigentlich wissen, was Screenshots sind und wie das geht.

In dem Bereich sollte man Code-Tags nutzen ;)
Die von gutefrage.net sind alles andere als gut, aber um Welten besser als Screenshots oder - Gott befahre - Fotos ...

0

Da, wo die Fehlermeldungen stehen, gibt es keine Variable namens bmi. Es macht sowieso keinen Sinn, der Funktion, die den BMI berechnen soll, einen bmi mitzugeben. Du müsstest die Größe und das Gewicht mitgeben.

Wenn die Größe oder das Gewicht nicht in den passenden Bereich fallen, gibt deine Funktion auch einfach irgendwas zurück, anstatt eine Fehlermeldung auszuspucken.

Ich weiß nicht, was ihr bei der Aufgabe für Vorgaben habt, aber ich finde die beiden Klassen viel zu aufgeblasen für die Aufgabe.

Du könntest auch einfach das hier machen, um zum gleichen Ergebnis zu kommen:

public static void Main()
{
    Console.WriteLine("Gib dein Gewicht ein:");
    double weight = Convert.ToDouble(Console.ReadLine());
    Console.WriteLine("Gib deine Größe ein:");
    double height = Convert.ToDouble(Console.ReadLine());


    Console.WriteLine($"Dein BMI beträgt {weight/(height*height):F}");
}