fork(1) download
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. int main() {
  5. string a;
  6. bool errorimie = false, errornazwisko = false, errordata = false;
  7. string imie, nazwisko, rok, miesiac, dzien;
  8. while(cin >> a >> imie >> a >> nazwisko >> a >> a)
  9. {
  10. cin.ignore();
  11. getline(cin, rok, '-');
  12. getline(cin, miesiac, '-');
  13. getline(cin, dzien);
  14.  
  15. if(imie[0] >= 'A' && imie[0] <= 'Z')
  16. {
  17. ;
  18. }
  19. else
  20. {
  21. errorimie = true;
  22. }
  23. if(nazwisko[0] >= 'A' && nazwisko[0] <= 'Z')
  24. {
  25. ;
  26. }
  27. else
  28. {
  29. errornazwisko = true;
  30. }
  31. for(int i = 1; i < nazwisko.length()-1; i++)
  32. {
  33. if(nazwisko[i] >= 'a' && nazwisko[i] <= 'z')
  34. {
  35. ;
  36. }
  37. else
  38. {
  39. errornazwisko = true;
  40. break;
  41. }
  42. }
  43. if(nazwisko.length() > 1)
  44. {
  45. ;
  46. }
  47. else
  48. {
  49. errornazwisko = true;
  50. }
  51. for(int i = 0; i < rok.length(); i++)
  52. {
  53. if(rok[i] < '0' || rok[i] > '9')
  54. {
  55. errordata = true;
  56. }
  57. }
  58. for(int i = 0; i < miesiac.length(); i++)
  59. {
  60. if(miesiac[i] < '0' || miesiac[i] > '9')
  61. {
  62. errordata = true;
  63. }
  64. if(miesiac.length() == 1 && miesiac[0] == '0')
  65. {
  66. errordata = true;
  67. }
  68. }
  69. for(int i = 0; i < dzien.length(); i++)
  70. {
  71. if(dzien[i] < '0' || dzien[i] > '9')
  72. {
  73. errordata = true;
  74. }
  75. if(dzien.length() == 1 && dzien[0] == '0')
  76. {
  77. errordata = true;
  78. }
  79. }
  80. if(rok.length() != 4)
  81. {
  82. errordata = true;
  83. }
  84. if(miesiac.length() != 2)
  85. {
  86. errordata = true;
  87. }
  88. int roki, miesiaci, dzieni;
  89. roki = atoi(rok.c_str());
  90. miesiaci = atoi(miesiac.c_str());
  91. dzieni = atoi(dzien.c_str());
  92. if(roki < 1900 || roki > 2000)
  93. {
  94. errordata = true;
  95. }
  96. if(miesiaci <= 0 || miesiaci > 12)
  97. {
  98. errordata = true;
  99. }
  100. if(dzieni <= 0 || dzieni > 31)
  101. {
  102. errordata = true;
  103. }
  104.  
  105.  
  106. if(dzien[2] != 0)
  107. {
  108. cout << "3\n";
  109. }
  110. else if(errorimie)
  111. {
  112. cout << "0\n";
  113. }
  114. else if(errornazwisko)
  115. {
  116. cout << "1\n";
  117. }
  118. else if(errordata)
  119. {
  120. cout << "2\n";
  121. }
  122. else
  123. {
  124. cout << "3\n";
  125. }
  126. errorimie = false;
  127. errornazwisko = false;
  128. errordata = false;
  129. }
  130. }
Success #stdin #stdout 0.01s 5632KB
stdin
Imie: Roman; Nazwisko: Kowalski6; Data ur.: 1900-01-30
Imie: Andrzej; Nazwisko: Kowal; Data ur.: 1899-10-10
Imie: roman; Nazwisko: No-wak; Data ur.: 1099-11-12
Imie: Alicja; Nazwisko: Nowak; Data ur.: 1990-01-01
stdout
1
2
0
3