【牛刀小试2】password保
【牛刀小试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版权声明:本文皆有[http://13kv.com/]原版的。转载请注明http://13kv.com/,谢谢