Wiatm
Napisałam program, ale wychodzi mi problem w miejscu gdzie, deklaruje klase leapYear.
int PESEL::leapYear is not a stacic member of 'class PESEL'
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
class PESEL {
public:
int NrPESEL [11];
int KontrolaPESEL [10];
char PodanyPESEL [11];
int W;
PESEL();
int ObliczSume();
void PobierzPESEL ();
void SprawdzPESEL ();
int RokUrodzenia();
int DzienUrodzenia();
int MiecUrodzenia();
int checkDzien();
int checkMiec();
int leapYear(int rok);
};
PESEL ::PESEL ()
{
KontrolaPESEL[0] = 1;
KontrolaPESEL[1] = 3;
KontrolaPESEL[2] = 7;
KontrolaPESEL[3] = 9;
KontrolaPESEL[4] = 1;
KontrolaPESEL[5] = 3;
KontrolaPESEL[6] = 7;
KontrolaPESEL[7] = 9;
KontrolaPESEL[8] = 1;
KontrolaPESEL[9] = 3;
};
int PESEL :: ObliczSume()
{
int Suma = 0;
int i=0;
int Wynik;
while (i<10)
{
Suma = Suma + NrPESEL[i] * KontrolaPESEL[i];
cout << Suma << endl;
i ++;
}
cout << "To bylo obliczenie" << endl;
cout << "Suma: " << Suma <<endl;
cout<<Suma%10 <<endl;
return Suma % 10;
};
void PESEL :: PobierzPESEL()
{
cout << "Podaj pesel" << endl;
cin >> PodanyPESEL;
};
void PESEL :: SprawdzPESEL()
{
int a=0;
while (a <11)
{
NrPESEL[a] = static_cast<int>(PodanyPESEL[a] - '0');
cout << NrPESEL[a] << endl;
a++;
}
cout << "To byl numer PESEL" << endl;
cout << "a"<<a <<endl;
W = 10 - ObliczSume() ;
if (W ==10)
W = 0;
cout << W << endl;
if(NrPESEL[11] == W)
{
if(checkDzien()&&checkDzien())
{
cout << "Rok Urodznia: " << RokUrodzenia() << endl;
cout << "Miesiac urodzenia: " << MiecUrodzenia()<<endl;
cout << "Dzien urodzienia: " << DzienUrodzenia() << endl;
}
else
{
cout << "Podane dane sa nieprawidlowe";
}
cout << "Pesel jest prawidlowy" << endl;
}
else
{
cout << "Pesel jest nieprawidlowy" << endl;
}
};
int PESEL:: RokUrodzenia()
{
int rok;
int miec;
rok = 10*NrPESEL[0];
rok += NrPESEL[1];
miec = 10*NrPESEL[2];
miec+= NrPESEL[3];
if (miec > 80 && miec < 93) {
rok += 1800;
}
else if (miec > 0 && miec < 13) {
rok += 1900;
}
else if (miec > 20 && miec < 33) {
rok += 2000;
}
else if (miec > 40 && miec < 53) {
rok += 2100;
}
else if (miec > 60 && miec< 73) {
rok += 2200;
}
return rok;
};
int PESEL::MiecUrodzenia()
{
int miec;
miec = 10 * NrPESEL[2];
miec += NrPESEL[3];
if (miec > 80 && miec < 93) {
miec -= 80;
}
else if (miec > 20 && miec < 33) {
miec -= 20;
}
else if (miec > 40 && miec < 53) {
miec -= 40;
}
else if (miec > 60 && miec < 73) {
miec -= 60;
}
return miec;
};
int PESEL::DzienUrodzenia()
{
int dzien;
dzien = 10 * NrPESEL[4];
dzien += NrPESEL[5];
return dzien;
};
int PESEL:: checkMiec()
{
int miec = MiecUrodzenia();
if (miec > 0 && miec < 13) {
return 1;
}
else {
cout << "W peselu podano zle liczby miesiaca" <<endl;
return 0 ;
}
}
int PESEL :: checkDzien()
{
int rok = RokUrodzenia();
int miec = MiecUrodzenia();
int dzien = DzienUrodzenia();
if ((dzien >0 && dzien < 32) &&
(miec == 1 || miec == 3 || miec == 5 ||
miec == 7 || miec == 8 || miec == 10 ||
miec == 12)) {
return 1;
}
else if ((dzien >0 && dzien < 31) &&
(miec == 4 || miec == 6 || miec== 9 ||
miec == 11)) {
return 1;
}
else if ((dzien >0 && dzien < 30 && leapYear(rok)) ||
(dzien >0 && dzien < 29 && !leapYear(rok))) {
return 1;
}
else {
cout << "Dane sa zle" << endl;
return 0;
}
};
int PESEL::leapYear(rok;)
{
int rok
if (rok % 4 == 0 && rok % 100 != 0 || rok % 400 == 0)
return 1;
else
return 0;
};
int main() {
PESEL oPesel;
oPesel.PobierzPESEL();
oPesel.SprawdzPESEL();
_getch();
};
Manuel.Artificer