Addition in C/C++
-
Ich schreibe gerade ein Programm in C,dieses Programm soll 2 float Variablen addieren, mein Programm soll keine Zeichnen annehmen, bei angabe ein Zeichnen soll ein Fehlermeldung rauskommen.
Beispiel :
Geben Sie a ein : 2.4
Geben Sie b ein : rz
Fehler!!!
wenn ich das Programm so schreibfloat a,b;
printf("Geben Sie a ein : ");
scanf("%f",&a);
printf("Geben Sie b ein : ");
scanf("%f",&b);
printf("Die Summe ist : %d",a+b);mein Programm funktioniert nicht kann jemand mir helfen?
-
getch()
-
ich glabue das hier meinst du eigentlich
http://www.c-plusplus.net/forum/viewtopic.php?t=39313&highlight=reine+zahleneingaben
-
Das löst leider mein Porblem nicht
-
Der Formatspezifizierer %d ist für int. Für float kommen je nach Formatierungswunsch %e, %f oder %g in Frage. BTW wenn du nicht unbedingt printf benutzen musst, solltest du dir mal die iostream-Library angucken, damit geht das ganze ungefähr so:
cout << "Die Summe ist: " << a+b << endl;
-
Mein programm soll einfach eine Fehlermeldung geben wenn ich ein Character eingebe.
-
Du liest einfach char ein. Dann gehst du den eingelesenen string durch und schaust, ob das nur Zahlen sind. Falls ja, atoi benutzen, falls nein, Fehler ausgeben.
Edit: stringstream kannst du natürlich auch benutzen statt atoi
-
Wie kann ich überprüfen ob ich nur Zahlen hab?
-
Ich verrate es nicht, aber die Ascii Tabelle kann es dir verraten. Tipp: Achte auf die codes der Zahlen, die alle nebeneinanderliegen.
-
Ich glaube Du meinst einfach nur:
if (scanf("%f", &a) != 1) { printf("Fehler!\n"); exit(1); }
??