Guest User

Untitled

a guest
Jan 4th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.58 KB | None | 0 0
  1. #include<iostream>
  2. #include<fstream>
  3. #include<string.h>
  4. #include<unistd.h>
  5. #include<termios.h>
  6. using namespace std;
  7. int getch() {
  8.     struct termios oldt, newt;
  9.     int ch;
  10.     tcgetattr(STDIN_FILENO, &oldt);
  11.     newt = oldt;
  12.     newt.c_lflag &= ~(ICANON | ECHO);
  13.     tcsetattr(STDIN_FILENO, TCSANOW, &newt);
  14.     ch = getchar();
  15.     tcsetattr(STDIN_FILENO, TCSANOW, &oldt);
  16.     return ch;
  17. }
  18. class user{
  19.     char uid[8];
  20.     char pwd[8];
  21.     int level;
  22. public:
  23.     void initUser(){
  24.         cin.ignore();
  25.         cout<<"username(7ch max): ";
  26.         cin.getline(uid, 7);
  27.         cout<<"password(7ch max): ";
  28.         cin.getline(pwd, 7);
  29.         level = 0;
  30.     }
  31.     int authenticate(char *u, char *p){
  32.         if((!strcmp(u, uid)) && (!strcmp(p, pwd)))
  33.             return 1;
  34.         else if(!strcmp(u, uid))
  35.             return 0;
  36.         else
  37.             return -1;
  38.     }
  39.     void _debug(){
  40.         cout<<uid<<"|"<<pwd<<"|"<<level;
  41.     }
  42.     char* getData(int f){
  43.         if(f)
  44.             return uid;
  45.         return pwd;
  46.     }
  47. }CURRENT;
  48. void addUser(){
  49.     user newUser;
  50.     newUser.initUser();
  51.     fstream userdb;
  52.     userdb.open("users.ctc", ios::binary|ios::out|ios::app);
  53.     userdb.write((char*)&newUser, sizeof(newUser));
  54.     userdb.close();
  55. }
  56. void authUser(){
  57.     char u[8],p[8],x;
  58.     int i=0;
  59.     cout<<"===========================\n";
  60.     cout<<"|USERNAME : ";cin.getline(u, 7);
  61.     cout<<"|PASSWORD : ";do{x=getch();p[i++]=x;if(x=='\n')break;cout<<"*";}while(i<8);
  62.     cout<<"\n===========================";
  63.     user t;
  64.     fstream userdb;
  65.     userdb.open("users.ctc", ios::binary|ios::in);
  66.     while(!t.eof()){
  67.         userdb.read((char*)&t, sizeof(t));
  68.         if(!t.authenticate(u, p)
  69.     userdb.close();
  70. }
  71. int main(){
  72.     authUser();
  73. }
Add Comment
Please, Sign In to add comment