【牛刀小试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;
}

执行结果:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWlycm9yc2JleW91cnNlbGY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

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

转载时保留原文的链接http://oursharingclub.joinbbs.net和http://blog.csdn.net/mirrorsbeyourself

版权声明:本文皆有[http://13kv.com/]原版的。转载请注明http://13kv.com/,谢谢

【牛刀小试2】password保的更多相关文章

  1. 【Java EE 学习 68】【单点登录】【两种单点登录类型:SSO/CAS、相同一级域名的SSO】

    单点登录:SSO(Single Sign On) 什么是单点登录:大白话就是多个网站共享一个用户名和密码的技术,对于普通用户来说,只需要登录其中任意一个网站,登录其他网站的时候就能够自动登陆,不需要再 ...

  2. Oracle listener lsnrctl

    lsnrctl(Listener Control)是一家SQL*Net具,用于控制数据库listener,此工具提供了控制命令listener开端.停止,查看listener状态,更改listener ...

  3. redis 在 php 中的应用(key篇)

    本文为我阅读了 redis参考手册 之后结合 博友的博客 编写,注意 php_redis 和 redis-cli 的区别(主要是返回值类型和参数用法) 目录: KEY(键) DEL           ...

  4. JSP学习笔记七之Cookie

    首先提一下http协议的无状态性.指的是server不会记住已经给它发过请求的client. 每次收到请求都会觉得是一个新的client发过来的. (即:server不会记住给他发过请求的client ...

  5. linux入门基础——linux用户基础

    这篇内容是linux用户基础,相关内容见linux改动username和ubuntu改动username和主机名. 用户.组 当我们使用linux时,须要以一个用户的身份登入,一个进程也须要以一个用户 ...

  6. Transport Tablespace Set(三) ----transport single tablespace

    源端字符集与endian查看: SQL> select userenv('language') from dual; USERENV('LANGUAGE') SIMPLIFIED CHINESE ...

  7. SSIS 無法將保護的 XML 節點 "DTS:Password" 解密,錯誤為 0x8009000B "機碼用在特定狀態時無效

    发现之前部署的SSIS,执行失败,查看日志 來源: 描述: 無法將保護的 XML 節點 -- ::-- ::-- :: DataReader 來源 [] 描述: System.Exception: S ...

  8. php cUrl模拟登录,cookie保存到文件中

    源码如下: <?php header("Content-Type:text/html;charset=utf-8"); //模拟群友通讯录手机号登录 $curl = curl ...

  9. 测试的程序 test.php,保存放IIS的根目录下

    IIS+PHP的配置的方法,试过之后很多都不能达到效果.于是总结了大部分的文章后就得出了这样的方法 一.下载必须的程序:(1) 先到PHP的官方网站下载一个PHP(本文就以PHP 4.4.2为例).网 ...

随机推荐

  1. cx_Oracle模块学习之绑定变量

    有些时候我们需要和程序交互,此时需要绑定量下面两个例子简介在SELECT 和 DML 里面绑定变量的用法 SELECT 里面的绑定变量 [root@Ora10G py]# cat SelectBind ...

  2. HUD 1501 Zipper(记忆化 or DP)

    Problem Description Given three strings, you are to determine whether the third string can be formed ...

  3. Cocos2d-x响应android返回键

    开启按键按键监听 setKeypadEnabled(true); 重写监听事件函数 virtual void keyBackClicked(); 如: void BanQiuLayer::keyBac ...

  4. 阿录帮帮忙—spring mvc 的hello world

    一:web.xml配置 <!-- Spring MVC配置 --> <servlet> <servlet-name>Spring MVC Dispatcher Se ...

  5. 高效合并两个有序数组(Merge Sorted Array)

    Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: Y ...

  6. Git使用之搭建基于SSH的Gitserver(上篇)

    1. 须要软件 msysgit (Gitfor Windows) Copssh (OpenSSHfor Windows,新版本号已经開始收费了大家能够去搜索引擎找曾经的免费版Copssh_4.1.0下 ...

  7. iOS安全攻击和防御(24):敏感的保护方案逻辑(1)

    iOS安全攻击和防御(24):敏感的保护方案逻辑(1) Objective-C代码easy被hook.暴露信息太赤裸裸,为了安全,改用C来写吧! 当然不是所有代码都要C来写,我指的是敏感业务逻辑代码. ...

  8. 分享毕业学生“ERP实施project联赛”总结,是肺腑之言——知识是人的价值的体现,每门课程是有意义的学校纪律

    丁.这是我刚刚完成的实习报告,特别是给你一个.阿信,让你知道的真实想法研究生管,我希望你相信在教育管帮助.---雷管1102 刘弈福 以上是刚刚收到(20140427)生邮件,贻富不是我带的毕业设计学 ...

  9. libevent安装总结 - jinfg2008的专栏 - 博客频道 - CSDN.NET

    libevent安装总结 - jinfg2008的专栏 - 博客频道 - CSDN.NET libevent安装总结 分类: linux 系统配置 2013-02-13 22:37 99人阅读 评论( ...

  10. TkinterGUI - 初识Tkinter

    前言 近期有写一个简单GUI程序的点子,具体写什么就不说了,但一个要求就是有跨平台的功能. 确切的讲,是我希望这个程序写好后能同时在Windows和Linux下运行,而且要方便随时修改. 对于编程语言 ...