Ascii zeichen darstellen mit cout <<
-
Hiho,
ich hab nen kleines unsinniges Programm geschrieben, welches einzelne Zahlen quadriert und dann mit einander addiert...
Nun wollt ich halt in der Ausgabe haben:
1²+2²+3²... = ...
Nun wollt ich das Zeichen ² mit dem Asciicode einfügen, aber das funzt nicht so wie ich das möchte.. Ich hab das mit \253 probiert, es kommt aber immer ein anderes Zeichen.´Wie müsst ich das machen, das meine ² auch erscheint?
#include <iostream> using namespace std; class sqrt { private: double x; public: double sqr(double x); }; double sqrt::sqr(double x) { double y; y= x*x; return y; } int main() { sqrt s; double x[4]; x[0]=0; x[1]=0; x[2]=0; x[3]=0; cout << "Geben Sie höchste Zahl ein: "; cin >>x[0]; for(x[2]=0; x[2]<=x[0]; x[2]++) { x[1]=s.sqr(x[2]); x[3]+=x[1]; cout << x[2]<<"\253 + "; } cout<<" = "<<x[3]; return 0; }
-
cout << char(253);
-
hi,
bei mir ist es die 178, aber teste mal bei dir#include <iostream> using namespace std; int main(){ for (int i=128; i<255; i++) cout<<i<<" -> "<<(char)i<<" "; cout<<endl; }
-
ASCII definiert nur 178 Zeichen und das ² gehört nicht dazu.
Die weiteren Zeichen sind leider unterschiedlich auf den Systemen. Da musst du die Kodierung deines Terminals anpassen
-
Danke,
mit
cout << char(253);
hats geklappt
-
Hasta schrieb:
#include <iostream> using namespace std; class sqrt //warum eine klasse? { private: double x; //was macht das? public: double sqr(double x); }; double sqrt::sqr(double x) //warum nicht const? { double y; y= x*x; //lokales x verdeckt klassenmember x return y; }
ich finde
sqr(5);
besser als
sqr sqr;
sqr.sqr(5);denn das Objekt sqr ist irgendwie sinnlos.
-
kingruedi schrieb:
ASCII definiert nur 178 Zeichen [...]
Nicht 128?
-
wenn man oktal oder hexadezimal kann (wird ja leider auch immer seltener) kann man auch cout << '\375' bzw. '\xFD' schreiben ...
-
cd9000 schrieb:
kingruedi schrieb:
ASCII definiert nur 178 Zeichen [...]
Nicht 128?
öh, du hast natürlich recht. Ich meinte natürlich 0178-Zeichen