Anfänger-Hänger bei Aufgabenstellung?!?
-
Hallo ich fange gerade mit C++ an und hänge im Moment an dieser Aufgabenstellung. Ich weiß nicht wie ich das Ganze aufbauen soll. Kann mich jmd. auf den richtigen Weg bringen
Schreibe ein Programm, das einen Character einliest und den Integerwert des Zeichens und das Zeichen selbst ausgibt. Anschliessend soll das Programm einen Integerwert einlesen und diesen als Zeichen ausgeben.
Was passiert, wenn zu dem eingegebenen int-Wert die Zahl 256 und ein anderes mal 263 addiert wird ?Bekomme ich das mit cin und cout hin, bzw. cin >> intVariable; cout << "INT: " << (int)charVariable <<
Wäre cool wenn mir jmd. den Zeilenablauf mal zeigen würde!
Danke für die Hilfe!!
-
Also ich wuerde es mal so probieren:
int i; char c; cin>>c; cout<<(int)c<<endl; cin>>i; cout<<(char)(i%256); // falls i > 256
aber ausprobiert hab ich es nicht
-
cin>>text; cout<<endl<<(int)text;
Geht ohne Probleme, für die Konvertierung von int zu char wird es etwas schwieriger, da du prüfen mußt, ob es sich um eine gültige Zahl zwischen 0 und 255 handelt.
Wenn du etwas auf den Wert drauf addierst, kommt es maximal zu einem überlauf
-> 255+2=1, hat aber keine weiteren Auswirkungem.
-
also von int nach char funktioniert es noch nicht. Bekomme dort nur Zahlen ausgegeben und soll ja das Zeichen für die Zahl bekommen.
Wie sieht das mit der "cast" funktion aus, würde das gehen und wenn ja, wie?Danke!
-
Na ganz einfach:
int i=65; cout<<(char)i<<endl //A wird ausgegeben
-
Ich bekomme immer noch kein Zeichen raus wenn ich eine Zahl eingebe.
Hier mal mein "code":
int i;
char c;cout << ("Bitte Zeichen eingeben: ") ;
cin >> c;
cout << (int) c <<endl;
cout << ("=========================") <<endl;
cout << ("Bitte Zahl eingeben: ");
cin >> i;
cout << (char) i <<endl; //A wird ausgegebenreturn 0;
Hoffe ihr könnt mir da weiterhelfen.
Nachdem das Zeichen eingegeben wurde, soll ich ja noch eine Zahl eingeben, aber das Programm wird wenn ich eine zweite Zahl eingebe beendet. Was muss ich noch alles hinzufügen?
DANKE!!!
-
Ein
getchar()
damit die Konsole nicht sofort geschlossen wird und du die Ausgabe sehen kannst.
Gruss Entyl Sa
-
Entyl_Sa schrieb:
Ein
getchar()
damit die Konsole nicht sofort geschlossen wird und du die Ausgabe sehen kannst.
Gruss Entyl Sa
oder wenn man schonmal streams benutzt, dann kann man auch gleich
cin.ignore();
nehmen
-
kommt dieses "getchar()" unten hin eine Zeile vor return und steht alleine?
Falls ja passiert genau das gleiche, wie oben beschrieben
wäre super wenn mir mal jmd. den ganzen code schreiben könnte, oder den oben ergänzen würde.
-
cout << ("Bitte Zahl eingeben: "); cin >> i; cout << (char) i <<endl; //A wird ausgegeben cin.clear(); //falls es beim einlesen einen fehler gab, fehlerflags löschen cin.ignore(cin.rdbuf()->inavail()); //lösche alle zeichen aus dem eingabebuffer cin.get(); //und warte, bis jemand enter drückt return 0;
so
oder das programm gleich von einer konsole aus starten