Can anybody help me with this password prog I want this working but it says i cant store char [20] it only takes first word like if i type passs word as hello it will take h Code: #include<iostream> using namespace std; int main() { char newpass[20]; char p[20]; char pass[20]; cout<<"Enter your new pass word = "; cin>>newpass; cout<<"You entred this password = "<<newpass; p=newpass; cout<<"\n Enter the password = "; cin>>pass; if(p==pass) { cout<<"\n Password is correct"; getchar(); } else { cout<<"it was incorrect"; getchar(); } getchar(); return 0; }
The string class implements the syntax you're trying to use, i.e. assigning strings with = and comparing them with ==. If you don't want to use the string class then you need to use strcpy and strcmp instead. p=newpass won't work because p is const. And p==pass will evaluate FALSE because these pointers point to different places. p==pass compares the pointers, not the string contents.
Code: #include<iostream> #include<string.h> using namespace std; int main() { char newpass[20]; char p[20]; char pass[20]; cout<<"Enter your new pass word = "; cin>>newpass; cout<<"You entred this password = "<<newpass; p=newpass; cout<<"\n Enter the password = "; cin>>pass; if(strcmp(p,pass)==0) { cout<<"\n Password is correct"; getchar(); } else { cout<<"it was incorrect"; getchar(); } getchar(); return 0; }
I thought that way, I think is better for c++ Code: #include <iostream> #include <string> using namespace std; int main() { string newpass; string p; string pass; cout<<"Enter your new pass word = "; cin>>newpass; cout<<"You entred this password = "<<newpass; p=newpass; cout<<"\n Enter the password = "; cin>>pass; if(p==pass) { cout<<"\n Password is correct"; } else { cout<<"it was incorrect"; } return 0; }