Switch mit if else verbinden C programmieren ?
Wie bekomm ich es hin dass das Programm den ausgewählten Straßen Typ (Variable) und die dazugehörige if Bedingungen in Verbindung bringt ohne den error zu produzieren? Danke für eure Hilfe :)


3 Antworten
Da du für die Variable, die du prüfen möchtest, den Datentyp float verwendest, ist die switch-case-Struktur völlig unpassend. Verwende stattdessen if-else if-else oder führe zuvor einen Typecast aus:
switch ((int) variable) { /* ... */ }
Ersteres würde ich normalerweise bevorzugen, denn es hält dein Programm flexibler. Du kannst schneller einen Kontrollzweig anhängen, falls du doch einmal mit einer Gleitkommazahl vergleichen möchtest.
Da dein Programm allerdings Ganzzahlen als Eingabe erwartet, solltest du stattdessen von Anfang an einen Integer verwenden.
Du versuchst in der Switch-Anweisung abzufragen, ob der Wert ein Integer wert ist.
Der Wert ist aber ein float.
Du musst das also anders abfragen.
"
case 1f:
"
sollte funktionieren...
Klappt leider nicht :D sagt jetzt invalid Suffix “f”
Aua.
Schau dir noch mal an, wie ein Switch funktioniert. Im Switch selbst ist schon das Integriert, was du eigentlich möchtest. Kleiner Tipp: die Variable für den Switch muss sich als Integer darstellen lassen, deine ist aber float.
Weis aber nicht sicher, obs funktioniert.
Programmkiere kaum in C...