Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<fstream>
- #include<string.h>
- #include<unistd.h>
- #include<termios.h>
- using namespace std;
- int getch() {
- struct termios oldt, newt;
- int ch;
- tcgetattr(STDIN_FILENO, &oldt);
- newt = oldt;
- newt.c_lflag &= ~(ICANON | ECHO);
- tcsetattr(STDIN_FILENO, TCSANOW, &newt);
- ch = getchar();
- tcsetattr(STDIN_FILENO, TCSANOW, &oldt);
- return ch;
- }
- class user{
- char uid[8];
- char pwd[8];
- int level;
- public:
- void initUser(){
- cin.ignore();
- cout<<"username(7ch max): ";
- cin.getline(uid, 7);
- cout<<"password(7ch max): ";
- cin.getline(pwd, 7);
- level = 0;
- }
- int authenticate(char *u, char *p){
- if((!strcmp(u, uid)) && (!strcmp(p, pwd)))
- return 1;
- else if(!strcmp(u, uid))
- return 0;
- else
- return -1;
- }
- void _debug(){
- cout<<uid<<"|"<<pwd<<"|"<<level;
- }
- char* getData(int f){
- if(f)
- return uid;
- return pwd;
- }
- }CURRENT;
- void addUser(){
- user newUser;
- newUser.initUser();
- fstream userdb;
- userdb.open("users.ctc", ios::binary|ios::out|ios::app);
- userdb.write((char*)&newUser, sizeof(newUser));
- userdb.close();
- }
- void authUser(){
- char u[8],p[8],x;
- int i=0;
- cout<<"===========================\n";
- cout<<"|USERNAME : ";cin.getline(u, 7);
- cout<<"|PASSWORD : ";do{x=getch();p[i++]=x;if(x=='\n')break;cout<<"*";}while(i<8);
- cout<<"\n===========================";
- user t;
- fstream userdb;
- userdb.open("users.ctc", ios::binary|ios::in);
- while(!t.eof()){
- userdb.read((char*)&t, sizeof(t));
- if(!t.authenticate(u, p)
- userdb.close();
- }
- int main(){
- authUser();
- }
Add Comment
Please, Sign In to add comment