Quersumme berechnen
-
Hallo Leute,
habe leider schon wieder eine kleine Frage, bei der ich hoffe, dass ihr mir helfen könnt.
Ich habe mir überlegt, einen Quersummenrechner zu erstellen. Dazu habe ich mir folgenden Quelltext überlegt:
#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int z; int a = 0; int b = 0; cout << "Bitte Zahl eingeben" << endl; cin >> z; while ( z != 0) { a = z - z / 10 * 10; a + b = b z = z / 10 ; } cout << b << endl; system("PAUSE"); return EXIT_SUCCESS; }
bei der Zeile mit z = z / 10; zeigt das Programm mir einen Fehler!
Aber eigentlich ist da doch gar keiner, oder?Für Hilfe wäre ich sehr dankebar!
Euer Goldfit
-
Die Fehler sind in der Zeile da drüber.
-
Zeile vorher Semikolon vergessen
edit: Und das was in der Zeile vorher steht geht auch mit Semikolon nicht. Das Ergebnis einer Integeraddition ist kein Lvalue
-
Und das heißt, dass ichz was genau machen muss, damit es läuft?
Tschuldigung, bin noch nicht so fit in C++.
-
Das heißt, dass dein Ergebnis links vom Gleichheitszeichen zu stehen hat und deine Formel rechts. Und das du sprechende Namen nutzen sollst.
-
Und was bedeutet das, Sprechende Namen?
Edit: Programm funktioniert jetzt! Danke dafür!
Aber ich hätte da noch eine kleine Frage: Wie kann ich programmieren, dass sich dass Programm nach dem Rechnen nicht durch eine beliebige Taste, sondern sich zurücksetzt, sodass man es nicht immer wieder neu aufrufen muss, wenn man mehrere Quersummen haben möchte?
-
goldfit schrieb:
Und was bedeutet das, Sprechende Namen?
Sprechen:
Das Sprechen ist der Vorgang des vorwiegend auf zwischenmenschliche Interaktion ausgerichteten Gebrauchs der menschlichen Stimme, wobei artikulierte Sprachlaute erzeugt werden. Die Bedeutung des Wortes wird auch auf andere Kommunikationsformen ausgeweitet, z. B. mit den Händen in einer Gebärdensprache, mit Gesichtsmuskeln, durch Bilder und Schrift, usw.Namen:
Namen sind, nach der aktuellen wissenschaftlichen Forschung, ein verbaler Zugriffsindex auf eine Informationsmenge über ein Individuum.[1] Sie sind somit einer Person, einem Gegenstand, einer organisatorischen Einheit (z. B. einem Betrieb) oder einem Begriff zugeordnete Informationen, die der Identifizierung und Individualisierung dienen sollen (Funktion der Namenklarheit).
-
danke -.- War jetzt wirklich nötig...
Aber zu meiner anderen Frage: Wie kann ich das Programm sich zurücksetzten lassen, statt sich zu beenden?
-
goldfit schrieb:
danke -.- War jetzt wirklich nötig...
Aber zu meiner anderen Frage: Wie kann ich das Programm sich zurücksetzten lassen, statt sich zu beenden?Dafür brauchst du eine Schleife. Das ist ein sehr grundlegendes und wichtiges Thema, das wage ich nicht dir im Rahmen eines Forenbeitrags zu erklären sondern verweise dich auf Lehrbücher. Guck mal nach den Schlüsselwörtern
for
,while
unddo
.
-
goldfit schrieb:
danke -.- War jetzt wirklich nötig...
Aber zu meiner anderen Frage: Wie kann ich das Programm sich zurücksetzten lassen, statt sich zu beenden?#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { while( 1 ) { int z, quersumme; cout << "Bitte Zahl eingeben" << endl; cin >> z; if( !z ) break; quersumme = 0; while ( z ) { quersumme += z % 10; z /= 10; } cout << quersumme << endl; } return EXIT_SUCCESS; }
-
und was davon macht jetzt das zurücksetzten aus?
danke schonmal
-
goldfit schrieb:
und was davon macht jetzt das zurücksetzten aus?
danke schonmalwhile( 1 ) { ... if( !z ) // irgendein Ende brauchen wir doch break; ... }