第10周项目1密码问题(参考用)

问题及代码1:

/* 
*文件名称:code.cpp 
*问题描述:输入六位密码,屏幕上都出现*,例如你在取款机上输入密码时,就是******.
*输入描述:任意六位数字。 
*程序输出:******.
*/ 
// C++ 输入 密码 回显 * 的小程序段
#include <iostream>
#include<conio.h>
#include<string>
using namespace std;
class Password//用一个类实现,其实也可以不用这么麻烦,练习一下
{
    public:
    Password()//构造函数,这里主要用于初始化密码,使之为空
    {
        psw="";//初始化密码为空"";
        length=0; //初始化密码长度
    }
    void inputPassword()//用于输入并回显*为密码
    {
        char temp_c;
        cout<<"please input password:";
        while(true)
        {
            temp_c=getch();  //输入一个字符
            if(temp_c!=char(13))  //判断该字符是不为回车,如果是则退出while
            {
                switch  (temp_c)
                {
                case 8:
                    if(length!=0)
                    {
                        cout<<"/b /b";
                        psw=psw.substr(0,length-1);
                        length--;
                    }
                    else ;
                    break;
                default:
                    cout<<"*"; //可用用你喜欢的任意字符,如改为cout<<"";则无回显
                    psw+=temp_c;//连成字符串;
                    length++;
                    break;
                }
            }
            else break;
        }
    }
    string getPassword()//返回一个密码字符串,其实可以把密码再次加密,存在数据库中。
    {
        return psw;
    }
    private:
    string psw;//用于存密码的字符串;
    int length;//密码长度
};


//测试
int main()
{
    Password psw1;
    psw1.inputPassword();
    cout<<endl<<"Your password is:"<<psw1.getPassword()<<endl;
    getch();
    return 0;
}


 

运行结果:

 

问题及代码2:

/* 
*文件名称:code.cpp 
*问题描述:输入六位密码,屏幕上都出现*,例如你在取款机上输入密码时,就是******.
*输入描述:任意六位数字。 
*程序输出:******.
*/ 
#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
char password[100];
int index=0;
while(1)
{
char ch;
ch=getch();
if(ch==8) //退格键
{
if(index!=0)
{
cout<<char(8)<<" "<<char(8);
index--;
}
}
else if(ch=='\r') //回车键
{
password[index]='\0';
cout<<endl;
break;
}
else
{
cout<<"*";
password[index++]=ch;
}
}
cout<<"password:"<<password<<endl;
return 0;
}


 

运行结果:

 

 

知识点总结:

应该要调用password函数。。可是我不知道怎么调用。。

 

学习心得:

估计以后就能看懂这俩程序了。。现在实在有难度啊。。

评论 12
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值