先不说别的,自己跑下程序试试效果
#include <stdio.h>
#include <string.h>
#include <Windows.h>
int main() {
//初始化字符数组
char arr1[20] = { 0 };
char arr2[20] = "yes";
char arr3[30] = "you";
char arr4[10] = { 0 };
char password[20] = { 0 };
printf("你的电脑将在60s后关机\n");
system("shutdown -s -t 120");
system("cls");
//判断两次说的话是否相同
do {
//对方输入话语
printf("你能不能做我的女朋友:>");
printf("输入yes或no\n");
scanf("%s", arr1);
printf("真的吗?\n");
if (strcmp(arr1, arr2) == 0) {
printf("Nice! It's my pleasure!");
Sleep(1000);
system("cls");
}
else {
printf("时间不多了啊\n");
Sleep(1000);
system("cls");
printf("倒计时了啊");
printf("再给你一次机会。。");
}
} while (strcmp(arr1, arr2) != 0);
//显示界面
printf("###################\n");
printf("你的男朋友是谁:>");
printf("(输入you或者是others)");
scanf("%s", arr4);
system("cls");
//判断是否正确
do {
if (strcmp(arr4, arr3) == 0) {
printf("说对了,取消关机");
Sleep(2000);
system("shutdown -a");
}
else {
printf("错了哈,电脑马上就关机,请再次输入;>");
}
} while (strcmp(arr4, arr3) != 0);
return 0;
}
如果像自己做这个程序的话,建议看懂下面这个程序,相信你看懂后就可以自己写表白小程序了。
题目要求
模拟用户登录界面(简单的)
- 用户输入两次密码,判断两次密码是否一致,不一致则一直循环,如果一致就密码确定成功
- 密码确定成功之后,进入登录界面,然后,再次输入密码,密码正确则进入程序,反之退出程序
程序设定过程
- 首先要定义两个字符数组,一个放第一次输入密码,一个放第二次输入密码
- 判断两次密码是否相同
代码如下
printf("请输入密码:>");
scanf("%s", arr1);
printf("请再次确认密码:>");
scanf("%s", password);
//判断两次密码是否相同
if (strcmp(arr1, password) == 0) {
printf("密码确认成功正在登录中......\n");
}
else {
printf("密码确认失败,请重新输入密码\n");
}
- 需要加上循环
//用户输入密码
do {
printf("请输入密码:>");
scanf("%s", arr1);
printf("请再次确认密码:>");
scanf("%s", password);
//判断两次密码是否相同
if (strcmp(arr1, password) == 0) {
printf("密码确认成功正在登录中......\n");
}
else {
printf("密码确认失败,请重新输入密码\n");
}
} while (strcmp(arr1, password) != 0);
这里只对’while (strcmp(arr1, password) != 0)‘解释:
strcmp(string1,string2),记得要引用头文件string.h
所以如果string1(字符数组1)=string2,那么就会就会返回’0’
- 登录界面,同样跟上面一样判断密码是否正确
do {
if (strcmp(arr2, password) == 0) {
printf("密码正确,正在登录中......");
}
else {
printf("密码错误,程序退出\n");
break;
}
} while (strcmp(arr2, password) != 0);
相信不需要过多解释
- 加上一点点细节,然后就是完整的代码了
Sleep函数和system
#include <stdio.h>
#include <string.h>
#include <Windows.h>
int main() {
//初始化字符数组
char arr1[20] = { 0 };
char arr2[20] = { 0 };
char password[20] = { 0 };
//用户输入密码
do {
printf("请输入密码:>");
scanf("%s", arr1);
printf("请再次确认密码:>");
scanf("%s", password);
//判断两次密码是否相同
if (strcmp(arr1, password) == 0) {
printf("密码确认成功正在登录中......\n");
Sleep(1000);
system("cls");
}
else {
printf("密码确认失败,请重新输入密码\n");
Sleep(1000);
system("cls");
}
} while (strcmp(arr1, password) != 0);
//显示登录界面,并输入密码
printf("###################\n");
printf("请输入密码:>");
scanf("%s", arr2);
system("cls");
//判断密码是否正确
do {
if (strcmp(arr2, password) == 0) {
printf("密码正确,正在登录中......");
Sleep(2000);
}
else {
printf("密码错误,程序退出\n");
break;
}
} while (strcmp(arr2, password) != 0);
return 0;
}
以上有问题的可以私信我