1. Да се напише класа кoја ќе чува информации за еден човек. За секој човек се чуваат
информации за: името, презимето, матичниот број како и за денот месецот и годината на
раѓање. Да се напишат потребните конструктори и функции според дадената main
функција. Дополнително се воведуваат следниве ограничувања:
. Нема негативни вредности за денот, месецот и годината
. Точност на денови во месецот (Јануари 31, февруари 28, март 31...)
. Проверка дали е престапна година (т.е. дали може февруари да има 29 денови)
. Една година е престапна ако е делива со 4 и не е делива со 100 или е делива со 400
. Нема повеќе од 12 месеци
. Нема луѓе кои се родени пред 1900 и после 2012
Како ќе ја промените постпечката main функција за да се постигнат овие ограничувања?
int main(int argc, char *argv[])
{ covek c[2];
c[0].printaj();
c[1].printaj();
c[0].init("Ivanа","Ivanovа",00011,1,1,1990);
c[1].ime = "Petar";
c[1].prezime="Petrov";
c[1].mbr = 01010;
c[1].den= -1;
c[1].mesec = -1;
c[1].godina = -1;
covek nov("Stavre","Stavrov", 0101010, 1, -1, 1000);
c[0].printaj();
c[1].printaj();
nov.printaj();
system("PAUSE");
return EXIT_SUCCESS;
}
јас го напишав ова, ама не ми изгледа многу практично 12 пати да го повторувам делот за месеците и плус main от не ми е во целосна соглнасност со тоа како би требало да биде... ве молам за мала помош
#include <cstdlib>
#include <iostream>
using namespace std;
class covek{
private:
char ime [30];
char prezime [30];
long int maticen;
int den;
int mes;
int god;
public:
covek()
{
strcpy(ime,"");
strcpy(prezime,"");
maticen=0;
den=1;
mes=1;
god=1900;
};
void initime(char*1, char*przime1,long int maticen1)
{
strcpy(ime,ime1);
strcpy(prezime,prezime1);
maticen=maticen1;
}
int initdatum(int den1,int mes1,int god1)
{if(god<1900||god>2012)
{return 0;}
else {
if(mes1==1 && den1<32 && den1>0)
{
den=den1;
mes=mes1;
god=god1;
return 1;
}
if(mes1==2)
{
if((((mes1%4==0)&&(mes1%100!==0))||(mes1%100==0))&&(den1<30)
&&(den1>0))
{
den=den1;
mes=mes1;
god=god1;
return 1;
}
else
if (den1<29 && den1>0)
{
den=den1;
mes=mes1;
god=god1;
return 1;
}
.
.
.
if(mes1==12 && den1<32 && den1>0)
{
den=den1;
mes=mes1;
god=god1;
return 1;
}
if(mes1>12||mes1<0)
return 0;
if(den1>31||den1<0)
return 0;}}
void printaj()....
int main ()...