Frage zu c++ quersumme berechnen

05/30/2011 20:39 Prestino#1
hey,

"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."

Das ist die Aufgabenstellung, weiss jemand von euch wie dies zu lösen ist ?
Mein Freund und ich zerbrechen uns schon ewig den Kopf drüber :P
05/30/2011 20:41 lolmat#2
Ja hat er recht... wir kommen da nicht weiter pls help!
05/30/2011 20:49 False#3
kenne mich nicht gut aus mit c++ guck hier mal:
[Only registered and activated users can see links. Click Here To Register...]
wenn ihr die frage "zusammen habt" dann ist der 2te beitrag erstens spam und zweitens wäre es thanks pushing
05/30/2011 20:55 lolmat#4
naja hilft mir als c++ anfänger nit soo viel, ist mir zu hoch ;D
trotzdem danke :D
05/30/2011 21:01 xNopex#5
Code:
#include <iostream>

using namespace std;

void ZiffernBerechnen(int zahl, int* ziffern, unsigned int stelle)
{
    if(stelle < 4)
    {
        ziffern[stelle] = zahl % 10;
        zahl /= 10;
        ZiffernBerechnen(zahl, ziffern, stelle+1);
    }
}

int main()
{
    int ziffern[4];
    int zahl;
    cout << "4-Stellige Zahl eingeben: ";
    cin >> zahl;
    ZiffernBerechnen(zahl, ziffern, 0);
    int quersumme = 0;
    for(unsigned int i = 0; i < 4; i++)
        quersumme += ziffern[i];
    cout << "Quersumme: " << quersumme;

    return 0;
}
?
05/30/2011 21:01 CroCode#6
Quote:
Originally Posted by .ƒaℓsє. View Post
kenne mich nicht gut aus mit c++ guck hier mal:
[Only registered and activated users can see links. Click Here To Register...]
wenn ihr die frage "zusammen habt" dann ist der 2te beitrag erstens spam und zweitens wäre es thanks pushing
Ist leider nicht ganz das wonach ich gesucht habe :(

Trotzdem Danke für die Hilfe :)
€dit:
Quote:
Originally Posted by xNopex View Post
Code:
#include <iostream>

using namespace std;

void ZiffernBerechnen(int zahl, int* ziffern, unsigned int stelle)
{
    if(stelle < 4)
    {
        ziffern[stelle] = zahl % 10;
        zahl /= 10;
        ZiffernBerechnen(zahl, ziffern, stelle+1);
    }
}

int main()
{
    int ziffern[4];
    int zahl;
    cout << "4-Stellige Zahl eingeben: ";
    cin >> zahl;
    ZiffernBerechnen(zahl, ziffern, 0);
    int quersumme = 0;
    for(unsigned int i = 0; i < 4; i++)
        quersumme += ziffern[i];
    cout << "Quersumme: " << quersumme;

    return 0;
}
?
funzt leider nicht ;(

Greetz.
05/30/2011 21:04 xNopex#7
Doch das "funzt". Ich geb sowas ja nicht raus, ohne das vorher zu testen...
05/30/2011 21:07 CroCode#8
Quote:
Originally Posted by xNopex View Post
Doch das "funzt". Ich geb sowas ja nicht raus, ohne das vorher zu testen...
Geht bei mir trotzdem nicht.... Nach der Eingabe schliesst sich das Fenster einfach ;(
05/30/2011 21:10 xNopex#9
Quote:
Geht bei mir trotzdem nicht.... Nach der Eingabe schliesst sich das Fenster einfach ;(
Ohman... Dann starte den scheiß mit der cmd, oder schreibe "cin.get()" vor dem "return 0"...
05/30/2011 21:13 CroCode#10
Sry mein Fail hatte das "getch();" nach dem return stehen ;O
05/31/2011 11:30 alltimelow92#11
Vielleicht wäre es ratsam für euch wenn ihr euch erstmal die Grundlagen aneignet, copy&paste hat noch niemanden weit gebracht. Ist nicht böse gemeint.
05/31/2011 18:32 CroCode#12
Wir sind ja gerade bei den Grundlagen ;P
05/31/2011 18:39 .BritainAndy#13
Naja ob das die 'optimale' Lösung für euch ist..

mit nem Zeiger.. und Zeiger gehören nicht unbedingt in die Grundlagen.

Es ist sicherlich eine sehr gute Lösung, evtl etwas zu kompliziert ?

Ich mein ihr wusstet nichtmal wie ihr das Konsolenfenster habt stehen lassen können und dachtet deswegen der Code würde nicht funktionieren..
05/31/2011 18:46 CroCode#14
Quote:
Originally Posted by .BritainAndy View Post
Naja ob das die 'optimale' Lösung für euch ist..

mit nem Zeiger.. und Zeiger gehören nicht unbedingt in die Grundlagen.

Es ist sicherlich eine sehr gute Lösung, evtl etwas zu kompliziert ?

Ich mein ihr wusstet nichtmal wie ihr das Konsolenfenster habt stehen lassen können und dachtet deswegen der Code würde nicht funktionieren..
Ja ich hab leider das getch(); nach dem return stehen haben und das nicht bemerkt .....
05/31/2011 19:27 MrSm!th#15
das ganze lässt sich auch in einer schleife ohne funktion und damit ohne zeiger realisieren und doch, zeiger gehören zu den grundlagen.

Code:
int zahl = 0;
 
std::cin >> zahl;

int quer = 0;

	while(zahl) {

		quer += zahl%10;

		zahl /= 10;
	}
Code ist nicht von mir, hab den selbst mal gefunden, als ich gegoogelt hab, weil ich bei der Aufgabe bei highscore auch verzweifelt bin ;O