Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include "stdlib.h"
- #include <iostream>
- #include <conio.h>
- using namespace std;
- bool sprawdz_numer_PESEL(char PESEL[12])
- { //sprawdzanie poprawnosci numeru PESEL
- int w[12] = { 1,3,7,9,1,3,7,9,1,3,0,0 }; //tablica wag
- int i, k, s;
- char cyfraT; //pojedynczy znak z numeru (jako tekst)
- int cyfra; //pojednycza cyfra z numeru (jako liczba)
- s = 0;
- for (i = 0; i <= 9; i++)
- {
- cyfraT = PESEL[i]; //pobranie jednego znaku z numeru (jako kod znaku)
- cyfra = atoi(&cyfraT); //konwersja kodu cyfry na jej wartosc numeryczna
- s = s + cyfra*w[i]; //wyznaczanie sumy
- }
- s = s % 10; //dzielenie modulo 10
- k = (10 - s); //wyznaczenie cyfry kontrolnej
- if (atoi(&PESEL[10]) == k) return true;
- //porównanie cyfry kontrolnej z ostatnia cyfra numeru
- else return false;
- }
- bool sprawdz_plec(char PESEL[12])
- { //sprawdzanie plci, true=mezczyzna
- char cyfraT;
- cyfraT = PESEL[9];
- if ((atoi(&cyfraT)%2)!= 0) return true; //jesli nieparzysta - mezczyzna, zwracamy true(prawda)
- else return false;
- }
- int main()
- {
- char PESEL[12] = { 0 }; //12 znaków, ponieważ ostatni powinien byc znakiem pustym
- cout << "Podaj numer PESEL do sprawdzenia : ";
- cin >> PESEL;
- if (sprawdz_numer_PESEL(PESEL))
- {
- cout << "Numer poprawny" << endl;
- if (sprawdz_plec(PESEL))
- {
- cout << "Numer nalezy do mezczyzny";
- }
- else {
- cout << "Numer nalezy do kobiety";
- }
- }
- else { cout << "Numer niepoprawny"; }
- _getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement