Veröffentlicht 15. Juli 201015 j Hallo ich bin gerade dabei mich in die hohe Kunst der C++ Programmierung einzuarbeiten Es wurde hier die Aufgabenstellung genannt: Entwickeln Sie eine C++-Anwendung, die den Anwender zur Eingabe einer vierstelligen Zahl auffordert. Das Programm soll daraufhin die Quersumme der vierstelligen Zahl errechnen und das Ergebnis auf den Bildschirm ausgeben Nun erst mal mein Programmcode dazu: #include <iostream> using namespace std; int main() { char zahl[4],Quersumme; //Variablendeklinaration cout<<" Bitte geben sie eine Vierstellige Zahl ein."<<endl; cin>> zahl; Quersumme=zahl[0]+zahl[1]+zahl[2]+zahl[3]; cout<<" Die Zahl ist " <<zahl<<" und deren Quersumme beträgt " <<Quersumme<<"."<<endl; system("Pause"); } nun kommt allerdings bei der Quersumme ein Zeichen raus ╩. Wollte fragen wie ich das beheben kann Danke schon mal
15. Juli 201015 j "zahl" und "Quersumme" sind chars. Das bedeutet, dass Du in Deinem Programm lediglich die Ascii-Werte der einzelnen Zeichen addierst und letztendlich die Summe wieder als Zeichen ausgibst. Beispiel: Eingabe = 1234 1 entspricht 49 2 entspricht 50 3 entspricht 51 4 entspricht 52 49+50+51+52 = 202 (entspricht Ê)
15. Juli 201015 j #include <iostream> #include <string> using namespace std; int main(int argc, char **argv) { int Summe=0; string Quersumme; cout << "Bitte geben Sie eine Zahl ein: " << endl; cin >> Quersumme; for (int i=0; i<Quersumme.size(); i++) { Summe +=(int)Quersumme[i]-'0'; // CAVE! Keine Überprüfung ob Zahl oder nicht! } cout << Summe, cin.get(); } Sollte tun, was Du verlangst
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.