Advertisement
Guest User

Untitled

a guest
Jul 26th, 2017
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 30.10 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3. #include<conio.h>
  4. #include<antheader.h>
  5. #include<time.h>
  6. #include<string.h>
  7. #include<fstream>
  8. #include<sstream>
  9. //rf1,rf2,rf3,rf4,rf5,rf6;
  10. FILE *SIFile;
  11. FILE *TempFile;
  12. class   staffinformation
  13. {
  14.     public:
  15.             char id[5],firstname[15],lastname[15],sex[7],phone[10],salary[10];
  16.        
  17. };
  18. staffinformation si;
  19. void fAdminlogin(); //line 30
  20.     void fMenu();//line 207
  21.         void fInput();//line 359
  22.         void fView();//line 572
  23.         void fSearch();//line 668
  24.             void fUpdate();//line 975
  25.             void fDelete();//line 1069
  26. main()
  27. {
  28.     fAdminlogin();
  29. }
  30. void fAdminlogin()
  31. {
  32.     //label r1,r2,r3,r4,rc1,rc2;
  33.     string username,password;
  34.     int i,focus=0;
  35.     char ch;
  36.     foreColor(11);//Light Aqua Color
  37.     //Adminlogin Header
  38.     gotoxy(24.5,3);cout<<"   Staff Management Software   ";
  39.     foreColor(14);//Light Yellow Color
  40.     //Adminlogin Header Box
  41.     //x
  42.     for(i=0;i<31;i++)
  43.     {
  44.         gotoxy(i+24.5,2);cout<<(char)205;
  45.         gotoxy(i+24.5,4);cout<<(char)205;
  46.     }
  47.     //y
  48.     gotoxy(23.5,3);cout<<(char)186;gotoxy(55.5,3);cout<<(char)186;
  49.     foreColor(11);//Light Aqua Color
  50.     //Please Login
  51.     gotoxy(34,8);cout<<"Please Login";
  52.     gotoxy(27,11);cout<<"Username:";gotoxy(27,14);cout<<"Password:";
  53.     foreColor(14);//Light Yellow Color
  54.     //Please Login box
  55.     //x
  56.     for(i=0;i<28;i++)
  57.     {
  58.         gotoxy(i+26,7);cout<<(char)205;
  59.         gotoxy(i+26,9);cout<<(char)205;
  60.         gotoxy(i+26,16);cout<<(char)205;
  61.     }
  62.     //y
  63.     for(i=0;i<8;i++)
  64.     {
  65.         gotoxy(25,i+8);cout<<(char)186;
  66.         gotoxy(54,i+8);cout<<(char)186;
  67.     }
  68.     //coner
  69.     gotoxy(25,7);cout<<(char)201;gotoxy(25,16);cout<<(char)200;
  70.     gotoxy(54,7);cout<<(char)187;gotoxy(54,16);cout<<(char)188;
  71.     gotoxy(25,9);cout<<(char)204;gotoxy(54,9);cout<<(char)185;
  72.     foreColor(11);//Light Aqua Color
  73.     //Username box
  74.     //x
  75.     for(i=0;i<15;i++)
  76.     {
  77.         gotoxy(i+37,10);cout<<(char)196;
  78.         gotoxy(i+37,12);cout<<(char)196;
  79.     }
  80.     //y
  81.     gotoxy(36,11);cout<<(char)179;gotoxy(52,11);cout<<(char)179;
  82.     //coner
  83.     gotoxy(36,10);cout<<(char)218;gotoxy(36,12);cout<<(char)192;
  84.     gotoxy(52,10);cout<<(char)191;gotoxy(52,12);cout<<(char)217;
  85.     foreColor(11);//Light Aqua Color
  86.     //Password box
  87.     //x
  88.     for(i=0;i<15;i++)
  89.     {
  90.             gotoxy(i+37,13);cout<<(char)196;
  91.             gotoxy(i+37,15);cout<<(char)196;
  92.     }
  93.     //y
  94.     gotoxy(36,14);cout<<(char)179;gotoxy(52,14);cout<<(char)179;
  95.     //coner
  96.     gotoxy(36,13);cout<<(char)218;gotoxy(36,15);cout<<(char)192;
  97.     gotoxy(52,13);cout<<(char)191;gotoxy(52,15);cout<<(char)217;
  98.     foreColor(9);//Light Blue Color
  99. rc1:gotoxy(37,11);ch=getch();
  100.     while(1)
  101.     {
  102.         if(ch>=33&&ch<=126)
  103.         {
  104.             username.push_back(ch);
  105.             cout<<ch;
  106.             foreColor(9);//Light Blue Color
  107.             ch=getch();
  108.         }
  109.         else if(ch==8)//8 is backspace ascii code
  110.         {
  111.             if(username.length()==0)
  112.             {
  113.                 goto r1;
  114.             }
  115.             username.erase(username.length()-1,1);
  116.             gotoxy(username.length()+37,11);cout<<' ';
  117.         r1: foreColor(9);//Light Blue Color
  118.             gotoxy(username.length()+37,11);ch=getch();
  119.         }
  120.         else if(ch==13)//13 is enter ascii code
  121.         {
  122.             if(username=="")
  123.             {
  124.                 goto rc1;
  125.             }
  126.             goto r2;
  127.         }
  128.         else
  129.         {
  130.             foreColor(9);//Light Blue Color
  131.             gotoxy(username.length()+37,11);ch=getch();
  132.         }
  133.     }
  134.     r2:
  135. rc2:gotoxy(37,14);ch=getch();
  136.     while(1)
  137.     {
  138.         if(ch>=32&&ch<=127)
  139.         {
  140.             password.push_back(ch);
  141.             cout<<'*';
  142.             foreColor(9);//Light Blue Color
  143.             ch=getch();
  144.         }
  145.         else if(ch==8)//8 is backspace ascii code
  146.         {
  147.             if(password.length()==0)
  148.             {
  149.                 goto r3;
  150.             }
  151.             password.erase(password.length()-1,1);
  152.             gotoxy(password.length()+37,14);cout<<' ';
  153.         r3: foreColor(9);//Light Blue Color
  154.             gotoxy(password.length()+37,14);ch=getch();
  155.         }
  156.         else if(ch==13)//13 is enter ascii code
  157.         {
  158.             if(password=="")
  159.             {
  160.                 goto rc2;
  161.             }
  162.             goto r4;
  163.         }
  164.         else
  165.         {
  166.             foreColor(9);//Light Blue Color
  167.             gotoxy(password.length()+37,14);ch=getch();
  168.         }
  169.     }
  170. r4: if(ToLower(username)=="admin"&&password=="123456")
  171.     {
  172.         foreColor(11);//Light Aqua Color
  173.         gotoxy(35,17);cout<<"Loading";
  174.         delay(500);gotoxy(42,17);cout<<".";delay(500);gotoxy(43,17);cout<<".";delay(500);gotoxy(44,17);cout<<".";
  175.         delay(500);gotoxy(42,17);cout<<"    ";//clear ...
  176.         delay(500);gotoxy(42,17);cout<<".";delay(500);gotoxy(43,17);cout<<".";delay(500);gotoxy(44,17);cout<<".";
  177.         delay(500);gotoxy(42,17);cout<<"    ";//clear ...
  178.         delay(500);gotoxy(42,17);cout<<".";delay(500);gotoxy(43,17);cout<<".";delay(500);gotoxy(44,17);cout<<".";
  179.         delay(500);gotoxy(35,17);cout<<"          ";//clear Loading
  180.         foreColor(10);//Light Green Color
  181.         gotoxy(33.5,17);cout<<"Login Succeed";
  182.         delay(700);
  183.         password.clear();//clear all old string in password
  184.         cls();
  185.         fMenu();
  186.     }
  187.     else
  188.     {
  189.         foreColor(11);//Light Aqua Color
  190.         gotoxy(35,17);cout<<"Loading";
  191.         delay(500);gotoxy(42,17);cout<<".";delay(500);gotoxy(43,17);cout<<".";delay(500);gotoxy(44,17);cout<<".";
  192.         delay(500);gotoxy(35,17);cout<<"          ";//clear Loading
  193.         foreColor(12);//Light Red Color
  194.         gotoxy(25,17);cout<<"Worng username or password...!";
  195.         password.clear();//clear all old string in password
  196.         foreColor(11);//Light Aqua Color
  197.         gotoxy(25.5,19);cout<<"Press any key to try again...";
  198.         getch();
  199.         gotoxy(37,11);cout<<"               ";//clear username
  200.         gotoxy(37,14);cout<<"               ";//clear passwrod
  201.         gotoxy(25,17);cout<<"                              ";//clear Worng password or username
  202.         gotoxy(25.5,19);cout<<"                             ";//clear Press any key to try again...
  203.         goto r1;
  204.    
  205.     }
  206. }
  207. void fMenu()
  208. {
  209.     string Options[]={"Input staff information",
  210.                       "View staff information",
  211.                       "Search/Update/Delete information",
  212.                       "Logout..."
  213.                      };
  214.     int i,j,focus=0;
  215.     char ch;
  216.     foreColor(11);//Light Aqua Color
  217.     //Menu Header
  218.     gotoxy(24.5,3);cout<<"   Staff Management Software   ";
  219.     foreColor(14);//Light Yellow Color
  220.     //Menu Header Box
  221.     //x
  222.     for(i=0;i<31;i++)
  223.     {
  224.         gotoxy(i+24.5,2);cout<<(char)205;
  225.         gotoxy(i+24.5,4);cout<<(char)205;
  226.     }
  227.     //y
  228.     gotoxy(23.5,3);cout<<(char)186;gotoxy(55.5,3);cout<<(char)186;
  229.     foreColor(11);//Light Aqua Color
  230.     //Options
  231.     gotoxy(37,8);cout<<"Menu";
  232.     foreColor(14);//Light Yellow Color
  233.     //Menu box
  234.     //x
  235.     for(i=0;i<39;i++)
  236.     {
  237.         gotoxy(i+20,7);cout<<(char)205;
  238.         gotoxy(i+20,9);cout<<(char)205;
  239.         gotoxy(i+20,16);cout<<(char)205;
  240.     }
  241.     //y
  242.     for(i=0;i<8;i++)
  243.     {
  244.         gotoxy(19,i+8);cout<<(char)186;
  245.         gotoxy(58,i+8);cout<<(char)186;
  246.     }
  247.     //coner
  248.     gotoxy(19,7);cout<<(char)201;gotoxy(19,16);cout<<(char)200;
  249.     gotoxy(58,7);cout<<(char)187;gotoxy(58,16);cout<<(char)188;
  250.     gotoxy(19,9);cout<<(char)204;gotoxy(58,9);cout<<(char)185;
  251.     //List 
  252.     for(i=0,j=10;i<4;i++)
  253.     {  
  254.         j+=1;
  255.         if(i==0)
  256.         {
  257.             foreColor(9);//Light Blue Color
  258.             gotoxy(21,j);cout<<"=>"<<Options[i];
  259.         }
  260.         else
  261.         {
  262.             foreColor(11);//Light Aqua Color
  263.             gotoxy(23,j);cout<<""<<Options[i];
  264.         }
  265.     }
  266.     while(1)
  267.     {
  268.         ch=getch();
  269.         switch(ch)
  270.         {
  271.             case 80://Arrow key down
  272.                         if(focus<3)
  273.                         {
  274.                             focus++;
  275.                         }
  276.                         else
  277.                         {
  278.                             focus=0;
  279.                         }
  280.                         //cls();
  281.                         gotoxy(21,11);cout<<"                                    ";
  282.                         gotoxy(21,12);cout<<"                                    ";
  283.                         gotoxy(21,13);cout<<"                                    ";
  284.                         gotoxy(21,14);cout<<"                                    ";
  285.                         gotoxy(21,15);cout<<"                                    ";
  286.                         j=10;
  287.                         for(i=0;i<4;i++)
  288.                         {
  289.                             j+=1;
  290.                             if(i==focus)
  291.                             {
  292.                                 foreColor(9);//Light Blue Color
  293.                                 gotoxy(21,j);cout<<"=>"<<Options[i];
  294.                             }
  295.                             else
  296.                             {
  297.                                 foreColor(11);//Light Aqua Color
  298.                                 gotoxy(23,j);cout<<""<<Options[i];
  299.                             }
  300.                         }
  301.                 break;
  302.                
  303.             case 72://Arrow key up
  304.                         if(focus>0)
  305.                         {
  306.                             focus--;
  307.                         }
  308.                         else
  309.                         {
  310.                             focus=3;
  311.                         }
  312.                         //cls();
  313.                         gotoxy(21,11);cout<<"                                    ";
  314.                         gotoxy(21,12);cout<<"                                    ";
  315.                         gotoxy(21,13);cout<<"                                    ";
  316.                         gotoxy(21,14);cout<<"                                    ";
  317.                         j=10;
  318.                         for(i=0;i<4;i++)
  319.                         {
  320.                             j+=1;
  321.                             if(i==focus)
  322.                             {
  323.                                 foreColor(9);//Light Blue Color
  324.                                 gotoxy(21,j);cout<<"=>"<<Options[i];
  325.                             }
  326.                             else
  327.                             {
  328.                                 foreColor(11);//Light Aqua Color
  329.                                 gotoxy(23,j);cout<<""<<Options[i];
  330.                             }
  331.                         }
  332.                 break;
  333.                
  334.             case 13://Enter key
  335.                         if(focus==0)
  336.                         {
  337.                             cls();
  338.                             fInput();
  339.                         }
  340.                         else if(focus==1)
  341.                         {
  342.                             cls();
  343.                             fView();
  344.                         }
  345.                         else if(focus==2)
  346.                         {
  347.                             cls();
  348.                             fSearch();
  349.                         }
  350.                         else if(focus==3)
  351.                         {
  352.                             cls();
  353.                             fAdminlogin();
  354.                         }
  355.                 break;
  356.         }
  357.     }
  358. }
  359. void fInput()
  360. {
  361.     //label rc1,rc2,rc3,rc4,rc5,rc6,rw1,rw2,rw3,rw4;
  362.     int focus=0,n=0,i;
  363.     char ch;
  364.     string fn,ln,s,ph,sa;
  365.     foreColor(11);//Light Aqua Color
  366.     //Input Header
  367.     gotoxy(12.5,1);cout<<"Input information";
  368.     foreColor(14);//Light Yellow Color
  369.     //Input box
  370.     //x
  371.     for(int i=0;i<42;i++)
  372.     {
  373.         gotoxy(i,0);cout<<(char)205;
  374.         gotoxy(i,2);cout<<(char)205;
  375.         gotoxy(i,11);cout<<(char)205;
  376.     }
  377.     //y
  378.     for(int i=0;i<11;i++)
  379.     {
  380.         gotoxy(0,i);cout<<(char)186;
  381.         gotoxy(42,i);cout<<(char)186;
  382.     }
  383.     //coner
  384.     gotoxy(0,0);cout<<(char)201;gotoxy(0,11);cout<<(char)200;
  385.     gotoxy(42,0);cout<<(char)187;gotoxy(42,11);cout<<(char)188;
  386.     gotoxy(0,2);cout<<(char)204;gotoxy(42,2);cout<<(char)185;
  387.     foreColor(11);//Light Aqua Color
  388.     gotoxy(1,4);cout<<"ID: ";
  389.     gotoxy(1,5);cout<<"Input Firstname: ";
  390.     gotoxy(1,6);cout<<"Input Lastname: ";
  391.     gotoxy(1,7);cout<<"Input Sex: ";
  392.     gotoxy(1,8);cout<<"Input Phone: ";
  393.     gotoxy(1,9);cout<<"Input Salary: ";
  394.     SIFile=fopen("SIFile.txt","rb");
  395.     while(fread(&si,sizeof(si),1,SIFile))
  396.     {
  397.         n++;
  398.     }
  399.     fclose(SIFile);
  400.     n++;
  401.     foreColor(9);//Light Blue Color
  402.     gotoxy(5,4);cout<<n;
  403. rc1:gotoxy(18,5);getline(cin,fn);
  404.     if(fn=="")
  405.     {
  406.         goto rc1;
  407.     }
  408. rc2:gotoxy(17,6);getline(cin,ln);
  409.     if(ln=="")
  410.     {
  411.         goto rc2;
  412.     }
  413. rc3:gotoxy(12,7);getline(cin,s);
  414.     if(s=="")
  415.     {
  416.         goto rc3;
  417.     }
  418. rc4:gotoxy(14,8);ch=getch();
  419.     while(1)
  420.     {
  421.         if(ch>=48&&ch<=57)
  422.         {
  423.             ph.push_back(ch);
  424.             cout<<ch;
  425.             foreColor(9);//Light Blue Color
  426.             ch=getch();
  427.         }
  428.         else if(ch==8)//8 is backspace ascii code
  429.         {
  430.             if(ph.length()==0)
  431.             {
  432.                 goto rw1;
  433.             }
  434.             ph.erase(ph.length()-1,1);
  435.             gotoxy(ph.length()+14,8);cout<<' ';
  436.         rw1:foreColor(9);//Light Blue Color
  437.             gotoxy(ph.length()+14,8);ch=getch();
  438.         }
  439.         else if(ch==13)//13 is enter ascii code
  440.         {
  441.             if(ph=="")
  442.             {
  443.                 goto rc4;
  444.             }
  445.             goto rw2;
  446.         }
  447.         else
  448.         {
  449.             foreColor(9);//Light Blue Color
  450.             gotoxy(ph.length()+14,8);ch=getch();
  451.         }
  452.     }
  453.     rw2:
  454. rc5:gotoxy(15,9);ch=getch();
  455.     while(1)
  456.     {
  457.         if(ch>=48&&ch<=57)
  458.         {
  459.             sa.push_back(ch);
  460.             cout<<ch;
  461.             foreColor(9);//Light Blue Color
  462.             ch=getch();
  463.         }
  464.         else if(ch==8)//8 is backspace ascii code
  465.         {
  466.             if(sa.length()==0)
  467.             {
  468.                 goto rw3;
  469.             }
  470.             sa.erase(sa.length()-1,1);
  471.             gotoxy(sa.length()+15,9);cout<<' ';
  472.         rw3:foreColor(9);//Light Blue Color
  473.             gotoxy(sa.length()+15,9);ch=getch();
  474.         }
  475.         else if(ch==13)//13 is enter ascii code
  476.         {
  477.             if(sa=="")
  478.             {
  479.                 goto rc5;
  480.             }
  481.             goto rw4;
  482.         }
  483.         else
  484.         {
  485.             foreColor(9);//Light Blue Color
  486.             gotoxy(sa.length()+15,9);ch=getch();
  487.         }
  488.     }
  489.     rw4:
  490.     itoa(n,si.id,10);
  491.     strcpy(si.firstname,fn.c_str());
  492.     strcpy(si.lastname,ln.c_str());
  493.     strcpy(si.sex,s.c_str());
  494.     strcpy(si.phone,ph.c_str());
  495.     strcpy(si.salary,sa.c_str());
  496.     //Write into file
  497.     SIFile=fopen("SIFile.txt","ab");
  498.     fwrite(&si,sizeof(si),1,SIFile);
  499.     fclose(SIFile);
  500.     foreColor(11);//Light Aqua Color
  501.     gotoxy(0,12);cout<<"Do you want to input more staff information?";
  502.     foreColor(9);//Light Blue Color
  503.     gotoxy(0,14);cout<<"=>Yes";
  504.     foreColor(11);//Light Aqua Color
  505.     gotoxy(2,15);cout<<"No";
  506.     while(1)
  507.     {
  508.         ch=getch();
  509.         switch(ch)
  510.         {
  511.             case 80://Arrow key down
  512.                         if(focus<1)
  513.                         {
  514.                             focus++;
  515.                             gotoxy(0,14);cout<<"     ";
  516.                             foreColor(11);//Light Aqua Color
  517.                             gotoxy(2,14);cout<<"Yes";
  518.                             foreColor(9);//Light Blue Color
  519.                             gotoxy(0,15);cout<<"=>No";
  520.                             break;
  521.                         }
  522.                         else
  523.                         {
  524.                             gotoxy(0,15);cout<<"    ";
  525.                             focus=0;
  526.                             foreColor(9);//Light Blue Color
  527.                             gotoxy(0,14);cout<<"=>Yes";
  528.                             foreColor(11);//Light Aqua Color
  529.                             gotoxy(2,15);cout<<"No";
  530.                             break;
  531.                         }
  532.                 //break;
  533.            
  534.             case 72://Arrow key up
  535.                         if(focus>0)
  536.                         {
  537.                             focus--;
  538.                             gotoxy(0,15);cout<<"    ";
  539.                             foreColor(9);//Light Blue Color
  540.                             gotoxy(0,14);cout<<"=>Yes";
  541.                             foreColor(11);//Light Aqua Color
  542.                             gotoxy(2,15);cout<<"No";   
  543.                             break;                 
  544.                         }  
  545.                         else
  546.                         {
  547.                             gotoxy(0,14);cout<<"     ";
  548.                             focus=1;
  549.                             foreColor(11);//Light Aqua Color
  550.                             gotoxy(2,14);cout<<"Yes";
  551.                             foreColor(9);//Light Blue Color
  552.                             gotoxy(0,15);cout<<"=>No";
  553.                             break;
  554.                         }
  555.                 //break;
  556.                
  557.             case 13://Enter key
  558.                         if(focus==0)
  559.                         {
  560.                             cls();
  561.                             fInput();
  562.                         }
  563.                         else if(focus==1)
  564.                         {
  565.                             cls();
  566.                             fMenu();
  567.                         }
  568.                 //break;
  569.         }
  570.     }
  571. }
  572. void fView()
  573. {
  574.     int i,y=5,n=0;
  575.     string ts;
  576.     long totalsalary=0;
  577.     foreColor(11);//Light Aqua Color
  578.     gotoxy(29,1);cout<<"View Staff Information";
  579.     gotoxy(2,3);cout<<"ID";
  580.     gotoxy(18,3);cout<<"Name";
  581.     gotoxy(38,3);cout<<"Sex";
  582.     gotoxy(51,3);cout<<"Phone";
  583.     gotoxy(68,3);cout<<"Salary";
  584.     foreColor(9);//Light Blue Color
  585.     rewind(SIFile);
  586.     SIFile=fopen("SIFile.txt","rb");
  587.     while(fread(&si,sizeof(si),1,SIFile))
  588.     {
  589.         gotoxy(2,y);cout<<si.id;
  590.         gotoxy(8,y);cout<<si.firstname;
  591.         gotoxy(19,y);cout<<si.lastname;
  592.         gotoxy(36,y);cout<<si.sex;
  593.         gotoxy(49,y);cout<<si.phone;
  594.         gotoxy(64,y);cout<<si.salary<<" $";
  595.         ts=string(si.salary);
  596.         totalsalary+=atol(ts.c_str());
  597.         y++;
  598.         n++;
  599.     }
  600.     fclose(SIFile);
  601.     foreColor(11);//Light Aqua Color
  602.     gotoxy(49,n+6);cout<<"Total Salary:";
  603.     foreColor(9);//Light Blue Color
  604.     gotoxy(64,n+6);cout<<totalsalary<<" $";
  605.     foreColor(14);//Light Yellow Color
  606.     //View Staff Information box
  607.     //x
  608.     for(i=0;i<78;i++)
  609.     {
  610.         gotoxy(i+1,0);cout<<(char)205;
  611.         gotoxy(i+1,2);cout<<(char)205;
  612.         gotoxy(i+1,4);cout<<(char)205;
  613.         gotoxy(i+1,n+5);cout<<(char)205;
  614.     }
  615.     for(i=0;i<16;i++)
  616.     {
  617.         gotoxy(i+63,n+7);cout<<(char)205;
  618.     }
  619.     //y
  620.     for(i=0;i<3;i++)
  621.     {
  622.         gotoxy(0,1+i);cout<<(char)186;
  623.         gotoxy(79,1+i);cout<<(char)186;
  624.     }
  625.     for(i=0;i<1;i++)
  626.     {
  627.         gotoxy(6,3);cout<<(char)186;
  628.         gotoxy(34,3);cout<<(char)186;
  629.         gotoxy(44,3);cout<<(char)186;
  630.         gotoxy(62,3);cout<<(char)186;
  631.         gotoxy(62,n+6);cout<<(char)186;
  632.         gotoxy(79,n+6);cout<<(char)186;
  633.     }
  634.     for(i=0;i<n;i++)
  635.     {
  636.         gotoxy(0,5+i);cout<<(char)186;
  637.         gotoxy(6,5+i);cout<<(char)186;
  638.         gotoxy(34,5+i);cout<<(char)186;
  639.         gotoxy(44,5+i);cout<<(char)186;
  640.         gotoxy(62,5+i);cout<<(char)186;
  641.         gotoxy(79,5+i);cout<<(char)186;
  642.     }
  643.     //coner
  644.     gotoxy(0,0);cout<<(char)201;gotoxy(0,4);cout<<(char)204;
  645.     gotoxy(79,0);cout<<(char)187;gotoxy(79,4);cout<<(char)185;
  646.     gotoxy(0,2);cout<<(char)204;gotoxy(79,2);cout<<(char)185;
  647.     gotoxy(0,n+5);cout<<(char)200;gotoxy(62,n+7);cout<<(char)200;
  648.     gotoxy(79,n+7);cout<<(char)188;
  649.     gotoxy(6,n+5);cout<<(char)202;gotoxy(34,n+5);cout<<(char)202;gotoxy(44,n+5);cout<<(char)202;
  650.     gotoxy(79,n+5);cout<<(char)185;gotoxy(62,n+5);cout<<(char)206;
  651.     for(i=0;i<4;i++)
  652.     {
  653.         gotoxy(6,2);cout<<(char)203;
  654.         gotoxy(34,2);cout<<(char)203;
  655.         gotoxy(44,2);cout<<(char)203;
  656.         gotoxy(62,2);cout<<(char)203;
  657.         gotoxy(6,4);cout<<(char)206;
  658.         gotoxy(34,4);cout<<(char)206;
  659.         gotoxy(44,4);cout<<(char)206;
  660.         gotoxy(62,4);cout<<(char)206;
  661.     }
  662.     foreColor(11);//Light Aqua Color
  663.     gotoxy(0,n+6);cout<<"Press any key back to Menu...";
  664.     getch();
  665.     cls();
  666.     fMenu();
  667. }
  668. void fSearch()
  669. {
  670.     //label r1,r3,r,rw1,rw2;
  671.     string id;
  672.     char ch,ids[5];
  673. r3: int i,n=0,y=5,focus=0;
  674.     foreColor(11);//Light Aqua Color
  675.     gotoxy(4,1);cout<<"Search Information";
  676.     gotoxy(1,4);cout<<"Input ID to search:";
  677.     foreColor(14);//Light Yellow Color
  678.     //Search box
  679.     //x
  680.     for(i=0;i<24;i++)
  681.     {
  682.         gotoxy(i+1,0);cout<<(char)205;
  683.         gotoxy(i+1,2);cout<<(char)205;
  684.         gotoxy(i+1,6);cout<<(char)205;
  685.     }
  686.     //y
  687.     for(i=0;i<5;i++)
  688.     {
  689.         gotoxy(0,i+1);cout<<(char)186;
  690.         gotoxy(25,i+1);cout<<(char)186;
  691.     }
  692.     //coner
  693.     gotoxy(0,0);cout<<(char)201;gotoxy(0,6);cout<<(char)200;
  694.     gotoxy(25,0);cout<<(char)187;gotoxy(25,6);cout<<(char)188;
  695.     gotoxy(0,2);cout<<(char)204;gotoxy(25,2);cout<<(char)185;
  696. r:foreColor(9);//Light Blue Color
  697.     gotoxy(21,4);ch=getch();
  698.     while(1)
  699.     {
  700.         if(ch>=48&&ch<=57)
  701.         {
  702.             id.push_back(ch);
  703.             cout<<ch;
  704.             foreColor(9);//Light Blue Color
  705.             ch=getch();
  706.         }
  707.         else if(ch==8)//8 is backspace ascii code
  708.         {
  709.             if(id.length()==0)
  710.             {
  711.                 goto rw1;
  712.             }
  713.             id.erase(id.length()-1,1);
  714.             gotoxy(id.length()+21,4);cout<<' ';
  715.         rw1:foreColor(9);//Light Blue Color
  716.             gotoxy(id.length()+21,4);ch=getch();
  717.         }
  718.         else if(ch==13)//13 is enter ascii code
  719.         {
  720.             if(id=="")
  721.             {
  722.                 goto r;
  723.             }
  724.             goto rw2;
  725.         }
  726.         else
  727.         {
  728.             foreColor(9);//Light Blue Color
  729.             gotoxy(id.length()+21,4);ch=getch();
  730.         }
  731.     }
  732.     rw2:
  733. /*r1:   foreColor(9);//Light Blue Color
  734.     gotoxy(21,4);getline(cin,id);
  735.     if(id=="")
  736.     {
  737.         goto r1;
  738.     }*/
  739.     strcpy(ids,id.c_str());
  740.     SIFile=fopen("SIFile.txt","rb");
  741.     while(fread(&si,sizeof(si),1,SIFile))
  742.     {
  743.         if(atoi(si.id)==atoi(ids))
  744.         {  
  745.             cls();
  746.             gotoxy(2,y);cout<<si.id;
  747.             gotoxy(8,y);cout<<si.firstname;
  748.             gotoxy(19,y);cout<<si.lastname;
  749.             gotoxy(36,y);cout<<si.sex;
  750.             gotoxy(49,y);cout<<si.phone;
  751.             gotoxy(64,y);cout<<si.salary<<" $";
  752.             n++;
  753.         }
  754.     }
  755.     fclose(SIFile);
  756.     if(n==0)
  757.     {
  758.         foreColor(12);//Light Red Color
  759.         gotoxy(0,7);cout<<"ID not found!";
  760.         foreColor(11);//Light Aqua Color
  761.         gotoxy(0,8);cout<<"Do you want to try again?";
  762.         foreColor(9);//Light Blue Color
  763.         gotoxy(0,10);cout<<"=>Yes";
  764.         foreColor(11);//Light Aqua Color
  765.         gotoxy(2,11);cout<<"No";
  766.         while(1)
  767.         {
  768.             ch=getch();
  769.             switch(ch)
  770.             {
  771.                 case 80://Arrow key down
  772.                             if(focus<1)
  773.                             {
  774.                             focus++;
  775.                             gotoxy(0,10);cout<<"     ";
  776.                             foreColor(11);//Light Aqua Color
  777.                             gotoxy(2,10);cout<<"Yes";
  778.                             foreColor(9);//Light Blue Color
  779.                             gotoxy(0,11);cout<<"=>No";
  780.                             break;
  781.                             }
  782.                             else
  783.                             {
  784.                             gotoxy(0,11);cout<<"    ";
  785.                             focus=0;
  786.                             foreColor(9);//Light Blue Color
  787.                             gotoxy(0,10);cout<<"=>Yes";
  788.                             foreColor(11);//Light Aqua Color
  789.                             gotoxy(2,11);cout<<"No";
  790.                             break;
  791.                             }
  792.                     //break;
  793.                                    
  794.                 case 72://Arrow key up
  795.                             if(focus>0)
  796.                             {
  797.                                 focus--;
  798.                                 gotoxy(0,11);cout<<"    ";
  799.                                 foreColor(9);//Light Blue Color
  800.                                 gotoxy(0,10);cout<<"=>Yes";
  801.                                 foreColor(11);//Light Aqua Color
  802.                                 gotoxy(2,11);cout<<"No";   
  803.                                 break;                 
  804.                             }  
  805.                             else
  806.                             {
  807.                                 gotoxy(0,10);cout<<"     ";
  808.                                 focus=1;
  809.                                 foreColor(11);//Light Aqua Color
  810.                                 gotoxy(2,10);cout<<"Yes";
  811.                                 foreColor(9);//Light Blue Color
  812.                                 gotoxy(0,11);cout<<"=>No";
  813.                                 break;
  814.                             }
  815.                     //break;
  816.                                        
  817.                 case 13://Enter key
  818.                             if(focus==0)
  819.                             {
  820.                                 gotoxy(21,4);cout<<"   ";
  821.                                 gotoxy(0,7);cout<<"             ";
  822.                                 gotoxy(0,8);cout<<"                         ";
  823.                                 gotoxy(0,10);cout<<"     ";
  824.                                 gotoxy(0,11);cout<<"     ";
  825.                                 goto r3;                   
  826.                             }
  827.                             else if(focus==1)
  828.                             {
  829.                                 cls();
  830.                                 fMenu();               
  831.                             }
  832.             }
  833.         }
  834.     }
  835.     foreColor(11);//Light Aqua Color
  836.     gotoxy(31.5,1);cout<<"Staff Information";
  837.     gotoxy(2,3);cout<<"ID";
  838.     gotoxy(18,3);cout<<"Name";
  839.     gotoxy(38,3);cout<<"Sex";
  840.     gotoxy(51,3);cout<<"Phone";
  841.     gotoxy(68,3);cout<<"Salary";
  842.     foreColor(14);//Light Yellow Color
  843.     //Search Staff Information box
  844.     //x
  845.     for(i=0;i<78;i++)
  846.     {
  847.         gotoxy(i+1,0);cout<<(char)205;
  848.         gotoxy(i+1,2);cout<<(char)205;
  849.         gotoxy(i+1,4);cout<<(char)205;
  850.         gotoxy(i+1,6);cout<<(char)205;
  851.     }
  852.     //y
  853.     for(i=0;i<5;i++)
  854.     {
  855.         gotoxy(0,1+i);cout<<(char)186;
  856.         gotoxy(79,1+i);cout<<(char)186;
  857.     }
  858.     for(i=0;i<1;i++)
  859.     {
  860.         gotoxy(6,3);cout<<(char)186;
  861.         gotoxy(34,3);cout<<(char)186;
  862.         gotoxy(44,3);cout<<(char)186;
  863.         gotoxy(62,3);cout<<(char)186;
  864.         gotoxy(6,5);cout<<(char)186;
  865.         gotoxy(34,5);cout<<(char)186;
  866.         gotoxy(44,5);cout<<(char)186;
  867.         gotoxy(62,5);cout<<(char)186;
  868.     }
  869.     //coner
  870.     gotoxy(0,0);cout<<(char)201;gotoxy(0,4);cout<<(char)204;
  871.     gotoxy(79,0);cout<<(char)187;gotoxy(79,4);cout<<(char)185;
  872.     gotoxy(0,2);cout<<(char)204;gotoxy(79,2);cout<<(char)185;
  873.     gotoxy(0,6);cout<<(char)200;
  874.     gotoxy(6,6);cout<<(char)202;gotoxy(34,6);cout<<(char)202;
  875.     gotoxy(44,6);cout<<(char)202;gotoxy(62,6);cout<<(char)202;
  876.     gotoxy(79,6);cout<<(char)188;
  877.     for(i=0;i<4;i++)
  878.     {
  879.         gotoxy(6,2);cout<<(char)203;
  880.         gotoxy(34,2);cout<<(char)203;
  881.         gotoxy(44,2);cout<<(char)203;
  882.         gotoxy(62,2);cout<<(char)203;
  883.         gotoxy(6,4);cout<<(char)206;
  884.         gotoxy(34,4);cout<<(char)206;
  885.         gotoxy(44,4);cout<<(char)206;
  886.         gotoxy(62,4);cout<<(char)206;
  887.     }
  888. r4: focus=0;
  889.     foreColor(9);//Light Blue Color
  890.     gotoxy(0,8);cout<<"=>Update information";
  891.     foreColor(11);//Light Aqua Color
  892.     gotoxy(2,9);cout<<"Delete information";
  893.     gotoxy(2,10);cout<<"Back...";
  894.     while(1)
  895.     {
  896.         ch=getch();
  897.         switch(ch)
  898.         {
  899.             case 80://Arrow key down
  900.                         if(focus==0)
  901.                         {
  902.                             focus=1;
  903.                             gotoxy(0,8);cout<<"                   ";
  904.                             foreColor(11);//Light Aqua Color
  905.                             gotoxy(2,8);cout<<"Update information";
  906.                             gotoxy(2,10);cout<<"Back...";
  907.                             foreColor(9);//Light Blue Color
  908.                             gotoxy(0,9);cout<<"=>Delete information";
  909.                             break;
  910.                         }
  911.                         else if(focus==1)
  912.                         {
  913.                             focus=2;
  914.                             gotoxy(0,9);cout<<"                  ";
  915.                             foreColor(11);//Light Aqua Color
  916.                             gotoxy(2,8);cout<<"Update information";
  917.                             gotoxy(2,9);cout<<"Delete information";
  918.                             foreColor(9);//Light Blue Color
  919.                             gotoxy(0,10);cout<<"=>Back...";
  920.                             break;
  921.                         }
  922.                         else if(focus==2)
  923.                         {
  924.                        
  925.                             focus=0;
  926.                             gotoxy(0,10);cout<<"                  ";
  927.                             foreColor(11);//Light Aqua Color
  928.                             gotoxy(2,10);cout<<"Back...";
  929.                             gotoxy(2,9);cout<<"Delete information";
  930.                             foreColor(9);//Light Blue Color
  931.                             gotoxy(0,8);cout<<"=>Update information";
  932.                             break;
  933.                         }
  934.                 //break;
  935.                
  936.             case 72://Arrow key up
  937.                         if(focus==0)
  938.                         {
  939.                             focus=2;
  940.                             gotoxy(0,8);cout<<"                  ";
  941.                             foreColor(11);//Light Aqua Color
  942.                             gotoxy(2,8);cout<<"Update information";
  943.                             gotoxy(2,9);cout<<"Delete information";
  944.                             foreColor(9);//Light Blue Color
  945.                             gotoxy(0,10);cout<<"=>Back...";
  946.                             break;
  947.                         }
  948.                         else if(focus==1)
  949.                         {
  950.                             focus=0;
  951.                             gotoxy(0,9);cout<<"                  ";
  952.                             foreColor(11);//Light Aqua Color
  953.                             gotoxy(2,10);cout<<"Back...";
  954.                             gotoxy(2,9);cout<<"Delete information";
  955.                             foreColor(9);//Light Blue Color
  956.                             gotoxy(0,8);cout<<"=>Update information";
  957.                             break;
  958.                         }
  959.                         else if(focus==2)
  960.                         {
  961.                             focus=1;
  962.                             gotoxy(0,10);cout<<"                   ";
  963.                             foreColor(11);//Light Aqua Color
  964.                             gotoxy(2,8);cout<<"Update information";
  965.                             gotoxy(2,10);cout<<"Back...";
  966.                             foreColor(9);//Light Blue Color
  967.                             gotoxy(0,9);cout<<"=>Delete information";
  968.                             break;
  969.                         }
  970.                 //break;
  971.                        
  972.             case 13://Enter key
  973.                         if(focus==0)
  974.                         {
  975.                             //fUpdate
  976.                             cls();
  977.                             string fn,ln,s,ph,sa;
  978.                             SIFile=fopen("SIFile.txt","rb+");
  979.                             while(fread(&si,sizeof(si),1,SIFile))
  980.                             {
  981.                                 if(strcmp(si.id,ids)==0)
  982.                                 {
  983.                                     fseek(SIFile,-(int)sizeof(si),SEEK_CUR);
  984.                                     //label rc1,rc2,rc3,rc4,rc5,rc6;
  985.                                     int focus=0,i;
  986.                                     char ch;
  987.                                     string fn,ln,s,ph,sa;
  988.                                     foreColor(11);//Light Aqua Color
  989.                                     //Input Header
  990.                                     gotoxy(13,1);cout<<"Update information";
  991.                                     foreColor(14);//Light Yellow Color
  992.                                     //Input box
  993.                                     //x
  994.                                     for(int i=0;i<42;i++)
  995.                                     {
  996.                                         gotoxy(i,0);cout<<(char)205;
  997.                                         gotoxy(i,2);cout<<(char)205;
  998.                                         gotoxy(i,11);cout<<(char)205;
  999.                                     }
  1000.                                     //y
  1001.                                     for(int i=0;i<11;i++)
  1002.                                     {
  1003.                                         gotoxy(0,i);cout<<(char)186;
  1004.                                         gotoxy(42,i);cout<<(char)186;
  1005.                                     }
  1006.                                     //coner
  1007.                                     gotoxy(0,0);cout<<(char)201;gotoxy(0,11);cout<<(char)200;
  1008.                                     gotoxy(42,0);cout<<(char)187;gotoxy(42,11);cout<<(char)188;
  1009.                                     gotoxy(0,2);cout<<(char)204;gotoxy(42,2);cout<<(char)185;
  1010.                                     foreColor(11);//Light Aqua Color
  1011.                                     gotoxy(1,4);cout<<"ID: ";
  1012.                                     gotoxy(5,4);cout<<ids;
  1013.                                     gotoxy(1,5);cout<<"Input Firstname: ";
  1014.                                     gotoxy(1,6);cout<<"Input Lastname: ";
  1015.                                     gotoxy(1,7);cout<<"Input Sex: ";
  1016.                                     gotoxy(1,8);cout<<"Input Phone: ";
  1017.                                     gotoxy(1,9);cout<<"Input Salary: ";
  1018.                                     foreColor(9);//Light Blue Color
  1019.                                 rc1:gotoxy(18,5);getline(cin,fn);
  1020.                                     if(fn=="")
  1021.                                     {
  1022.                                         goto rc1;
  1023.                                     }
  1024.                                     ToUpper(fn);
  1025.                                 rc2:gotoxy(17,6);getline(cin,ln);
  1026.                                     if(ln=="")
  1027.                                     {
  1028.                                         goto rc2;
  1029.                                     }
  1030.                                     ToUpper(ln);
  1031.                                 rc3:gotoxy(12,7);getline(cin,s);
  1032.                                     if(s=="")
  1033.                                     {
  1034.                                         goto rc3;
  1035.                                     }
  1036.                                 rc4:gotoxy(14,8);getline(cin,ph);
  1037.                                     if(ph=="")
  1038.                                     {
  1039.                                         goto rc4;
  1040.                                     }
  1041.                                 rc5:gotoxy(15,9);getline(cin,sa);
  1042.                                     if(sa=="")
  1043.                                     {
  1044.                                         goto rc5;
  1045.                                     }
  1046.                                     strcpy(si.firstname,fn.c_str());
  1047.                                     strcpy(si.lastname,ln.c_str());
  1048.                                     strcpy(si.sex,s.c_str());
  1049.                                     strcpy(si.phone,ph.c_str());
  1050.                                     strcpy(si.salary,sa.c_str());
  1051.                                     //Wite into file
  1052.                                     fwrite(&si,sizeof(si),1,SIFile);
  1053.                                     fclose(SIFile);
  1054.                                 }
  1055.                             }
  1056.                             foreColor(11);//Light Aqua Color
  1057.                             gotoxy(0,12);cout<<"Updating";
  1058.                             delay(500);gotoxy(8,12);cout<<".";delay(500);gotoxy(9,12);cout<<".";delay(500);gotoxy(10,12);cout<<".";
  1059.                             foreColor(10);//Light Green Color
  1060.                             delay(500);gotoxy(0,12);cout<<"Update Completed";
  1061.                             foreColor(11);//Light Aqua Color
  1062.                             gotoxy(0,13);cout<<"Press any key back to menu...";
  1063.                             getch();
  1064.                             cls();
  1065.                             fMenu();   
  1066.                         }
  1067.                         else if(focus==1)
  1068.                         {
  1069.                             //fDelete
  1070.                             //label r2,r4;
  1071.                             int i,n=0;
  1072.                             int focus=0;
  1073.                             foreColor(11);//Light Aqua Color
  1074.                             gotoxy(0,12);cout<<"Are you sure you want to delete this information?";
  1075.                             foreColor(9);//Light Blue Color
  1076.                             gotoxy(0,14);cout<<"=>Yes";
  1077.                             foreColor(11);//Light Aqua Color
  1078.                             gotoxy(2,15);cout<<"No";
  1079.                             while(1)
  1080.                             {
  1081.                                 ch=getch();
  1082.                                 switch(ch)
  1083.                                 {
  1084.                                     case 80://Arrow key down
  1085.                                                 if(focus<1)
  1086.                                                 {
  1087.                                                     focus++;
  1088.                                                     gotoxy(0,14);cout<<"     ";
  1089.                                                     foreColor(11);//Light Aqua Color
  1090.                                                     gotoxy(2,14);cout<<"Yes";
  1091.                                                     foreColor(9);//Light Blue Color
  1092.                                                     gotoxy(0,15);cout<<"=>No";
  1093.                                                     break;
  1094.                                                 }
  1095.                                                 else
  1096.                                                 {
  1097.                                                     gotoxy(0,15);cout<<"    ";
  1098.                                                     focus=0;
  1099.                                                     foreColor(9);//Light Blue Color
  1100.                                                     gotoxy(0,14);cout<<"=>Yes";
  1101.                                                     foreColor(11);//Light Aqua Color
  1102.                                                     gotoxy(2,15);cout<<"No";
  1103.                                                     break;
  1104.                                                 }
  1105.                                         //break;
  1106.                                    
  1107.                                     case 72://Arrow key up
  1108.                                                 if(focus>0)
  1109.                                                 {
  1110.                                                     focus--;
  1111.                                                     gotoxy(0,15);cout<<"    ";
  1112.                                                     foreColor(9);//Light Blue Color
  1113.                                                     gotoxy(0,14);cout<<"=>Yes";
  1114.                                                     foreColor(11);//Light Aqua Color
  1115.                                                     gotoxy(2,15);cout<<"No";   
  1116.                                                     break;                 
  1117.                                                 }  
  1118.                                                 else
  1119.                                                 {
  1120.                                                     gotoxy(0,14);cout<<"     ";
  1121.                                                     focus=1;
  1122.                                                     foreColor(11);//Light Aqua Color
  1123.                                                     gotoxy(2,14);cout<<"Yes";
  1124.                                                     foreColor(9);//Light Blue Color
  1125.                                                     gotoxy(0,15);cout<<"=>No";
  1126.                                                     break;
  1127.                                                 }
  1128.                                         //break;
  1129.                                        
  1130.                                     case 13://Enter key
  1131.                                                 if(focus==0)
  1132.                                                 {
  1133.                                                     gotoxy(0,12);cout<<"                                                 ";
  1134.                                                     gotoxy(0,14);cout<<"     ";
  1135.                                                     gotoxy(2,15);cout<<"  ";
  1136.                                                     SIFile=fopen("SIFile.txt","rb");
  1137.                                                     TempFile=fopen("TempFile.txt","a+b");
  1138.                                                     while(fread(&si,sizeof(si),1,SIFile))
  1139.                                                     {
  1140.                                                         if(strcmp(si.id,ids)!=0)
  1141.                                                         {
  1142.                                                             fwrite(&si,sizeof(si),1,TempFile);
  1143.                                                         }
  1144.                                                     }
  1145.                                                     fclose(SIFile);
  1146.                                                     fclose(TempFile);
  1147.                                                     remove("SIFile.txt");
  1148.                                                     rename("TempFile.txt","SIFile.txt");
  1149.                                                     //Sortdown ID
  1150.                                                     SIFile=fopen("SIFile.txt","rb");
  1151.                                                     TempFile=fopen("TempFile.txt","a+b");
  1152.                                                     while(fread(&si,sizeof(si),1,SIFile))
  1153.                                                     {
  1154.                                                         if(atoi(si.id)<atoi(ids))
  1155.                                                         {
  1156.                                                             fwrite(&si,sizeof(si),1,TempFile);
  1157.                                                         }
  1158.                                                         else if(atoi(si.id)>atoi(ids))
  1159.                                                         {
  1160.                                                             n=atoi(si.id)-1;
  1161.                                                             itoa(n,si.id,10);
  1162.                                                             fwrite(&si,sizeof(si),1,TempFile);
  1163.                                                         }
  1164.                                                     }
  1165.                                                     fclose(SIFile);
  1166.                                                     fclose(TempFile);
  1167.                                                     remove("SIFile.txt");
  1168.                                                     rename("TempFile.txt","SIFile.txt");
  1169.                                                     foreColor(11);//Light Aqua Color
  1170.                                                     gotoxy(0,12);cout<<"Deleting";
  1171.                                                     delay(500);gotoxy(8,12);cout<<".";delay(500);gotoxy(9,12);cout<<".";delay(500);gotoxy(10,12);cout<<".";
  1172.                                                     foreColor(10);//Light Green Color
  1173.                                                     delay(500);gotoxy(0,12);cout<<"Delete Completed";
  1174.                                                     foreColor(11);//Light Aqua Color
  1175.                                                     gotoxy(0,13);cout<<"Press any key back to menu...";
  1176.                                                     getch();
  1177.                                                     cls();
  1178.                                                     fMenu();
  1179.                                                 }
  1180.                                                 else if(focus==1)
  1181.                                                 {
  1182.                                                     gotoxy(0,12);cout<<"                                                 ";
  1183.                                                     gotoxy(0,14);cout<<"     ";
  1184.                                                     gotoxy(0,15);cout<<"     ";
  1185.                                                     gotoxy(0,8);cout<<"                      ";
  1186.                                                     gotoxy(0,9);cout<<"                      ";
  1187.                                                     gotoxy(0,10);cout<<"           ";
  1188.                                                     goto r4;
  1189.                                                 }
  1190.                                         //break;
  1191.                                 }
  1192.                             }
  1193.                         }
  1194.                         else if(focus==2)
  1195.                         {
  1196.                             cls();
  1197.                             fMenu();
  1198.                         }
  1199.                 //break;
  1200.         }
  1201.     }  
  1202. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement