Sabutay
22-09-2005, 18:52
Hallo
Hab erst neu angefangen mit c zu programmieren.Dafür verwende ich den buch von erlenkötter.
Ich arbeite unter Ubuntu Linux, und als editor verwende ich vim. Den unteren code kompilire ich mit dieser zeile:
gcc -o bsp10018 bsp10018.c
Aber wenn ich es dann ausführe, und dann zum beispiel den jahr 2001 schreibe kommt dieses fehler
Speicherzugriffsfehler
Ich weiss auch net warum das passirt.Es passiert mir zum ersten mal.
Danke im vorraus.
Sabutay
#include <stdio.h>
main(){
int jahr,monat,tage;
printf("\n\t Kalender\n");
printf("\nJahr schreiben:");
scanf("%i",jahr);
printf("\nMonat schreiben :");
scanf("%i",monat);
if (monat >= 1 && monat <= 12 && jahr > 1582){
switch (monat) {
case 2:
if (!((jahr%100)%4) && (jahr%100)
|| !(jahr%400))
tage = 29;
else
tage = 28;
break;
case 2*2:
case 6:
case 9: case 11:
tage = 30;
break;
default:
tage = 31;
}
printf("\n%i hat der Monat %i %i tage",jahr,monat,tage);
}
else
printf("\n Falsche Eingaben ");
}
Hab erst neu angefangen mit c zu programmieren.Dafür verwende ich den buch von erlenkötter.
Ich arbeite unter Ubuntu Linux, und als editor verwende ich vim. Den unteren code kompilire ich mit dieser zeile:
gcc -o bsp10018 bsp10018.c
Aber wenn ich es dann ausführe, und dann zum beispiel den jahr 2001 schreibe kommt dieses fehler
Speicherzugriffsfehler
Ich weiss auch net warum das passirt.Es passiert mir zum ersten mal.
Danke im vorraus.
Sabutay
#include <stdio.h>
main(){
int jahr,monat,tage;
printf("\n\t Kalender\n");
printf("\nJahr schreiben:");
scanf("%i",jahr);
printf("\nMonat schreiben :");
scanf("%i",monat);
if (monat >= 1 && monat <= 12 && jahr > 1582){
switch (monat) {
case 2:
if (!((jahr%100)%4) && (jahr%100)
|| !(jahr%400))
tage = 29;
else
tage = 28;
break;
case 2*2:
case 6:
case 9: case 11:
tage = 30;
break;
default:
tage = 31;
}
printf("\n%i hat der Monat %i %i tage",jahr,monat,tage);
}
else
printf("\n Falsche Eingaben ");
}