/* 实现c,对用户输入的密码进行检测, 检测正确才能执行后续程序段,否则要求用户重新输 入,输入三次错误密码后退出程序。 思路:1.定义一个字符数组接收用户输入的密码 int pass[10] 2.判断密码是否正确 strcmp(pass,"123456"),如果不正确, 判断输入次数是否>3次,如果>3次,不在判断,否则继续判断。 如果密码正确,则跳出循环 */ #include<stdio.h> #include<string.h>//用到gets()这个函数时需要这样一个头文件<string.h> #include<stdlib.h>//用到system("cls");这句语句是要包含<stdlib.h> void main() { int i=1; char pass[10]; while(1) { system("cls");//清空屏幕 printf("请输入第%d次六位数密码\n",i); fflush(stdin);//清空输入缓存,如果没有这条语句,在输入完一个字符串后按下enter,系统会以为它接收的是enter。 gets(pass);//gets(pass)函数用于接收字符串,将接收的字符串存放在pass的字符数组中 if(strcmp(pass,"123456")!=0)//strcmp(),用于判断两个字符串是否相等,相等为0 { printf("密码错误,按任意继续\n"); i++; getchar();//接受一个字符 if(i>3) { printf("对不起,输入三次错误,拜拜\n"); break;//条件满足,跳出while(1)这个循环 } } else { printf("密码正确,欢迎登陆\n"); break;//跳出循环 } } } /* 总结:该程序,1.主要要掌握if语句的嵌套,需要对需求进行分析,什么情况下做什么事 2.在循环判断中要灵活的运用break和continue 3.gets()和getchar()的使用。gets() 是接收用户从键盘输入的一串字符,getchar()是接收用户从键盘输入的一个字符。eg:gets(ch);表示将输入得字符串存放在ch的字符数组中 ch=getchar();表示将出入的一个字符赋值给字符类型的变量ch */ 88888888888888888888888888888888888888888888888888888888888888888888888
package Javabasic;
import java.util.Scanner;
/* * 需求:实现对用户输入的密码进行检测,检测正确才能执行后续程序段,否则要求用户重新输入,输入三次错误密码后退出程序。 思路:1.定义一个字符数组接收用户输入的密码 int pass[10] 2.判断密码是否正确 strcmp(pass,"123456"),如果不正确, 判断输入次数是否>3次,如果>3次,不在判断,否则继续判断。 如果密码正确,则跳出循环 * */
public class PassPort { public static void main(String[] args) { System.out.println("输入六位数登录密码"); String pass; int i=1; Scanner s=new Scanner(System.in); while(i<4) { pass=s.next(); if(pass.equals("123456")) { System.out.println("密码正确,欢迎登陆!"); break; } else System.out.println("密码错误,请重新输入!"); i++; } } }