1、实现动态多个字符从两端向中间移动显示;
2、模拟用户登录情景,每个人只有三次登录机会(三次之内输入密码正确,则显示登录成功,否则程序退出);
3、测试default在switch中位置的不同对case的影响。
#include<stdio.h>
#include<string.h>
#include<windows.h>
void dynamicMove()
{
char arr1[] = "welcome to study!";
char arr2[] = "#################";
int left = 0;
int right = sizeof(arr1)/sizeof(arr1[0]) - 2;//18 - 2(默认加'\0');
while(left <= right){
Sleep(1000);
arr2[left] = arr1[left];
arr2[right] = arr1[right];
left++;
right--;
printf("%s\r",arr2);//\r:回车
}
}
void userLogin()
{
char inp[10] = "";
int i = 3;
while(1){
printf("请输入密码,你还有%d次机会!\n",i);
scanf("%s",inp);
if(!strcmp(inp,"hello"))
{
printf("登录成功!\n");
break;
}
i--;
if(0 == i){
printf("登录失败!\n");
break;
}
}
}
void testCase()
{
int i = 4;
switch(i){
case 1:
printf("111111111\n");
break;
case 2:
printf("222222222\n");
break;
default://默认执行
printf("无满足条件!\n");
//break;
//若是放在case序列的最后一个则default没有写break的必要性
//加上break后default后面的case条件则会被忽略
//此处若无break接下来将会执行case 3.
//一般default放于case序列后
case 3:
printf("333333333\n");
break;
}
}
int main()
{
//dynamicMove();
//userLogin();
testCase();
system("pause");
return 0;
}