Zahlensystem
-
hallo an alle,
bin neu hier und hoffe das ihr mir bei meinem problem helfen könnt!!
ich muss ein programm schreiben, das eine zahl einließt (egal welches zahlensystem)!! dann soll das programm rausfinden in welchem zahlensystem die eingabe war dez, hex oder oct und dann in die jeweiligen anderen beiden zahlensysteme umwandeln!!
mein problem hierbei ist, dass ich nicht weiß wie ich es vergleichen soll ob eine dez, hex oder oct zahl eingegeben wurde!!kann mir da jemand helfen??
danke schon mal im vorraus!!
ps: bin nicht so fit in c++!!

-
die ******
sollen "voraus" heißen ^^
-
Was bezahlste denn, wenn dir jemand die Hausaufgaben macht?
-
es sind ja keine hausaufgaben!!
schreibe morgen ne klausur und mir ist das grad mal eingafallen das ich das ja mal programmieren könnte!!!
-
main schrieb:
hallo an alle,
mein problem hierbei ist, dass ich nicht weiß wie ich es vergleichen soll ob eine dez, hex oder oct zahl eingegeben wurde!!z.B. anhand der ersten beiden Zeichen:
0x Hex -> 0xFF
0b Dual -> 0b11111111
0o Oktal -> 0b377Gruss
foodax
-
aber das kann ich doch nicht einfach in die if bedingung reinschreiben!!
int zahl;
cin>>zahl;
if(zahl == ????)
.....
diese bedingung fehlt mir!!
ich weiß ja das Hex mit "0X.." und Oct mit "0.." geschrieben wird!!?????
denke glaub zu kompliziertkannst du mir nochmal weiterhelfen??
-
main schrieb:
diese bedingung fehlt mir!!
ich weiß ja das Hex mit "0X.." und Oct mit "0.." geschrieben wird!!
?????
denke glaub zu kompliziertJa, sehe ich auch so.
Du machst eine Konsoleneingabe als String und wertest die ersten beiden Zeichen aus.
Gruss
foodax
-
hab ich grad mit nem char gemacht
int hexa = 0;
char zahl[2];cout<<"Bitte gebe eine hexadezimale zahl ein (eingabe 0X..: ";
cin>>zahl;
out<<zahl[0]<<zahl[1]<<zahl[2]<<endl; //nur zum testenhexa = zahl[2]; // deise zeile klappt irgendwie nicht!! wenn ich die Zahl 0X5 eingebe schreibt er nun in hexa die zahl 53 rein!! warum denn das??
cout<<hex<<hexa;cout<<"das sind die zahlen in den anderen zahlensystemen"<<endl;
if (zahl[0]=='0' && zahl[1]=='X' || zahl[1]=='x' )
{
cout<<dec<<hexa<<endl;
cout<<oct<<hexa<<endl;
}wie meinst du das mit einem string???
-
Hallo,
in etwa sowas:
char c[16]; std::cin >> c; switch ( c[1] ) { case 'x': break; case 'b': break; case 'd': break; case 'o': break; }Das erste Zeichen ist damit obsolet und ein wenig Plausibilitäten wären hier auch nicht schlecht. Aber damit solltest Du den Anfang haben?
char zahl[2] ist übrigends ein char-Array bestehend aus nur 2 Elementen, also zahl[0] und zahl[1].
Gruss
foodax
-
ok ich danke dir schonmal rechtherzlich!!
werde es mal so versuchen!!
danke dir!!!