Advertisement
aprzybycka

Untitled

Mar 20th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.05 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include "stdlib.h"
  3. #include <iostream>
  4. #include <conio.h>
  5. using namespace std;
  6.  
  7.  
  8. bool sprawdz_numer_PESEL(char PESEL[12])
  9. { //sprawdzanie poprawnosci numeru PESEL
  10. int w[12] = { 1,3,7,9,1,3,7,9,1,3,0,0 }; //tablica wag
  11. int i, k, s;
  12. char cyfraT; //pojedynczy znak z numeru (jako tekst)
  13. int cyfra; //pojednycza cyfra z numeru (jako liczba)
  14.  
  15. s = 0;
  16. for (i = 0; i <= 9; i++)
  17. {
  18. cyfraT = PESEL[i]; //pobranie jednego znaku z numeru (jako kod znaku)
  19. cyfra = atoi(&cyfraT); //konwersja kodu cyfry na jej wartosc numeryczna
  20. s = s + cyfra*w[i]; //wyznaczanie sumy
  21. }
  22. s = s % 10; //dzielenie modulo 10
  23. k = (10 - s); //wyznaczenie cyfry kontrolnej
  24. if (atoi(&PESEL[10]) == k) return true;
  25. //porównanie cyfry kontrolnej z ostatnia cyfra numeru
  26. else return false;
  27. }
  28.  
  29. bool sprawdz_plec(char PESEL[12])
  30. { //sprawdzanie plci, true=mezczyzna
  31. char cyfraT;
  32.  
  33. cyfraT = PESEL[9];
  34. if ((atoi(&cyfraT)%2)!= 0) return true; //jesli nieparzysta - mezczyzna, zwracamy true(prawda)
  35. else return false;
  36. }
  37.  
  38.  
  39. int main()
  40. {
  41. char PESEL[12] = { 0 }; //12 znaków, ponieważ ostatni powinien byc znakiem pustym
  42.  
  43. cout << "Podaj numer PESEL do sprawdzenia : ";
  44. cin >> PESEL;
  45. if (sprawdz_numer_PESEL(PESEL))
  46. {
  47. cout << "Numer poprawny" << endl;
  48. if (sprawdz_plec(PESEL))
  49. {
  50. cout << "Numer nalezy do mezczyzny";
  51. }
  52. else {
  53. cout << "Numer nalezy do kobiety";
  54. }
  55. }
  56. else { cout << "Numer niepoprawny"; }
  57. _getch();
  58. return 0;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement