fork download
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <cctype>
  4. #include <sstream>
  5.  
  6. using namespace std;
  7.  
  8.  
  9. bool sprawdz_imie(char wyraz[])
  10. {
  11. int k=0;
  12. while(wyraz[k]!=59)
  13. {
  14. k++;
  15. }
  16. for(int g=0; g<k; g++)
  17. {
  18. if(wyraz[g]>90 && wyraz[g]<97 || (wyraz[g]<65 || wyraz[g]>122))
  19. {
  20. return false;
  21. }
  22. }
  23. if(wyraz[0]>=65 && wyraz[0]<=90 && k>=1 && k<=10)
  24. {
  25. return true;
  26. }
  27. else
  28. {
  29. return false;
  30. }
  31. }
  32.  
  33.  
  34. bool sprawdz_nazwisko(char wyraz[])
  35. {
  36.  
  37. int k=0;
  38. while(wyraz[k]!=59)
  39. {
  40. k++;
  41. }
  42. for(int g=0; g<k; g++)
  43. {
  44. if(wyraz[g]>90 && wyraz[g]<97 || (wyraz[g]<65 || wyraz[g]>122))
  45. {
  46. return false;
  47. }
  48. }
  49. if(wyraz[0]>=65 && wyraz[0]<=90 && k>=1 && k<=20)
  50. {
  51. return true;
  52. }
  53. else
  54. {
  55. return false;
  56. }
  57. }
  58.  
  59.  
  60. bool sprawdz_data(char wyraz[])
  61. {
  62. string rok="";
  63. string miesiac="";
  64. string dzien="";
  65. for(int i=0; i<4; i++)
  66. {
  67. rok+=wyraz[i];
  68. }
  69. for(int i=5; i<7; i++)
  70. {
  71. miesiac+=wyraz[i];
  72. }
  73. for(int i=8; i<10; i++)
  74. {
  75. dzien+=wyraz[i];
  76. }
  77.  
  78.  
  79. int j,k,l;
  80. istringstream konwert1(rok);
  81. istringstream konwert2(miesiac);
  82. istringstream konwert3(dzien);
  83. konwert1 >> j;
  84. konwert2 >> k;
  85. konwert3 >> l;
  86.  
  87. if(j>=1900 && j<=2000 && k>=1 && k<=12 && l>=1 && l<=31)return true;
  88. else return false;
  89. }
  90.  
  91.  
  92. int main()
  93. {
  94. char imie[10];
  95. char nazwisko[20];
  96. char data[10];
  97. char tekst1[5];
  98. char tekst2[9];
  99. char tekst3[4];
  100. char tekst4[4];
  101. while(cin>>tekst1>>imie>>tekst2>>nazwisko>>tekst3>>tekst4>>data)
  102. {
  103. if(sprawdz_imie(imie)!=true)cout<<0<<endl;
  104. else if(sprawdz_imie(imie)==true && sprawdz_nazwisko(nazwisko)!=true)cout<<1<<endl;
  105. else if(sprawdz_imie(imie)==true && sprawdz_nazwisko(nazwisko)==true && sprawdz_data(data)!=true)cout<<2<<endl;
  106. else cout<<3<<endl;
  107. }
  108. return 0;
  109. }
  110.  
Success #stdin #stdout 0s 16072KB
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