您的位置:首页 > 其它

【牛刀小试2】password保

2015-10-06 20:01 375 查看
【牛刀小试2】password保

主要知识:

1. while循环

2. do-while循环

3. if-else

4. strcmp()函数

[充电一下]

strcmp()函数的知识

原型:int strcmp ( const char * str1, const char * str2 );

返回值:

< 0

表示str1与str2不相等,其的值小于str2的值

=0

表示str1与str2相等

>0

表示str与str2不等。且其值大于str2的值

现在已经进入"码奴"(password的奴隶)的时代,人人都有非常多password

比方登入CSND也要有password。银行卡也须要有password等等。所以保存密

码特重要。要不然小心C币和钱不翼而飞了。

如今我们来编个程序,来保护我们珍贵的password^-^

要求:

(1)输入password后不显示在界面上,并使用星号取代

(2)能够删除错误的输入。即更改错误输入

(3)password错误提示,仅仅同意输入错误3次,否则强行退出

//password保护
#include <stdio.h>
#include <stdlib.h>   //for exit
#include <string.h>   //for strcmp

int main( void )
{
int count= 0; //计算输入次数
charmima[ 7 ]; //用于存放输入的password
intlength= 0;
charletter;

while(count<= 3 )
{
printf("\n输入您的6位password: ");

while(length< 7 )
{
mima[ length++ ]= '\0'; //为mima数组赋值'\0'
}

length=0;   //长度置为0
letter='\0';

while(letter!= '\r' ) //回车符
{
letter= getch();

if(( letter== '\b') && ( mima[ 0 ]== '\0' ) )
{
length= 0;
}
else
{
if(( letter== '\b' ) && ( mima[ 0 ]!= '\0' ) )
{
printf("\b" ); //退一个
printf(" " );  //清除错误的字母
printf("\b" ); //退回去

length--;
mima[length ]= '\0';
}
else
{
if(length< 6 )
{
printf("*" );

mima[length++ ]= letter;
}

}
}

}

mima[6 ]= '\0';
count++;

if(strcmp( "111111", mima )== 0 )
{
printf( "\n\n登入成功。欢迎使用^-^\n");

break;
}
else
{
printf("\n\nSorry,password输入错误~_~\n" );
if( count>= 3 )
{
printf("\n\n为了保护您的账户,请尽快与我们的客服联系。谢谢合作\n" );
printf("\n客服服务电话:111-11111111\n" );

exit(1 );
}
printf("只是,您还有%d次机会,再试一次\n", 3- count );
}

}

return0;
}


执行结果:



【指尖的微笑】错误在所难免。希望得到大家的指正^-^

转载时保留原文的链接http://oursharingclub.joinbbs.net和http://blog.csdn.net/mirrorsbeyourself
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: