fork(5) download
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. bool imie_test(string imie)
  7. {
  8. int niepoprawne = 0;
  9.  
  10. if ((imie[0] >= 'A') && (imie[0] <= 'Z'))
  11. {
  12. if (imie.length() > 1)
  13. {
  14. for (int i = 1; i < imie.length() - 1; i++)
  15. {
  16. if ((imie[i] >= 'a') && (imie[i] <= 'z')) i++;
  17. else niepoprawne++;
  18. }
  19. }
  20. }
  21. else niepoprawne++;
  22.  
  23. if (niepoprawne > 0) return 0;
  24. else return 1;
  25. }
  26.  
  27. bool nazwisko_test(string nazwisko)
  28. {
  29. int niepoprawne = 0;
  30.  
  31. if ((nazwisko[0] >= 'A') && (nazwisko[0] <= 'Z'))
  32. {
  33. if (nazwisko.length() > 1)
  34. {
  35. for (int i = 1; i < nazwisko.length() - 1; i++)
  36. {
  37. if ((nazwisko[i] >= 'a') && (nazwisko[i] <= 'z')) {}
  38. else niepoprawne++;
  39. }
  40. }
  41. }
  42. else niepoprawne++;
  43.  
  44. if (niepoprawne > 0) return 0;
  45. else return 1;
  46. }
  47.  
  48. bool data_test(string data)
  49. {
  50. int niepoprawne = 0;
  51.  
  52. //DZIEN
  53. for (int i = 8; i <= 9; i++)
  54. {
  55. if ((data[i] >= '0') && (data[i] <= '9'))
  56. {
  57. if (data[8] <= '3')
  58. {
  59. if (data[8] == '0')
  60. {
  61. if (data[9] == '0') niepoprawne++;
  62. }
  63. else if (data[8] == '3')
  64. {
  65. if ((data[9] >= '0') && (data[9] <= '1')) {}
  66. else niepoprawne++;
  67. }
  68. else
  69. {
  70. if ((data[9] >= '0') && (data[9] <= '9')) {}
  71. else niepoprawne++;
  72. }
  73. }
  74. else niepoprawne++;
  75. }
  76. else niepoprawne++;
  77. }
  78.  
  79. //MIESIAC
  80. for (int i = 5; i <= 5; i++)
  81. {
  82. if ((data[i] >= '0') && (data[i] <= '9'))
  83. {
  84. if (data[5] == '0')
  85. {
  86. if (data[6] > '0') {}
  87. else niepoprawne++;
  88. }
  89. if (data[5] == '1')
  90. {
  91. if (data[6] <= '2') {}
  92. else niepoprawne++;
  93. }
  94. }
  95. else niepoprawne++;
  96. }
  97.  
  98. // ROK
  99. for (int i = 0; i < 4; i++)
  100. {
  101. if ((data[i] >= '0') && (data[i] <= '9'))
  102. {
  103. if ((data[0] >= '1')&& (data[0] <= '2'))
  104. {
  105. if (data[0] == '1')
  106. {
  107. if (data[1] < '9') niepoprawne++;
  108. }
  109. else if (data[0] == '2')
  110. {
  111. if ((data[1] == '0') && (data[2] == '0') && (data[3] == '0')) {}
  112. else niepoprawne++;
  113. }
  114. else niepoprawne++;
  115. }
  116. else niepoprawne++;
  117. }
  118. else niepoprawne++;
  119. }
  120.  
  121. if (niepoprawne > 0) return 0;
  122. else return 1;
  123. }
  124.  
  125.  
  126. int main()
  127. {
  128. int wynik = 3;
  129.  
  130. string formularz;
  131. string imie, nazwisko, data;
  132.  
  133.  
  134.  
  135. while (cin >> formularz >> imie >> formularz >> nazwisko >> formularz >> formularz >> data)
  136. {
  137. //Imie: II; Nazwisko: NN; Data ur.: RRRR-MM-DD
  138.  
  139. imie_test(imie);
  140. nazwisko_test(nazwisko);
  141. data_test(data);
  142.  
  143. if (imie_test(imie) == 0)
  144. {
  145. cout << "0" << endl;
  146. }
  147. else if ((imie_test(imie) == 1) && (nazwisko_test(nazwisko) == 0))
  148. {
  149. cout << "1" << endl;
  150. }
  151. else if ((imie_test(imie) == 1) && (nazwisko_test(nazwisko) == 1) && (data_test(data) == 0))
  152. {
  153. cout << "2" << endl;
  154. }
  155. else
  156. {
  157. cout << "3" << endl;
  158. }
  159. }
  160.  
  161. return 0;
  162. }
Success #stdin #stdout 0s 5620KB
stdin
Standard input is empty
stdout
Standard output is empty