voor het vak programmeren moet ik een opdracht maken van een altijdlopende kalender. Deze moet bij een ingegeven datum vervolgens de dag kunnen noemen. Ik ben een heel eind gekomen met het maken van deze structuur, maar hij blijft in 4 regels steken op dezelfde fout:
Quote:
numeric constant contains digits beyond the radix
(in regels 36, 37, 68 en 69, deze geef ik in de structuur dik aan)
kan iemand eens kijken of ie ziet waar de fout zich bevind:
#include <stdio.h>
#include <math.h>
int main ()
{
/* Definieer input variabelen */
int dag, maand, jaar, djaar, dagen, x, y, z;
/* Vragen om de datum */
printf("Geef een datum, dd-mm-jjjj, (vanaf 01-01-1900) waarvan u de dag wilt weten:\n");
/* Uitlezen van de datum */
scanf ("%i-%i-%i", &dag, &maand, &jaar);
/* Ijkdatum 01-01-1900 is op een maandag*/
/* Controleren of het een schrikkeljaar is */
if(jaar%4==0) {z=0;} /* als z=0 dan is het jaar een schrikkeljaar*/
/* aantal voorgaande schrikkeljaren (=x) berekenen*/
djaar = jaar-1900;
if(z==0)
{
x=(djaar/4)-1;
if(maand==1) {dagen=0;}
if(maand==2) {dagen=29;}
if(maand==3) {dagen=60;}
if(maand==4) {dagen=90;}
if(maand==5) {dagen=121;}
if(maand==6) {dagen=151;}
if(maand==7) {dagen=182;}
if(maand==8) {dagen=213;}
if(maand==9) {dagen=243;}
if(maand==10) {dagen=274;}
if(maand==11) {dagen=304;}
if(maand==12) {dagen=335;}
dagen = dagen + dag;
y = x * 366 + (jaar - x - 1900)* 365;
y=y+dagen; /* aantal dagen */
if(y%7==0) {printf("dit is een maandag/n");}
if(y%7==1) {printf("dit is een dinsdag/n");}
if(y%7==2) {printf("dit is een woensdag/n");}
if(y%7==3) {printf("dit is een donderdag/n");}
if(y%7==4) {printf("dit is een vrijdag/n");}
if(y%7==5) {printf("dit is een zaterdag/n");}
if(y%7==6) {printf("dit is een zondag/n");}
}
else {
x=(djaar/4);
if(maand==1) dagen=0;
if(maand==2) dagen=28;
if(maand==3) dagen=59;
if(maand==4) dagen=89;
if(maand==5) dagen=120;
if(maand==6) dagen=150;
if(maand==7) dagen=181;
if(maand==8) dagen=212;
if(maand==9) dagen=242;
if(maand==10) dagen=273;
if(maand==11) dagen=303;
if(maand==12) dagen=334;
dagen = dagen + dag;
y = x * 366 + (jaar - x - 1900)* 365;
y=y+dagen; /* aantal dagen */
if(y%7==0) {printf("dit is een maandag/n");}
if(y%7==1) {printf("dit is een dinsdag/n");}
if(y%7==2) {printf("dit is een woensdag/n");}
if(y%7==3) {printf("dit is een donderdag/n");}
if(y%7==4) {printf("dit is een vrijdag/n");}
if(y%7==5) {printf("dit is een zaterdag/n");}
if(y%7==6) {printf("dit is een zondag/n");}
}
return(0);
}
Quote:
numeric constant contains digits beyond the radix
(in regels 36, 37, 68 en 69, deze geef ik in de structuur dik aan)
kan iemand eens kijken of ie ziet waar de fout zich bevind:
#include <stdio.h>
#include <math.h>
int main ()
{
/* Definieer input variabelen */
int dag, maand, jaar, djaar, dagen, x, y, z;
/* Vragen om de datum */
printf("Geef een datum, dd-mm-jjjj, (vanaf 01-01-1900) waarvan u de dag wilt weten:\n");
/* Uitlezen van de datum */
scanf ("%i-%i-%i", &dag, &maand, &jaar);
/* Ijkdatum 01-01-1900 is op een maandag*/
/* Controleren of het een schrikkeljaar is */
if(jaar%4==0) {z=0;} /* als z=0 dan is het jaar een schrikkeljaar*/
/* aantal voorgaande schrikkeljaren (=x) berekenen*/
djaar = jaar-1900;
if(z==0)
{
x=(djaar/4)-1;
if(maand==1) {dagen=0;}
if(maand==2) {dagen=29;}
if(maand==3) {dagen=60;}
if(maand==4) {dagen=90;}
if(maand==5) {dagen=121;}
if(maand==6) {dagen=151;}
if(maand==7) {dagen=182;}
if(maand==8) {dagen=213;}
if(maand==9) {dagen=243;}
if(maand==10) {dagen=274;}
if(maand==11) {dagen=304;}
if(maand==12) {dagen=335;}
dagen = dagen + dag;
y = x * 366 + (jaar - x - 1900)* 365;
y=y+dagen; /* aantal dagen */
if(y%7==0) {printf("dit is een maandag/n");}
if(y%7==1) {printf("dit is een dinsdag/n");}
if(y%7==2) {printf("dit is een woensdag/n");}
if(y%7==3) {printf("dit is een donderdag/n");}
if(y%7==4) {printf("dit is een vrijdag/n");}
if(y%7==5) {printf("dit is een zaterdag/n");}
if(y%7==6) {printf("dit is een zondag/n");}
}
else {
x=(djaar/4);
if(maand==1) dagen=0;
if(maand==2) dagen=28;
if(maand==3) dagen=59;
if(maand==4) dagen=89;
if(maand==5) dagen=120;
if(maand==6) dagen=150;
if(maand==7) dagen=181;
if(maand==8) dagen=212;
if(maand==9) dagen=242;
if(maand==10) dagen=273;
if(maand==11) dagen=303;
if(maand==12) dagen=334;
dagen = dagen + dag;
y = x * 366 + (jaar - x - 1900)* 365;
y=y+dagen; /* aantal dagen */
if(y%7==0) {printf("dit is een maandag/n");}
if(y%7==1) {printf("dit is een dinsdag/n");}
if(y%7==2) {printf("dit is een woensdag/n");}
if(y%7==3) {printf("dit is een donderdag/n");}
if(y%7==4) {printf("dit is een vrijdag/n");}
if(y%7==5) {printf("dit is een zaterdag/n");}
if(y%7==6) {printf("dit is een zondag/n");}
}
return(0);
}