Jonas.M Geschrieben 15. Juli 2010 Geschrieben 15. Juli 2010 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 Zitieren
unbenannt Geschrieben 15. Juli 2010 Geschrieben 15. Juli 2010 "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 Ê) Zitieren
lilith2k3 Geschrieben 15. Juli 2010 Geschrieben 15. Juli 2010 #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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.