Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Informatik in der Schule » Prorgamm zur Schaltjahrberechnung » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 5 Beiträge
tops

Das kann man wie folgt schreiben, da jede zahl die durch 100 teilbar ist auch durch 4 teilbar ist:

if( (Jahr%4==0 && %400!=0) || (jahr%100=0 && jahr%400!=0)

durch Minimierung Booleschers Ausdrücke:

if(Jahr%400!=0 &&(Jahr%4==0 || Jahr%100=0))

Nicht alles und verknüpfen da liegt dein Fehler, denn 1840 ist durch 4 teilbar, aber nicht durch 100 und daher erfolgt bei dir die Ausgabe kein Schaltjahr.


Entweder ist das Jahr durch
tops

Sprungmarken sind aus der guten alten Basic Zeit und zeugen von schlechtem Stil, gewöhn dir das also erst gar nicht an, es gibt genügend Kontrollstrukturen mit denen jegliche Programmierung auch ohne Sprünge auskommt wo du hier nichtmal Schleifen benötigst wo es die Konstrukte break und continue gibt.

Die Definition von Schaltjahren wie sie hier in Europa verstanden wir ist ganz einfach,

Jahre die durch 4 und 100 teilbar sind aber nicht durch 400, das in einen booleschen Ausdruck mittels Modulo Operator gefasst und das wars.
Karlito

Hallo,

deine Bedingung ist falsch! Sie wird nur wahr, wenn dein Jahr durch 100 und nicht durch 400 teilbar ist (neben deinen anderen Bedingungen).

Goto sollte auch ohne eine weitere Bibliothek funktionieren. Jedoch mit Leerzeichen zwischen goto und der Sprungmarke:
code:
1:
2:
3:
4:
5:
6:
goto Sprungmarke;
//Viel sinnvoller Quelltext
Sprungmarke:
//Quelltext hinter der Sprungmarke


VG,

Karlito
Fulli

achja und was genau für eine Bibliothek muss ich hinzufügen damit er gotoxy versteht?
Fulli Prorgamm zur Schaltjahrberechnung

Meine Frage:
Hallo,
haben eine Hausaufgabe in der Schule bekommen, wo wir ein Struktogramm gegeben haben und daraus ein Programm zur Schaltjahrberechnung schreiben müssen. Es soll ausgegeben werden ob das Jahr ein Schaltjahr ist oder nicht. Das Struktogramm habt ihr im Anhang.
Hab jetzt natürlich auch schon angefangen bischen zu probieren, komm allerdings jetzt nicht weiter:

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#pragma hdrstop
#pragma argsused
int main(void)
{
//lokale Variable
unsigned int jahr;

//Beschreibung

printf ("Programm zur Ausgabe ob ein Jahr ein Schaltjahr ist oder nicht");
//Jahr einlesen

printf ("Jahr eingeben: ");
scanf ("%d", &jahr);

//Berechnung
if (jahr >= 1585 && jahr % 4 == 0 && jahr % 100 == 0 && jahr % 400 != 0)
printf ("Das Jahr ist ein Schaltjahr");
else
printf ("Das Jahr ist kein Schaltjahr");

//Systempausieren

system("PAUSE");

return 0;
}

Das ist mein Quelltext bis jetzt und wenn ich diesen Ausführe und 1840 eingebe kommt allerdings raus dass das Jahr kein Schaltjahr ist obwohl es eines ist..

Hoffe auf Hilfe!

Meine Ideen:
siehe oben

Fulli hat dieses Bild (verkleinerte Version) angehängt:
Struktogramm.png