程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 寒假應用軟件設計-用戶登錄系統(c++),寒假用戶登錄

寒假應用軟件設計-用戶登錄系統(c++),寒假用戶登錄

編輯:C++入門知識

寒假應用軟件設計-用戶登錄系統(c++),寒假用戶登錄


用戶登錄系統

   基本要求:

          1)輸入用戶名和用戶密碼,如果用戶名不存在,或者密碼錯誤,提示重新輸入;

          2)根據用戶類型 (管理員、注冊用戶、游客),輸出不同的操作菜單;

          3)有刪除賬號的功能以及修改密碼的功能。

          4)用戶信息保存在文件中

   擴展:   

          1)在管理員界面可以看到各個用戶的賬號,可以對其賬號進行加鎖與解鎖操作。

          2)有相應的圖形界面等,功能越完善可酌情加分。

寒假用c++寫了個用戶登錄系統,參考了@一只快樂的程序猿[Hui] 的學生學籍管理系統(http://www.cnblogs.com/suthui/p/3767252.html)。基本上是依次拷貝成員函數然後增刪一些,也學到了很多東西。

本程序通過三個類:insider(注冊會員)、admin(管理員)、visitor(游客),輸出不同的操作菜單,並將用戶信息保存在文件中。

功能:

1,  注冊用戶可以修改用戶名、修改密碼;

2,  管理員可以顯示、搜索、添加、刪除、加鎖、解鎖用戶;修改用戶密碼;修改管理員名和密碼;加鎖、解鎖管理員。

3,  用戶信息保存在insiderDat.dat中;管理員信息保存在adminDat.dat中。格式為:加鎖狀態 用戶名 密碼,加鎖狀態0表示密碼已加鎖,1表示密碼已上鎖。

4,  初始管理員用戶名和密碼均為admin。

5,  當管理員添加用戶或用戶修改用戶名時,提示用戶名已存在並重新輸入。

  1 //寒假應用軟件設計-用戶管理系統 
  2 #include <iostream>
  3 #include <fstream>
  4 #include <string>
  5 #include <iomanip>
  6 using namespace std;
  7 
  8 const int M=100000;
  9 
 10 string user;
 11 int I_lockstate[M];
 12 string I_name[M];
 13 string I_password[M];
 14 int A_lockstate;
 15 string A_name;
 16 string A_password;
 17 
 18 int home();
 19 int insider_login();
 20 int admin_login();
 21 int visitor_login();
 22 int Imenu(int); 
 23 int Amenu(int);
 24 int Vmenu(int);
 25 string encrypt(string);
 26 string decrypt(string);
 27 string showw10(string);
 28 
 29 class visitor
 30 {
 31     private:
 32         string Vname;
 33     public:
 34         int VchangeName(int a)
 35         {
 36             int i,mark;
 37             cout<<"請輸入新登錄名:";
 38             cin>>user;cin.sync();
 39             cout<<"修改用戶名成功!";
 40             getchar();
 41             return 0;
 42         }
 43 };
 44 
 45 class insider
 46 {
 47     protected:
 48         int Ilockstate;
 49         string Iname; 
 50         string Ipassword;
 51     public:
 52         int IchangeName(int a)
 53         {
 54             int i,mark,repetition;
 55             ifstream infile("insiderDat.dat",ios::in);
 56             for(i=0;!infile.eof();i++)
 57                 infile>>I_lockstate[i]>>I_name[i]>>I_password[i];
 58             mark=i;
 59             infile.close();
 60             cout<<"請輸入新用戶名:";
 61             cin>>Iname;cin.sync();
 62             while(1)
 63             {
 64                 repetition=1;
 65                 for(int j=0;j<=i;j++)
 66                     if(Iname==I_name[j])
 67                         repetition=0;
 68                 if(repetition) break;
 69                 cout<<"用戶名已存在,請重新輸入:";
 70                 cin>>Iname;cin.sync();
 71             }
 72             I_name[a]=Iname;
 73             user=I_name[a];
 74             ofstream outfile("insiderDat.dat",ios::out);
 75             for(i=0;i<mark-1;i++)
 76                 outfile<<I_lockstate[i]<<' '<<I_name[i]<<' '<<I_password[i]<<endl;
 77             outfile.close();
 78             cout<<"修改用戶名成功!";
 79             getchar();
 80             return 0;
 81         }
 82         int IchangePassword(int a)
 83         {
 84             int i,mark;
 85             ifstream infile("insiderDat.dat",ios::in);
 86             for(i=0;!infile.eof();i++)
 87                 infile>>I_lockstate[i]>>I_name[i]>>I_password[i];
 88             mark=i;
 89             infile.close();
 90             cout<<"請輸入新密碼:";
 91             cin>>I_password[a];cin.sync();
 92             if(!I_lockstate[a])
 93                 I_password[a]=encrypt(I_password[a]);
 94             ofstream outfile("insiderDat.dat",ios::out);
 95             for(i=0;i<mark-1;i++)
 96                 outfile<<I_lockstate[i]<<' '<<I_name[i]<<' '<<I_password[i]<<endl;
 97             outfile.close();
 98             cout<<"修改密碼成功!";
 99             getchar();
100             return 0;
101         }
102 };
103 
104 class admin: public insider
105 {
106     private:
107         string Alockstate;
108         string Aname;
109         string Apassword;
110     public:
111         int AchangeName()
112         {
113             cout<<"請輸入管理員新用戶名:";
114             cin>>A_name;cin.sync();
115             user=A_name;
116             ofstream outfile("adminDat.dat",ios::out);
117             outfile<<A_lockstate<<" "<<A_name<<" "<<A_password<<endl;
118             outfile.close();
119             cout<<"修改管理員用戶名成功!";
120             getchar(); 
121             return 0;
122         }
123         int AchangePassword()
124         {
125             cout<<"請輸入管理員新密碼:";
126             cin>>A_password;cin.sync();
127             if(!A_lockstate)
128                 A_password=encrypt(A_password);
129             ofstream outfile("adminDat.dat",ios::out);
130             if(!outfile)
131             {
132                 cerr<<"open error!"<<endl;
133                 getchar();
134                 exit(1);
135             }
136             outfile<<A_lockstate<<" "<<A_name<<" "<<A_password<<endl;
137             outfile.close();
138             cout<<"修改管理員密碼成功!";
139             getchar();
140             return 0;
141         }
142         int Alock()
143         {
144             ifstream infile("adminDat.dat",ios::in);
145             if(!infile)
146             {
147                    cerr<<"超級管理員無此功能!";
148                  getchar();
149                 return 0;
150             }
151             infile.close();
152             if(A_lockstate)
153             {                
154                 A_lockstate=0;
155                 A_password=encrypt(A_password);
156                 ofstream outfile("adminDat.dat",ios::out);
157                   outfile<<A_lockstate<<' '<<user<<' '<<A_password<<endl;
158                 outfile.close();
159                 cout<<"加鎖管理員成功!";
160             }
161             else
162                 cout<<"管理員已處於加鎖狀態!";
163             getchar();
164             return 0;
165         }
166         int Aunlock()
167         {
168             ifstream infile("adminDat.dat",ios::in);
169             if(!infile)
170             {
171                    cerr<<"超級管理員無此功能!";
172                  getchar();
173                 return 0;
174             }
175             infile.close();
176             if(!A_lockstate)
177             {                
178                 A_lockstate=1;
179                 A_password=decrypt(A_password);
180                 ofstream outfile("adminDat.dat",ios::out);
181                   outfile<<A_lockstate<<' '<<user<<' '<<A_password<<endl;
182                 outfile.close();
183                 cout<<"解鎖管理員成功!";
184             }
185             else
186                 cout<<"管理員已處於解鎖狀態!";
187             getchar();
188             return 0;
189         }
190         int Iadd()
191         {
192             int i,repetition;
193             ifstream infile("insiderDat.dat",ios::in);
194             if(infile)
195                {
196                 for(i=0;!infile.eof();i++)
197                     infile>>I_lockstate[i]>>I_name[i]>>I_password[i];
198                 cout<<"請輸入用戶名:";
199                 cin>>Iname;cin.sync();
200                 while(1)
201                 {
202                     repetition=1;
203                     for(int j=0;j<=i;j++)
204                         if(Iname==I_name[j])
205                             repetition=0;
206                     if(repetition) break;
207                     cout<<"用戶名已存在,請重新輸入:";
208                     cin>>Iname;cin.sync();
209                 }
210                }
211                else
212                {
213                    cout<<"請輸入用戶名:";
214                    cin>>Iname;cin.sync();
215               }
216               infile.close();
217             cout<<"請輸入密碼:";
218             cin>>Ipassword;cin.sync();
219             ofstream outfile("insiderDat.dat",ios::app);
220             outfile<<'1'<<' '<<Iname<<' '<<Ipassword<<endl;
221             outfile.close();
222             cout<<"添加用戶成功!";
223             getchar();
224         }
225         int Idelete()
226         {
227             int mark;
228             int k,i;
229             mark = Ishow();
230             if(mark == 0) return 0;
231             if(mark == 2)
232             {
233                 cout<<"刪除失敗!";
234                 getchar();
235                 return 0;
236             }
237             cout<<"請選擇一個刪除序號【放棄0】:";
238             cin>>k;cin.sync();
239             if(k==0) return 0;
240             while(1)
241             {
242                 ofstream outfile("insiderDat.dat",ios::out);
243                 if(!outfile)
244                 {
245                      cerr<<"open error!"<<endl;
246                        exit(1);
247                 }
248                 for(i=0;i<mark-1;i++)
249                     if(i!=k-1)
250                          outfile<<I_lockstate[i]<<' '<<I_name[i]<<' '<<I_password[i]<<endl;
251                 outfile.close();
252                 cout<<"刪除成功!";
253                 getchar();
254                 return 0;
255             }
256         }
257         int IchangeIPassword()
258         {
259             int mark;
260             int k;
261             mark = Ishow();
262             if(mark == 0) return 0;
263             cout<<"請選擇一個序號進行修改【放棄0】:";
264             cin>>k;cin.sync();
265             if(k)
266             {
267                 cout<<"請輸入新密碼:";
268                 cin>>I_password[k-1];cin.sync();
269                 if(!I_lockstate[k-1])
270                     I_password[k-1]=encrypt(I_password[k-1]);
271                 ofstream outfile("insiderDat.dat",ios::out);
272                 for(int i=0;i<mark-1;i++)
273                       outfile<<I_lockstate[i]<<' '<<I_name[i]<<' '<<I_password[i]<<endl;
274                 outfile.close();
275                 cout<<"修改成功!";
276             }
277             getchar();
278             return 0;
279         }
280         int Isearch()
281         {
282             string temp;
283             int i;
284             ifstream infile("insiderDat.dat",ios::in);
285             if(!infile)
286             {
287                 cerr<<"當前無用戶!";
288                 getchar();
289                 return 0;
290             }
291             cout<<"輸入查找的用戶名:";
292             cin>>temp;cin.sync();
293             for(i=0; !infile.eof(); i++)
294             {
295                 infile>>I_lockstate[i]>>I_name[i]>>I_password[i];
296                 if(I_name[i] == temp)
297                 {
298                     cout<<"已找到:"<<endl;
299                     cout<<"加鎖狀態:"<<setw(10)<<I_lockstate[i]<<endl;
300                     cout<<"用戶名:  "<<setw(10)<<I_name[i]<<endl;
301                     cout<<"密碼:    "<<setw(10)<<I_password[i]<<endl;
302                     infile.close();
303                     system("pause");
304                     return 0;
305                 }
306             }
307             cout<<"查無此項!";
308             getchar();
309             infile.close();
310         }
311         int Ishow()
312         {
313             int mark,i;
314             ifstream infile("insiderDat.dat",ios::in);
315             if(!infile)
316             {
317                 cout<<"當前無用戶!";
318                 getchar();
319                 return 0;
320             }
321             cout<<"      序號   加鎖狀態     用戶名       密碼"<<endl;
322             for(i=0; !infile.eof(); i++)
323                 infile>>I_lockstate[i]>>I_name[i]>>I_password[i];
324             mark=i;
325             for(i=0; i<mark-1;i++)
326             {
327                 cout<<setw(10)<<i+1<<' '
328                     <<setw(10)<<I_lockstate[i]<<' '
329                     <<setw(10)<<showw10(I_name[i])<<' '
330                     <<setw(10)<<showw10(I_password[i])<<endl;
331             }
332             infile.close();
333             system("pause");
334             return mark;
335         }
336         int Ilock()
337         {
338             int mark;
339             int k;
340             mark = Ishow();
341             if(mark == 0) return 0;
342             cout<<"請選擇一個序號進行加鎖【放棄0】:";
343             cin>>k;cin.sync();
344             if(k&&k<mark)
345             {
346                 if(I_lockstate[k-1]==1)
347                 {                
348                     I_lockstate[k-1]=0;
349                     I_password[k-1]=encrypt(I_password[k-1]);
350                     ofstream outfile("insiderDat.dat",ios::out);
351                     for(int i=0;i<mark-1;i++)
352                           outfile<<I_lockstate[i]<<' '<<I_name[i]<<' '<<I_password[i]<<endl;
353                     outfile.close();
354                     cout<<"加鎖該用戶成功!"<<endl;
355                 }
356                 else
357                     cout<<"該用戶已處於加鎖狀態!"<<endl;
358             }
359             system("pause");
360             return 0;
361         }
362         int Iunlock()
363         {
364             int mark;
365             int k;
366             mark = Ishow();
367             if(mark == 0) return 0;
368             cout<<"請選擇一個序號進行解鎖【放棄0】:";
369             cin>>k;cin.sync();
370             if(k&&k<mark)
371             {
372                 if(I_lockstate[k-1]==0)
373                 {                
374                     I_lockstate[k-1]=1;
375                     I_password[k-1]=decrypt(I_password[k-1]);
376                     ofstream outfile("insiderDat.dat",ios::out);
377                     for(int i=0;i<mark-1;i++)
378                           outfile<<I_lockstate[i]<<' '<<I_name[i]<<' '<<I_password[i]<<endl;
379                     outfile.close();
380                     cout<<"解鎖該用戶成功!"<<endl;
381                 }
382                 else
383                     cout<<"該用戶已處於解鎖狀態!"<<endl;
384             }
385             system("pause");
386             return 0;
387         }
388 };
389 
390 
391 
392 int main()
393 {
394     system("color 09");
395     home();
396     return 0;
397 }
398 
399 int home()
400 {
401     char n;
402     int Mark;
403     while(1)
404     {
405         system("cls");
406         Mark=1;
407         cout<<"**********************************************************************"<<endl;
408         cout<<"*                                                                    *"<<endl;
409         cout<<"*                        ★用戶登錄系統★                            *"<<endl;
410         cout<<"*                                                                    *"<<endl;
411         cout<<"**********************************************************************"<<endl;
412         cout<<"*                                                                    *"<<endl;
413         cout<<"*                       請選擇您的用戶類型                           *"<<endl;
414         cout<<"*                                                                    *"<<endl;
415         cout<<"*               用戶類型                 請輸入                      *"<<endl;
416         cout<<"*                                                                    *"<<endl;
417         cout<<"*                ◆ 注冊用戶               1                         *"<<endl;
418         cout<<"*                ◆ 管理員                 2                         *"<<endl;
419         cout<<"*                ◆ 游客                   3                         *"<<endl;
420         cout<<"*                                                                    *"<<endl;
421         cout<<"**********************************************************************"<<endl;
422         cout<<"*                                                                    *"<<endl;
423         cout<<"*               退出管理系統               0                         *"<<endl;
424         cout<<"*                                                                    *"<<endl;
425         cout<<"**********************************************************************"<<endl;
426          cout<<"請選擇功能:";
427         while(Mark)
428         {
429             cin>>n;cin.sync();
430             switch(n)
431             {
432                 case '1': Imenu(insider_login());Mark=0;break;
433                 case '2': Amenu(admin_login());Mark=0;break;
434                 case '3': Vmenu(visitor_login());Mark=0;break;
435                 case '0': exit(0);
436                 default : cout<<"\n輸入有誤,請重新輸入:";
437             }
438         }
439     }
440     return 0;
441 }
442 
443 int insider_login()
444 {
445     string password;
446     system("cls");
447     ifstream infile("insiderDat.dat",ios::in);
448     if(!infile)
449     {
450         cerr<<"\n\n\n\n\n\n                    系統未開放使用!";
451         getchar();
452         return -1;
453     }
454     infile.close();
455     cout<<"\n\n\n"<<endl;
456     cout<<"                ***********************************"<<endl;
457     cout<<"                *                                 *"<<endl;
458     cout<<"                *          ★用戶登錄系統 ★      *"<<endl;
459     cout<<"                *            注冊用戶登錄         *"<<endl;
460     cout<<"                ***********************************"<<endl;
461     while(1)
462     {
463         cout<<"\n                  用戶名:";
464         cin>>user;cin.sync();
465         cout<<"                  密碼:";
466         cin>>password;cin.sync();
467         ifstream infile("insiderDat.dat",ios::in);
468         for(int i=0;!infile.eof();i++)
469         {
470             infile>>I_lockstate[i]>>I_name[i]>>I_password[i];
471             if(user == I_name[i]&&(I_lockstate[i]&&password == I_password[i]||!I_lockstate[i]&&password == decrypt(I_password[i])))
472             {
473                 cout<<"\n                  登錄成功!";
474                 getchar();
475                 return i;
476             }
477         }
478         cout<<"\n                  用戶名或密碼錯誤..."<<endl;
479         infile.close();
480     }
481 }
482 
483 int admin_login()
484 {
485     int i;
486     string password;
487     system("cls");
488     cout<<"\n\n\n"<<endl;
489     cout<<"                ***********************************"<<endl;
490     cout<<"                *                                 *"<<endl;
491     cout<<"                *       ★用戶登錄管理系統★      *"<<endl;
492     cout<<"                *            管理員登錄           *"<<endl;
493     cout<<"                ***********************************"<<endl;
494     ifstream infile("adminDat.dat",ios::in);
495     if(!infile)
496     {
497         A_name="admin";
498         A_lockstate=1; 
499         cout<<"\n                 超級用戶:";
500         cin>>user; cin.sync();
501         if(user=="admin")
502         {
503             cout<<"                 超級密碼:";
504             while(1)
505             {
506                 cin>>password;cin.sync();
507                 A_password="admin";
508                 if(password == A_password)
509                 {
510                     cout<<"\n                 登錄成功!";
511                     A_lockstate=1;
512                     getchar();
513                     return 1;
514                 }
515                 else
516                     cout<<"\n                 密碼錯誤請重新輸入:";cin.sync();
517             }
518         }
519         else
520         {
521             system("cls");
522             cerr<<"\n\n\n\n\n\n                    無權限使用!";
523             getchar();
524             return 0;
525         }
526     }
527     else
528     {
529         infile.close();
530         while(1)
531         {
532             cout<<"\n                  用戶名:";
533             cin>>user;cin.sync();
534             cout<<"                  密碼:";
535             cin>>password;cin.sync();
536             ifstream infile("adminDat.dat",ios::in);
537             infile>>A_lockstate>>A_name>>A_password;
538             if(user == A_name&&(A_lockstate&&password == A_password||!A_lockstate&&password == decrypt(A_password)))
539             {
540                 cout<<"\n                  登錄成功!";
541                 getchar();
542                 infile.close();
543                 return 1;
544             }
545             cout<<"\n                  用戶名或密碼錯誤..."<<endl;
546             infile.close();
547         }
548     }
549     return 0;
550 }
551 
552 int visitor_login()
553 {
554     user="visitor";
555     return 0;
556 }
557 
558 int Imenu(int a)
559 {
560     char n;
561     int mark;
562     if(!(a+1)) return 0;
563     while(1)
564     {
565         system("cls");
566         insider IN_insider; 
567         mark=1;
568         cout<<"******************************************************"<<endl;
569         cout<<"*                                                    *"<<endl;
570         cout<<"*                    ★用戶登錄系統★                *"<<endl;
571         cout<<"*                    用戶:"<<setw(10)<<showw10(user)<<"                *"<<endl;
572         cout<<"*                                                    *"<<endl;
573         cout<<"******************************************************"<<endl;
574         cout<<"* ┌--------------------用戶管理-------------------┐*"<<endl;
575         cout<<"* |                                                | *"<<endl;
576         cout<<"* |                功能            請輸入          | *"<<endl;
577         cout<<"* |            ◆ 修改用戶名          1            | *"<<endl;
578         cout<<"* |            ◆ 修改密碼            2            | *"<<endl;
579         cout<<"* └-----------------------------------------------┘*"<<endl;
580         cout<<"******************************************************"<<endl;
581         cout<<"*              ● 返回主界面          h              *"<<endl;
582         cout<<"*              ● 退出登錄系統        0              *"<<endl;
583         cout<<"******************************************************"<<endl;
584         cout<<"請選擇功能:";
585         while(mark)
586         {
587             cin>>n;cin.sync();
588             switch(n)
589             {              
590                 case '1':IN_insider.IchangeName(a);mark=0;break;
591                 case '2':IN_insider.IchangePassword(a);mark=0;break;
592                 
593                 case 'h':return 0;
594                 case '0': exit(0);
595                 default : cout<<"\n輸入有誤,請重新輸入:";
596             }
597         }  
598     }
599 }
600 int Amenu(int a)
601 {
602     char n;
603     int Mark;
604     if(!a) return 0;
605     while(1)
606     {
607         system("cls");
608         admin AD_admin;
609         Mark=1;
610         cout<<"******************************************************"<<endl;
611         cout<<"*                                                    *"<<endl;
612         cout<<"*                    ★用戶登錄系統★                *"<<endl;
613         cout<<"*                  管理員:"<<setw(10)<<showw10(user)<<"                *"<<endl;
614         cout<<"*                                                    *"<<endl;
615         cout<<"******************************************************"<<endl;
616         cout<<"* ┌--------------------用戶管理-------------------┐*"<<endl;
617         cout<<"* |                                                | *"<<endl;
618         cout<<"* |                功能            請輸入          | *"<<endl;
619         cout<<"* |            ◆ 顯示用戶            1            | *"<<endl;
620         cout<<"* |            ◆ 查找用戶            2            | *"<<endl;
621         cout<<"* |            ◆ 修改用戶            3            | *"<<endl;
622         cout<<"* |            ◆ 添加用戶            4            | *"<<endl;
623         cout<<"* |            ◆ 刪除用戶            5            | *"<<endl;
624         cout<<"* |            ◆ 加鎖用戶            6            | *"<<endl;
625         cout<<"* |            ◆ 解鎖用戶            7            | *"<<endl;
626         cout<<"* └-----------------------------------------------┘*"<<endl;
627         cout<<"* ┌-------------------管理員管理------------------┐*"<<endl;
628         cout<<"* |                                                | *"<<endl;
629         cout<<"* |                功能            請輸入          | *"<<endl;
630         cout<<"* |            ◆ 修改用戶名          a            | *"<<endl;
631         cout<<"* |            ◆ 修改密碼            b            | *"<<endl;
632         cout<<"* |            ◆ 加鎖管理員          c            | *"<<endl;
633         cout<<"* |            ◆ 解鎖管理員          d            | *"<<endl;
634         cout<<"* └-----------------------------------------------┘*"<<endl;
635         cout<<"******************************************************"<<endl;
636         cout<<"*              ● 返回主界面          h              *"<<endl;
637         cout<<"*              ● 退出登錄系統        0              *"<<endl;
638         cout<<"******************************************************"<<endl;
639         cout<<"請選擇功能:";
640         while(Mark)
641         {
642             cin>>n;cin.sync();
643             switch(n)
644             {
645                 case '1': AD_admin.Ishow();Mark=0;break;
646                 case '2': AD_admin.Isearch();Mark=0;break;
647                 case '3': AD_admin.IchangeIPassword();Mark=0;break;
648                 case '4': AD_admin.Iadd();Mark=0;break;
649                 case '5': AD_admin.Idelete();Mark=0;break;
650                 case '6': AD_admin.Ilock();Mark=0;break;
651                 case '7': AD_admin.Iunlock();Mark=0;break;
652                 
653                 case 'a': AD_admin.AchangeName();Mark=0;break;
654                 case 'b': AD_admin.AchangePassword();Mark=0;break;
655                   case 'c': AD_admin.Alock();Mark=0;break;
656                  case 'd': AD_admin.Aunlock();Mark=0;break;
657 
658                 case 'h':return 0;
659                 case '0': exit(0);
660                 default : cout<<"\n輸入有誤,請重新輸入:";
661             }
662         }
663     }
664     return 0;
665 }
666 
667 int Vmenu(int a)
668 {
669     char n;
670     int mark;
671     while(1)
672     {
673         system("cls");
674         visitor VI_visitor; 
675         mark=1;
676         cout<<"******************************************************"<<endl;
677         cout<<"*                                                    *"<<endl;
678         cout<<"*                    ★用戶登錄系統★                *"<<endl;
679         cout<<"*                    游客:"<<setw(10)<<showw10(user)<<"                *"<<endl;
680         cout<<"*                                                    *"<<endl;
681         cout<<"******************************************************"<<endl;
682         cout<<"* ┌--------------------游客管理-------------------┐*"<<endl;
683         cout<<"* |                                                | *"<<endl;
684         cout<<"* |                功能            請輸入          | *"<<endl;
685         cout<<"* |            ◆ 修改登錄名          1            | *"<<endl;
686         cout<<"* └-----------------------------------------------┘*"<<endl;
687         cout<<"******************************************************"<<endl;
688         cout<<"*              ● 返回主界面          h              *"<<endl;
689         cout<<"*              ● 退出登錄系統        0              *"<<endl;
690         cout<<"******************************************************"<<endl;
691         cout<<"請選擇功能:";
692         while(mark)
693         {
694             cin>>n;cin.sync();
695             switch(n)
696             {              
697                 case '1':VI_visitor.VchangeName(a);mark=0;break;
698                 
699                 case 'h':return 0;
700                 case '0': exit(0);
701                 default : cout<<"\n輸入有誤,請重新輸入:";
702             }
703         }  
704     }
705 }
706 
707 string encrypt(string s)
708 {
709     int len=s.length();
710     for(int i=0;i<len;i++)
711         s[i]=~s[i]+12;
712     return s;
713 }
714 
715 string decrypt(string s)
716 {
717     int len=s.length();
718     for(int i=0;i<len;i++)
719         s[i]=~(s[i]-12);
720     return s;
721 }
722 
723 string showw10(string s)
724 {
725     int k=s.length();
726     if(k>10)
727     {
728         s.assign(s,0,7);
729         s+="...";
730     }
731     return s;
732 }

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved