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: