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

Informatiker Board » Themengebiete » Informatik in der Schule » C: Programm zu Schaltjahren stürzt ab » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen C: Programm zu Schaltjahren stürzt ab
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
mCPBA
unregistriert
C: Programm zu Schaltjahren stürzt ab Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,

ich habe das Vergnügen, ein Programm in C schreiben zu dürfen, welches mir zu jeder beliebigen Jahreszahl angibt, ob es sich um ein Schaltjahr handelt. Leider verabschiedet sich mein Programm immer nach Eingabe der Jahreszahl:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
#include<stdio.h>

//Festlegen der Jahreszahl
int main(){
	int jahr=0;
	do{
		printf("Bitte positive Jahreszahl eingeben: ");
		scanf("%d", jahr);
	}while(jahr<=0);
	
//Eigentlicher Test
	if(jahr %4 == 0)
	{
		if(jahr %100 == 0)
		{
			if(jahr %400 == 0)
				printf("%d ist ein Schaltjahr.\n", jahr);
			else
				printf("%d ist kein Schaltjahr.\n", jahr);
		}
		else
			printf("%d ist ein Schaltjahr.\n", jahr);
	}
	else
		printf("%d ist kein Schaltjahr. \n", jahr);

	return 0;
}


Starten mit Debugger liefert folgendes:


"Schaltjahr.exe": "C:\Users\mCPBA\Documents\Visual Studio 2010\Projects\Schaltjahr\Debug\Schaltjahr.exe" geladen, Symbole wurden geladen.
"Schaltjahr.exe": "C:\Windows\SysWOW64\ntdll.dll" geladen, Cannot find or open the PDB file
"Schaltjahr.exe": "C:\Windows\SysWOW64\kernel32.dll" geladen, Cannot find or open the PDB file
"Schaltjahr.exe": "C:\Windows\SysWOW64\KernelBase.dll" geladen, Cannot find or open the PDB file
"Schaltjahr.exe": "C:\Windows\SysWOW64\msvcr100d.dll" geladen, Symbole wurden geladen.
Eine Ausnahme (erste Chance) bei 0x5f29effe (msvcr100d.dll) in Schaltjahr.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0x00000000.
Unbehandelte Ausnahme bei 0x5f29effe (msvcr100d.dll) in Schaltjahr.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0x00000000.

Vllt kann mir einer von Euch bei der Fehlersuche behilflich sein Wink

Schöne Grüße
29.07.2011 11:43
anonym
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Debugge doch mal Schritt für Schritt durch, dann siehst du, wo der Fehler ist.
29.07.2011 18:59
nattydread
Grünschnabel


Dabei seit: 28.07.2011
Beiträge: 9

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

du hast bei scanf das "&" bei jahr vergessen Augenzwinkern

abgesehn davon: versuche mal etwas an der effektivität deines programmes zu optimieren..da sind noch einige operationen drin,die man so nicht unbedingt benötigt Augenzwinkern
29.07.2011 19:07 nattydread ist offline E-Mail an nattydread senden Beiträge von nattydread suchen Nehmen Sie nattydread in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Informatik in der Schule » C: Programm zu Schaltjahren stürzt ab