Evo valjda će sad biti sve u redu
Code:
#include <iostream>
using namespace std;
#include <stdio.h>
class datum
{
int d,m,g;
public:
datum();
void postavi(int, int, int);
void ispravnost();
void ispis();
void prijestupna();
void kolko_dana_mjesec();
};
///////////////////////////////////////////////////////////////////
datum::datum(){d=1;m=1;g=1;}
void datum::ispravnost()
{
int je_il_nije=1;
if( (d>31)||(d<1) ) je_il_nije=0;
else if( (m>12)||(m<1) ) je_il_nije=0;
else if(g<0) je_il_nije=0;
if(je_il_nije) cout <<"Datum je ispravan!\n";
else cout <<"Datum nije ispravan!\n";
}
void datum::ispis()
{
printf("Datum je %d.%d.%d\n",d,m,g);
}
void datum::prijestupna()
{
int uvjet;
if( (g%4==0) && (g%100==0) )printf("Godina je prijestupna\n");
else printf("Godina nije prijestupna\n");
}
void datum::postavi(int temp_d, int temp_m, int temp_g)
{
d=temp_d;
m=temp_m;
g=temp_g;
}
void datum::kolko_dana_mjesec()
{
int kolko_ih_je;
switch (m)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
kolko_ih_je=31;break;
case 4:
case 6:
case 9:
case 11:
kolko_ih_je=30;break;
case 2:
kolko_ih_je=28;break;
default: kolko_ih_je=30;
}
printf("%d. mjesec ima %d dana!\n",m,kolko_ih_je);
}
///////////////////////////////////////////////////////////////////
int main()
{
int dan,mjesec,god;
char kaj[5];
float real;
printf("Zadjete dan:\n");scanf("%d",&dan);
printf("Zadjete mjesec:\n");scanf("%d",&mjesec);
printf("Zadjete godinu:\n");scanf("%d",&god);
datum moj_datum;
moj_datum.postavi(dan,mjesec,god);
moj_datum.ispravnost();
moj_datum.ispis();
moj_datum.prijestupna();
moj_datum.kolko_dana_mjesec();
getchar();
getchar();
return 0;
}
SaW3R, ak hoces provjeru mjeseca, dana i godine, da li je ukucana cijelobrojna ili realna vrijednost, sam ubaci umjesto ovog gore maina ovaj:
Code:
int main()
{
int dan,mjesec,god;
char kaj[5];
float real;
while(1)
{
printf("Zadjete dan:\n");
gets(kaj);sscanf(kaj,"%f",&real);
if((dan=int(real))==real) break;
else printf("Dan mora biti cjelobrojan!\n");
}
while(1)
{
printf("Zadjete mjesec:\n");
gets(kaj);sscanf(kaj,"%f",&real);
if((mjesec=int(real))==real) break;
else printf("Mjesec mora biti cjelobrojan!\n");
}
while(1)
{
printf("Zadjete godinu:\n");
gets(kaj);sscanf(kaj,"%f",&real);
if((god=int(real))==real) break;
else printf("Godina mora biti cjelobrojna!\n");
}
datum moj_datum;
moj_datum.postavi(dan,mjesec,god);
moj_datum.ispravnost();
moj_datum.ispis();
moj_datum.prijestupna();
moj_datum.kolko_dana_mjesec();
getchar();
getchar();
return 0;
}