Erledigt Danke n stellige Zahl einlesen mit schleife Quersumme bilden
-
Alle guten Programme sind irgendwie rechteckig.
#define lol return __(_)??< lol _?_% '\n' - - __ ( _ / '??/012' ): _; %>
-
CStoll schrieb:
Ich weiß gar nicht, wie ich dieses Kompliment verdient habe.
Du hättest die Diskussion als Moderator unterbinden können, hast du aber nicht, weil du ein GuterTM bist.
-
volkard, dein Code ist so "gut", dass man ihn jedesmal posten sollte, wenn ein TE wieder nach einer Lösung des Problems ohne Eigenleistung seinerseits bittet.
nice one!
Edit: wobei#define lol return int __(int _)??< lol _?_% '\n' - - __ ( _ / '??/012' ): _; ??>
auch noch C++ konform ist.
-
C++ hat keine Trigraphen mehr.
-
EOutOfResources schrieb:
C++ hat keine Trigraphen mehr.
Sagt wer?
-
Wie kommst du drauf, dass es keine Trigraphen mehr gibt?
Siehe N3242 - 2.4Bei VS2010 ist die Unterstützung standardmässig deaktiviert - mit der Compileroption /Zc:trigraphs aktivierst du sie wieder.
-
Ach, ich schloss aus der Tatsache, dass man beim GCC ein Flag setzten muss, dass es bei C++ nicht mehr standardisiert sei.
-
Michael E. schrieb:
markuswenczel schrieb:
Idee?
Hab ich. Du auch? du hast schon alles genannt, was du benötigst. Versuchs mal.
Das Ergebnis stimmt nicht irgendwas ist noch falsch bitte um Hilfe???
/*Aufgabe 2.2
Schreiben Sie ein Programm, das eine dreistellige Zahl einliest
und mit Hilfe der Ziffernsumme überprüft, ob die eingegebene Zahl durch 3 teilbar ist.
*/#include <iostream>
using namespace std;int main()
{
int zahl, qsum;
qsum=0;
cout<<"Bite Zahl eingeben";
cin>>zahl;for(int i=0;i<=3;i++)
{
qsum+=zahl%10;
zahl/=10;
}if(qsum/3!=0)
{
cout<<"Zahl durch drei teilbar"<<endl;
}
else
cout<<"Zahl nicht durch drei teilbar"<<endl;}
-
Besser die Bedingung so gestalten:
if(qsum % 3 == 0) cout << "Zahl durch drei teilbar" << endl; else cout << "Zahl nicht durch drei teilbar" << endl;
-
markuswenczel schrieb:
Das Ergebnis stimmt nicht irgendwas ist noch falsch bitte um Hilfe???
Magst du das "irgendwas" irgendwie erläutern?
-
Zusätzlich zu bmario (du überprüfst, ob qsum < 3, und nicht, ob qsum durch 3 teilbar ist): Deine Schleife läuft einmal zu oft durch: für i = 0, 1, 2, 3. Macht in diesem Fall aber nix kaputt, wenn die Eingabe dreistellig ist.
-
Besser die Bedingung so gestalten:
if(qsum % 3 == 0) cout << "Zahl durch drei teilbar" << endl; else cout << "Zahl nicht durch drei teilbar" << endl;
qsum % 3 == 0? cout<<"Die Zahl ist durch drei teilbar."<<endl: cout<<"Die Zahl ist kein Vielfaches von drei..."<<endl;
Das ist besser.
-
Na da würde ich aber mal gerne die Begründung hören.
-
Michael E. schrieb:
Na da würde ich aber mal gerne die Begründung hören.
Wenn ich mir das ansehe - es passt besser zu dem Stil, den der Thread inzwischen erreicht hat (obwohl es immer noch zu gut lesbar ist)
@markus: Du solltest eventuell noch sicherstellen, daß die Eingabe wirklich dreistellig ist.
-
CStoll schrieb:
@markus: Du solltest eventuell noch sicherstellen, daß die Eingabe wirklich dreistellig ist.
Ähhh...
Es heißt n stellige Zahl einlesen, oder ? :p
-
Zumindest laut dem Eröffnungsbeitrag nicht (auch wenn ich eine Lösung für beliebige Stellenanzahlen bevorzuge - wenn er in seiner Lösung ausnutzt, daß die Zahl dreistellig ist, sollte er auch sicherstellen daß es so ist):
markuswenczel schrieb:
Hallo
Schreiben Sie ein Programm, das eine dreistellige Zahl einliest
und mit Hilfe der Ziffernsumme überprüft, ob die eingegebene Zahl durch 3 teilbar ist.
-
CStoll: Ursprünglich stand im ersten Posting mal n-stellige Zahl.
-
CStoll: Ursprünglich stand im ersten Posting mal n-stellige Zahl.
Es ist doch auch irgendwie egal, Hauptsache es funzt.
-
Hacker schrieb:
Es ist doch auch irgendwie egal, Hauptsache es funkt.
Haha! Wie lange programmierst du schon?
-
Ich?
2 1/2 Monate, oder weniger.