有一个信息管理系统,要求检查每一个登录系统的用户(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;
}

C++ 信息管理系统相关推荐

  1. 【VB】学生信息管理系统6——错误调试

    因为站在了巨人的肩膀上,在理解代码意思后的调试中,用到之前的别人的CSDN.所以原理查的不是很透彻.这里总结一下我的问题! 1.VB(如下代码)中mrc.EOF = False应该怎么理解呢? Set ...

  2. 【VB】学生信息管理系统5——数据库代码

    这次学生信息管理系统在代码的理解过程中遇到了一些问题.总结如下: 1. sql server的安装过程各个步骤的意思.在安装SQL Server的时候按照网上的步骤,我觉得这个需要学完整个数据库再返回 ...

  3. 【VB】学生信息管理系统4——数据库的发展

    由于连接数据的时候出现了很多不懂得问题,为什么要连接,它是怎么连接的,查着查着,就越看越多.又不舍得就这么放过这些问题,所以就耐心看看究竟是怎么回事! 1.自从出现数据库,人们渴望用数据和应用程序做交 ...

  4. 【VB】学生信息管理系统3——连接数据库的前提

    在窗体设计和编写程序代码后,需要进行数据库的连接. 大概要做的:下载安装数据库--配置数据源ODBC--测试连接数据库--进行数据库中内容的添加. 关键是这些我都不会,这才是重点! 在学习数据库的过程 ...

  5. 【VB】学生信息管理系统2——窗体设计

    这次学生系统是照着书敲的,先敲完然后开始调试!中途遇到了很多问题,查了很多,这里不容易系统的总结!所以就针对各个问题,各个击破! 问题一:VB 6.0中,状态栏控件(sbstatusbar):右击选项 ...

  6. 【VB】学生信息管理系统1——系统设计怎样开始?

    历时两周完成用VB完成的学生信息管理系统.从刚开始只会敲好玩的小程序到现在完整的做出一个像样的系统.自己的编程思维进行了很大的跨越. 这次的学生信息管理系统让我从整体的角度看到了一个系统设计的过程. ...

  7. [置顶]完美简版学生信息管理系统(附有源码)管理系统

    简版学生信息管理系统 目前为止找到的简版系统中最新.最全的java类管理系统 点击进入简版系统 如果无法直接连接,请进入: https://blog.csdn.net/weixin_43419816/ ...

  8. [零基础学JAVA]Java SE实战开发-37.MIS信息管理系统实战开发[JDBC](1)

    MIS信息管理系统实战开发之使用MySQL实现保存 开发背景 ID.姓名.年龄为公共信息,而学生有成绩,工人有工资 定义一个抽象类Person(ID.姓名.年龄),学生是其子类,有成绩,工人是其子类有 ...

  9. c语言饭卡管理系统链表文件,C语言《学生信息管理系统》链表+文件操作

    今天带来的是一个链表版本的<学生信息管理系统>,功能包括:添加.显示.查询.删除.保存.读取,等功能模块,链表是C语言的进阶内容,希望大家好好学习,这里的代码可能会有一些瑕疵,希望大家提供 ...

  10. Python系列教程之学生信息管理系统

    1.上传图片/文件等资源 有时候需要添加一些附件,例如,新生刚入学,大家相互之间还不熟悉,希望能通过照片来加深印象,并且方便教学管理. 首先,对demo/urls.py文件进行改造,给urlpatte ...

最新文章

  1. linux c数字转字符串函数,Linux常用C函数—字符串转换篇
  2. 给 Android 初学者的 Gradle 知识普及
  3. fastDFS分布式文件系统--文件上传/下载/查询完整代码实现
  4. java svnkit_java svnkit实现svn提交,更新等操作
  5. IOS开发基础之单文件上传基础最原始的方式
  6. Java 数据库进度条_java进度条
  7. datagridview取消默认选中_C# WinForm 取消DataGridView的默认选中Cell 使其不反蓝
  8. Android之back键拦截处理
  9. 期刊 | 人类遗传学领域期刊速览
  10. js 基于函数伪造的方式实现继承
  11. RHEL7.X安装12.2RAC时root.sh错误CLSRSC-400的解决方案
  12. paip.python错误解决17
  13. keil、Proteus下载及安装教程
  14. 异常和Log4j日志
  15. 用华为eNSP仿真校园网
  16. POI合并单元格,赋值
  17. 手机网站支付-支付宝API-Python
  18. 2017年下半年网络工程师真题+答案解析
  19. 交叉编译openssl(arm和x86_64)
  20. Flexbox在button/fieldset/legend中(比如safair)失效问题

热门文章

  1. TREND函数根据上半年各月产品销售量预算出未来销售量
  2. 深度森林DF21、deep forest、gcForest
  3. fanuc机器人试题_工业机器人知识要点解析(FANUC机器人)
  4. 2022最新第四方聚合支付系统源码+详细搭建教程
  5. android怎么实现记住密码功能,Android App“记住密码”功能的实现逻辑
  6. 小学五年级计算机考试试题,小学信息技术考试题库中五年级试题——选择题
  7. VMware 注册码
  8. python中fbncc_PythonBNCCorpusReader不能处理完整的bnc语料库
  9. python jieba库的使用
  10. 图像分割并存储 matlab,matlab图像分割算法源码.pdf