von zweistelliger Zahl hintere ziffer abfragen
-
Wie kann ich in C++ von einer zweistelligen Zahl (z.B. 23) die hintere abfragen (3) ?
Danke, Anfänger01
-
...
int a=23;
if (a%10==3)
cout<<"die zahl endet mit 3"<<endl;
...
-
Dann müsste doch folgendes funktionieren, aber er gibt mir immer nur - nach der letzten Ziffer aus. Ich glaube ich habe irgendwas mit den if's falsch gemacht.
#include <iostream.h> #include <conio.h> void main (void) { int grade; char letter; //Buchstabe char sign; //Zeichen (+,-oder nichts) printf("Write down your numeric grade : \n"); scanf("%i",&grade); if (grade <= 60) { letter = 'F'; //Bei F kommt kein +,- dazu } if (grade >= 61 && grade <= 70) { letter = 'D'; } if (grade >= 71 && grade <= 80) { letter = 'C'; } if (grade >= 81 && grade <= 90) { letter = 'B'; } if (grade >= 91 && grade <= 100) { letter = 'A'; } if (grade % 10 == 4||5||6) { sign = ' '; } if (grade % 10 == 7||8||0||9) { sign = '+'; } if (grade % 10 == 3||2||1) { sign = '-'; //Es wird immer - ausgegeben. } printf("Your letter is %c%c !",letter,sign); getch(); }
Bei der Zahl 81 müsste das programm B- ausgeben, bei 94 A und bei 68 D+.
funzt aber ned. warum?Danke Anfänger01
-
//Edit hab scheiße geschrieben
-
if (grade % 10 == 4||5||6)
4 ist wahr, somit wird 5 und 6 nicht mehr ausgewertet.
bleibtif (grade % 10 == true)
also wenn die letzte Ziffer 1 ist.
Du meintest:
if (grade % 10 == 4||grade % 10 == 5||grade % 10 == 6)
-
if (grade % 10 == 4||5||6)
weisst du was das macht? Ich geb dir einen Tipp, es macht etwas anderes als
if (grade % 10 == 4 || grade % 10 == 5 || grade % 10 == 6)
-
ok, jetzt geht es danke für den Tip!