C++实现信息管理系统
短信预约 -IT技能 免费直播动态提醒
本文实例为大家分享了C++实现信息管理系统的具体代码,供大家参考,具体内容如下
有一个信息管理系统,要求检查每一个登录系统的用户(User)的用户名和口令,系统检查合格以后方可登录系统,用C++程序予以描述。
代码如下:
#include<iostream>
using namespace std;
class Information{
private:char *Users;//用户名
char *Password;//密码
char *Password1;//第二次输入的密码
char *users;//登录时输入的用户名
char *password;//登录时输入的密码
public:
Information(char *Users="1234567",char *Password="qwer1234"){ //构造函数
this->Users=Users,this->Password=Password;
}
~Information(){} //析构函数
void deleteusers(){//用户名重复时删除该注册
Users="______";
Password="______";
}
int Login(char *users,char *password){//登录
int b=1;//控制登录的成功或失败
for(int o=0,p=0;o<strlen(Users)&&o<strlen(users)&&p<strlen(Password)&&p<strlen(password);o++,p++){
if((*(Users+o)==*(users+o))&&(*(Password+p)==*(password+p))) b=0;//成功为零,失败为一
else {b=1; break;}
}
return b;
}
int setinformation(){//注册
int judge1=0;
cout<<"请设置您的用户名:";
Users=(char *)malloc(20*sizeof(char));
cin>>Users;
cout<<"请设置您的密码:";
Password=(char *)malloc(20*sizeof(char));
cin>>Password;
cout<<"请再次输入您设置的密码:";
Password1=(char *)malloc(20*sizeof(char));
cin>>Password1;//用户名密码输入
if(strlen(Password)==strlen(Password1)){
for(int p=0;p<strlen(Password);p++){
if(*(Password+p)==*(Password1+p)) judge1=judge1+1; //判断两次输入的密码是否相等
}
if(judge1==p) return 1;
else return 0;
}
else return 0;
}
char *getUsers(){return Users;}//返回用户名以判断注册的用户名是否重复
};
int main(){
Information inf[100];//用户信息的数组
int a=0;//用户的个数
int c,e;//功能选择
char *u;//登录时用户名输入
char *p;//登录时密码输入
int a1,b1;//控制判断条件
for(int d=0;d<100;d++){
cout<<"1-注册;2-登录:";//功能选择
cin>>c;
switch(c){
case 1:{
for(int i=0;i<=100;i++){
int con=inf[i].setinformation();//用户注册
a1=0;
for(int j=0;j<a;j++){
char *f=inf[j].getUsers();
char *h=inf[a].getUsers();
if(strlen(f)==strlen(h)){
int judge2=0;
for(int o=0;o<strlen(f);o++){
if(*(f+o)==*(h+o)) judge2=judge2+1;
}
if(judge2==o) {cout<<"用户名已存在,请重新设置"<<endl;i--; a1=1;inf[a].deleteusers();a--;break;}
}
}
if(con==0&&a1==0) { cout<<"两次输入密码不相同,请重新设置"<<endl;i--;inf[a].deleteusers();a--;}
else if(con==1&&a1==0) cout<<"设置成功!"<<endl;
a=a+1;//个数加一
cout<<"'1'继续,'2'返回"<<endl;//是否继续注册
cin>>e;
if(e==2){break;}
else if(e==1){continue;}
else if(e!=1&&e!=2) {cout<<"输入无效"<<endl; break;}
}
break;
}
case 2:{
cout<<"请输入用户名: ";
u=(char *)malloc(20*sizeof(char));
cin>>u;
cout<<"请输入密码: ";
p=(char *)malloc(20*sizeof(char));
cin>>p;
for(int z=0;z<=a;z++){
b1=inf[z].Login(u,p);
if(b1==0){ cout<<"Successfully loging in."<<endl<<"Welcome to my world!"<<endl;break;}//登录成功
}
if(b1==1) cout<<"The user is not exist or the password is wrong."<<endl;//登录失败
break;
}
default: cout<<"abnormal input"<<endl;
}
}
return 0;
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341