Code:
#include <iostream>
#include <string.h>
using namespace std;
class cPassword
{
public:
cPassword();
~cPassword(){};
int askPass();
bool compare(char* p1,char* p2,char* p3,char* p4,char* p5);
private:
char pass1[256];
char pass2[256];
char pass3[256];
char pass4[256];
char pass5[256];
};
cPassword::cPassword()
{
strcpy(pass1,"password1");
strcpy(pass2,"password2");
strcpy(pass3,"password3");
strcpy(pass4,"password4");
strcpy(pass5,"password5");
}
bool cPassword::compare(char* p1,char* p2,char* p3,char* p4,char* p5)
{
if(strcmpi(p1,pass1) && strcmpi(p2,pass2) && strcmpi(p3,pass3) && strcmpi(p4,pass4) && strcmpi(p5,pass5))
return false;
else
return true;
}
int main()
{
cPassword oMenu;
char pass1[256],pass2[256],pass3[256],pass4[256],pass5[256];
cout << "The menu is protected under 5 passwords. Please enter them now.\n\n";
cout << "Password # Enter Password\n";
cout << " 様様様様様様様様様様様様様様様様様様様様様様様様様様様様様\n";
cout << " 1 ";
cin.getline(pass1,256,'\n');
cout << " 2 ";
cin.getline(pass2,256,'\n');
cout << " 3 ";
cin.getline(pass3,256,'\n');
cout << " 4 ";
cin.getline(pass4,256,'\n');
cout << " 5 ";
cin.getline(pass5,256,'\n');
//Im a bit stuck here also, Im not sure the best way to keep calling the function until its correct values...
while(!oMenu.compare(pass1,pass2,pass3,pass4,pass5))
{
cout << "Password # Enter Password\n";
cout << " 様様様様様様様様様様様様様様様様様様様様様様様様様様様様様\n";
cout << " 1 ";
cin.getline(pass1,256,'\n');
cout << " 2 ";
cin.getline(pass2,256,'\n');
cout << " 3 ";
cin.getline(pass3,256,'\n');
cout << " 4 ";
cin.getline(pass4,256,'\n');
cout << " 5 ";
cin.getline(pass5,256,'\n');
}
return 0;
}
Whay I would suggest is to check each password once it's typed in.