C-Programm / Komma-Problem
-
Hallo!
Bin C-Anfänger, also bitte nicht lachen.
Habe ein Programm in C geschrieben, wo der Benutzer für eine Berechnung Werte mit Komma-Stellen eingeben kann. Man muss aber zwangsweise einen Punkt anstatt des Kommas eingeben, weil das programm sonst verrückt spielt und eine Endlosschleife starten.Lässt sich das irgendwie ändern?
Also ich hab dort stehen:
printf("\nBitte geben Sie die Belastung ein: \t\t\t"); scanf("%f",&q);
Danke schon mal!
-
Hallo!
Du könntest die Eingabe als string einlesen, gucken, ob ein Komma drin ist, und dieses dann durch einen Punkt ersetzen. Dann mit sscanf(...) aus diesem string lesen.
-
GV schrieb:
Hallo!
Du könntest die Eingabe als string einlesen, gucken, ob ein Komma drin ist, und dieses dann durch einen Punkt ersetzen. Dann mit sscanf(...) aus diesem string lesen.Könntest du mir den Code geben?
-
Könntest du selber denken?
-
Zeichenweise suchen und ggf. ersetzen ist doch Grundwissen, das schaffst du ja wohl!
Wie bereits gesagt, in String einlesen und dann s&e, schon geht es problemlos.
-
Tut mir leid, hab erst vorgestern mit C angefangen. Verstehe noch nicht alles... Nun gut, danke trotzdem.
-
C braucht nun mal zeit. schnellschuesse gehen nach hinten los!
du willst das selber hinkriegen, vertrau mir.
-
Also wenn du erst vorgestern angefangen hats dann lern zuerst mal die Grundlagen, du wirst sie brauchen.
Danach kannst du dich um dein aktuelles Problem kümmern:
Funktionieren würde es etwa so:
Eingabe in einen String, diesen mit einer Schleife vom ersten bis zum letzten Zeichen durchgehen, und dabei jedes Zeichen überprüfen ob es ein Komma ist. Wenn es ein Komma ist so eretze dieses Zeichen durch einen Punkt.Letztendlich musst du den String noch in eine Zahl umwandeln. Dafür gibts Funktionen wie atof.
Grüße,
Harri
-
http://www.c-plusplus.net/forum/viewtopic-var-t-is-156896.html - was soll das?
-
@OP:
Wenn auf einen von dir erstellten Thread (besonders einem der "leichte Kost"-Fraktion) mit einem Problem in C im C++ Forum innerhalb von 7 Minuten (OP: 12:53:36, erstes Reply: 13:04:49) keine Antwort kommt, bedeutet dies nicht, das gerade keiner da ist, sondern das gerade keiner Zeit hat - Was aber kein Grund ist, danach einen selben im C Forum zu erstellen. Wenn du bemerkt haben solltest, dass du im falschen Forum gelandet bist, hättest du auch kurz darum bitten können, ihn zu verschieben (was über Kurz oder Lang sowieso passiert wäre). Crosspostings sind nicht die feine englische...
Des weiteren wirst du mit
okma schrieb:
Könntest du mir den Code geben?
auf Dauer (und besonders am Anfang) keine Freude haben. Nebenbei hat diese Einstellung auch Sätze wie
against_okma schrieb:
Könntest du selber denken?
zur Folge. Stell dich darauf ein.
Ansonsten wünsch' ich noch angenehmes C-lernen.
Greetz, Swordfish
-
Hallo,
c.rackwitz schrieb:
C braucht nun mal zeit. schnellschuesse gehen nach hinten los!
du willst das selber hinkriegen, vertrau mir.
die Macht ist mit dir junger Jedi
MfG, Heimdall83