chillurbrain

Доп. из 13. Тестовое задание..

May 26th, 2016
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.73 KB | None | 0 0
  1. #include <iostream>
  2. #include <map>
  3. using namespace std;
  4. const string a1="register",a2="login",a3="logout",
  5. a4="fail: user already exists",a5= "success: new user added",
  6. a6="fail: no such user",a7="fail: incorrect password",a8="fail: already logged in",a9="success: user logged in",
  7. a10="fail: no such user",a11="fail: already logged out",a12="success: user logged out" ;
  8. class ko
  9. {
  10. public:
  11.      bool register1,login ;
  12.      string password ;
  13.      ko()
  14.      {
  15.           register1=false ;
  16.           login=false ;
  17.      }
  18. };
  19. short n;
  20. map <string,ko> l98 ;
  21. void q1()
  22. {
  23.      string ji,ko ;
  24.      cin>>ji>>ko ;
  25.      if(l98[ji].register1)
  26.           cout<<a4 ;
  27.      else
  28.      {
  29.           l98[ji].register1=true ;
  30.           l98[ji].password=ko ;
  31.           cout<<a5 ;
  32.      }
  33. }
  34. void q2()
  35. {
  36.      string ji,ko ;
  37.      cin>>ji>>ko ;
  38.      if(l98[ji].register1)
  39.      {
  40.           if(l98[ji].login && l98[ji].password==ko)
  41.                cout<<a8 ;
  42.           else if(l98[ji].password==ko)
  43.           {
  44.                cout<<a9 ;
  45.                l98[ji].login=true ;
  46.           }
  47.           else
  48.                cout<<a7 ;
  49.      }
  50.      else
  51.           cout<<a6 ;
  52. }
  53. void q3()
  54. {
  55.       string ji ;
  56.      cin>>ji ;
  57.      if(l98[ji].register1)
  58.      {
  59.           if(l98[ji].login)
  60.           {
  61.                l98[ji].login=false ;
  62.                cout<<a12 ;
  63.           }
  64.           else
  65.                cout<<a11 ;
  66.      }
  67.      else
  68.           cout<<a10 ;
  69. }
  70. void f(string h)
  71. {
  72.      if(h==a1)
  73.           q1();
  74.      else if(h==a2)
  75.           q2() ;
  76.      else
  77.           q3() ;
  78. }
  79. int main()
  80. {
  81.      cin>>n ;
  82.      for(short i=0;i<n;i++)
  83.      {
  84.           string o;
  85.           cin>>o ;
  86.           f(o) ;
  87.           cout<<endl ;
  88.      }
  89.  
  90. }
Advertisement
Add Comment
Please, Sign In to add comment