Du bist nicht eingeloggt.

Login

Pass

Registrieren

Community
Szene & News
Locations
Impressum

Forum / Bits und Bytes

IF- Verzweigung

  -1- -2- -3- vorwärts >>>  
-burnout- - 32
Fortgeschrittener (offline)

Dabei seit 05.2007
79 Beiträge
Geschrieben am: 26.09.2010 um 21:34 Uhr

Hallo :)
Ich mache gerade einen Lehrgang in c++ und probier gerade an einem sinnlosem Programm (zur Übung) rum was aber nicht funktioniert :(. Das programm zeigt an ob das eingegebene Jahr ein Schaltjahr oder kein Schaltjahr ist. Das kann man zwar auch anderst machen, aber ich versuch das mit der If schleife( muss ja so schließlich auch funktioniern oder ) Bitte um Hilfe, was an diesem Code falsch ist :)

#include <iostream>
using namespace std;

int main()
{
int a;
cout << " Jahreszahl"
cin >> a;

if(((((a%4=0)&&(a%100=!0))||(a%4=0))&&(a%100=0))&&(a%400=0))
{
cout << " Schaltjahr" << endl;
}
else
{
cout << "kein Schaltjahr" << endl;
}
}

Karlos1990 - 35
Profi (offline)

Dabei seit 05.2009
412 Beiträge

Geschrieben am: 26.09.2010 um 21:38 Uhr

des wird au niemand verstehen können
scw - 42
Experte (offline)

Dabei seit 09.2002
1836 Beiträge
Geschrieben am: 26.09.2010 um 21:42 Uhr
Zuletzt editiert am: 26.09.2010 um 21:43 Uhr

Versuchs mal mit == anstatt = ;)

EDIT: = ist für Zuweisungen und == ist ein Vergleichsoperator.
Daemon
Fortgeschrittener (offline)

Dabei seit 08.2005
41 Beiträge
Geschrieben am: 26.09.2010 um 21:45 Uhr
Zuletzt editiert am: 26.09.2010 um 21:46 Uhr

=! zu !=
scw - 42
Experte (offline)

Dabei seit 09.2002
1836 Beiträge
Geschrieben am: 26.09.2010 um 21:46 Uhr

Zitat von Daemon:

=! zu !=


Stimmt. Das ist auch noch falsch. Hab ich ganz übersehen.
Katie15 - 35
Fortgeschrittener (offline)

Dabei seit 10.2005
80 Beiträge
Geschrieben am: 26.09.2010 um 22:01 Uhr

Als du den Thread-Titel erstellt hast, meintest du nicht eher eine if-Anweisung anstatt eine if-Verzweigung? ;-)
soviel ich weiß, existiert eine if-Verzweigung nicht ;-)

klein aber oho *gg*

No_BreaK - 32
Fortgeschrittener (offline)

Dabei seit 02.2010
47 Beiträge
Geschrieben am: 26.09.2010 um 22:01 Uhr

Zitat von -burnout-:

Hallo :)
Ich mache gerade einen Lehrgang in c++ und probier gerade an einem sinnlosem Programm (zur Übung) rum was aber nicht funktioniert :(. Das programm zeigt an ob das eingegebene Jahr ein Schaltjahr oder kein Schaltjahr ist. Das kann man zwar auch anderst machen, aber ich versuch das mit der If schleife( muss ja so schließlich auch funktioniern oder ) Bitte um Hilfe, was an diesem Code falsch ist :)

#include <iostream>
using namespace std;

int main()
{
int a;
cout << " Jahreszahl"
cin >> a;

if(((((a%4=0)&&(a%100=!0))||(a%4=0))&&(a%100=0))&&(a%400=0))
{
cout << " Schaltjahr" << endl;
}
else
{
cout << "kein Schaltjahr" << endl;
}
}



1. IF ist keine Schleife.

2. Schleifen sind For, ForEach und While.

3. Leerstellen bringen Übersichtlichkeit:

Zitat:


if ( ( ( ( (a%4=0) && (a%100=! 0) ) || (a%4=0) ) && (a%100=0) ) && (a%400=0) )
{
cout << " Schaltjahr" << endl;
}
else
{
cout << "kein Schaltjahr" << endl;
}


4. Der Debugger ist dein Freund.

5. Brain for the win.
spriggan - 40
Anfänger (offline)

Dabei seit 06.2004
16 Beiträge

Geschrieben am: 26.09.2010 um 22:01 Uhr

Zitat von -burnout-:

[...]If schleife[...]

Ouch

We're from Sweden! Where the MEN are MEN and the WOMEN are MEN! [Soilwork]

Katie15 - 35
Fortgeschrittener (offline)

Dabei seit 10.2005
80 Beiträge
Geschrieben am: 26.09.2010 um 22:03 Uhr

Zitat von spriggan:

Zitat von -burnout-:

[...]If schleife[...]

Ouch

wie wahr ^^

klein aber oho *gg*

Daemon
Fortgeschrittener (offline)

Dabei seit 08.2005
41 Beiträge
Geschrieben am: 26.09.2010 um 22:05 Uhr
Zuletzt editiert am: 26.09.2010 um 22:05 Uhr

Kann man das nicht vereinfachen?

Wikipedia meint dazu:

Außerdem wurde die julianische Schalttagsregelung dahingehend geändert, dass in allen Jahren, deren Jahreszahl durch vier teilbar ist, der 29. Februar als Schalttag eingefügt wird. Eine Ausnahme bilden allerdings die vollen Jahrhundertjahre 1700, 1800, 1900 usw., auch Säkularjahre genannt. Hiervon erhalten nur diejenigen einen Schalttag, deren Jahreszahl durch 400 teilbar ist. Jedes vierte Säkularjahr ist somit ein Schaltjahr. Das gregorianische Kalenderjahr hat eine durchschnittliche Länge von 365,2425 Tagen. In den Jahren 1700, 1800 und 1900 hatte der Februar also nur 28 Tage, in den Jahren 1600 und 2000 dagegen 29.

Das heißt doch:

int y === Jahr... (wer hätte es gedacht)

( (y%4==0 && y%100!=0) || (y%400==0) ) == TRUE => Schaltjahr


Hard_Eddy
Halbprofi (offline)

Dabei seit 02.2010
350 Beiträge

Geschrieben am: 26.09.2010 um 22:06 Uhr

Zitat von Katie15:

Zitat von spriggan:

Zitat von -burnout-:

[...]If schleife[...]

Ouch

wie wahr ^^


Wenn er einen Lehrgang über Volkshochschulen bekommt, kann ich mir sehr gut vorstellen, dass er das so beigebracht bekommt. Totaler Mumpitz aber na gut.

Ja, ich weiß.

Daemon
Fortgeschrittener (offline)

Dabei seit 08.2005
41 Beiträge
Geschrieben am: 26.09.2010 um 22:07 Uhr
Zuletzt editiert am: 26.09.2010 um 22:11 Uhr

Zitat von Hard_Eddy:

Zitat von Katie15:

Zitat von spriggan:


Ouch

wie wahr ^^


Wenn er einen Lehrgang über Volkshochschulen bekommt, kann ich mir sehr gut vorstellen, dass er das so beigebracht bekommt. Totaler Mumpitz aber na gut.


Übertreibts mal nicht. Es ist zwar falsch, aber man hört es einfach viel zu oft. Das ist wie LCD-Display... und wer von euch hat das bitte schön noch nie gesagt......
Manu887 - 38
Fortgeschrittener (offline)

Dabei seit 05.2006
58 Beiträge
Geschrieben am: 26.09.2010 um 22:20 Uhr

Ich bin mir nicht ganz sicher, aber ist "iostreeam" nicht eine Headerdatei? Dann müsste es nämlich "iostream.h" heißen.
beBug - 40
Anfänger (offline)

Dabei seit 01.2007
25 Beiträge
Geschrieben am: 26.09.2010 um 22:23 Uhr

Zitat von Manu887:

Ich bin mir nicht ganz sicher, aber ist "iostreeam" nicht eine Headerdatei? Dann müsste es nämlich "iostream.h" heißen.

nope
Ketzu - 39
Experte (offline)

Dabei seit 11.2008
1535 Beiträge
Geschrieben am: 26.09.2010 um 23:30 Uhr

Zitat von Manu887:

Ich bin mir nicht ganz sicher, aber ist "iostreeam" nicht eine Headerdatei? Dann müsste es nämlich "iostream.h" heißen.


iostream ist zwar eine Headerdatei, aber die c++ Header werden nicht als .h eingebunden. Die .h Header sind aus c-compabilitätsgründen noch vorhanden oder so ähnlich war das.



Eine Meinung vertreten, heißt nicht sie zu teilen, sondern versuchen sie zu verstehen.

bLaDemaSTeR - 39
Halbprofi (offline)

Dabei seit 01.2005
346 Beiträge

Geschrieben am: 27.09.2010 um 00:10 Uhr

im übrigen verzweigt ein IF sehr wohl - JA und NEIN
;-)wenn das kein zweig ist.....
  -1- -2- -3- vorwärts >>>
 

Forum / Bits und Bytes

(c) 1999 - 2026 team-ulm.de - all rights reserved - hosted by ibTEC Team-Ulm

- Presse - Blog - Historie - Partner - Nutzungsbedingungen - Datenschutzerklärung - Jugendschutz -