vs2019,程序运行后输入正确密码后自行退出,求指点
int main(){
char a, b, c, g = 'W', h = 'R',j = 'C';//前三位字符密码
int d, e, f,D=1,E=9,F=9,q,w,r,G,H,J,K;//后三位整型密码
printf("please input password:\n");
scanf_s("%c,%c,%c,%d,%d,%d", &a, &b, &c, &d, &e, &f);
G = g == a;//如果g==a则G=1,否则为0,以下同理
H = h == b;
J = j == c;
q = D == d;
w = E == e;
r = F == f;
K = G + H + J + q + w + r;//如果输入正确则K=6
if (K==6)//如果K=6执行下面括号的语句
{
printf("please input long,wide:\n");
getchar();
scanf_s("%d,%d", &d, &e);
f = d + e;
printf("=%d\n", f);
}
else while (getchar());
system("pause");
return 0;
} ??? 永恒的蓝色梦想 发表于 2020-7-2 09:13
???
你好,就是想设计一个有密码的程序,如果密码输入不对就循环回车,正确的话就运行if里面的语句;能指点下吗,谢谢了 xiaoyurenwen 发表于 2020-7-2 09:17
你好,就是想设计一个有密码的程序,如果密码输入不对就循环回车,正确的话就运行if里面的语句;能指点下 ...
如果密码输入不对就循环回车??? 永恒的蓝色梦想 发表于 2020-7-2 09:19
???
就是类似于
#include<stdio.h>
int main()
{
char a='k',b,c;
scanf_s("%c",b);
c=a==b;
if(c==1)
{
printf("ok");
}
else while(getchar());
return 0;
} xiaoyurenwen 发表于 2020-7-2 09:44
就是类似于
#include
while(getchar()) 又是什么鬼? 永恒的蓝色梦想 发表于 2020-7-2 09:48
while(getchar()) 又是什么鬼?
想让就算键盘输入了内容程序也不会被关 xiaoyurenwen 发表于 2020-7-2 09:59
想让就算键盘输入了内容程序也不会被关
那如果密码输入不对就循环回车又是什么? 永恒的蓝色梦想 发表于 2020-7-2 10:01
那又是什么?
就是想一直按回车的话程序也不会关,一直可以键入内容;可以帮忙指点下这个程序的设计吗{:5_105:} xiaoyurenwen 发表于 2020-7-2 10:08
就是想一直按回车的话程序也不会关,一直可以键入内容;可以帮忙指点下这个程序的设计吗
你的程序有什么问题? 永恒的蓝色梦想 发表于 2020-7-2 10:25
你的程序有什么问题?
无法正常执行,输入后会卡住一会,然后没有什么反应 永恒的蓝色梦想 发表于 2020-7-2 10:25
你的程序有什么问题?
输入内容(密码)后 xiaoyurenwen 发表于 2020-7-2 12:04
无法正常执行,输入后会卡住一会,然后没有什么反应
输入错误不就是应该卡住吗? 永恒的蓝色梦想 发表于 2020-7-2 12:06
输入错误不就是应该卡住吗?
输入正确的密码情况也是一样的{:5_100:} xiaoyurenwen 发表于 2020-7-2 12:04
无法正常执行,输入后会卡住一会,然后没有什么反应
……scanf_s 搞的鬼,用 scanf 就没问题:#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main()
{
char a, b, c, g = 'W', h = 'R', j = 'C';//前三位字符密码
int d, e, f, D = 1, E = 9, F = 9, q, w, r, G, H, J, K;//后三位整型密码
printf("please input password:\n");
scanf("%c,%c,%c,%d,%d,%d", &a, &b, &c, &d, &e, &f);
G = g == a;//如果g==a则G=1,否则为0,以下同理
H = h == b;
J = j == c;
q = D == d;
w = E == e;
r = F == f;
K = G + H + J + q + w + r;//如果输入正确则K=6
if (K == 6)//如果K=6执行下面括号的语句
{
printf("please input long,wide:\n");
getchar();
scanf("%d,%d", &d, &e);
f = d + e;
printf("=%d\n", f);
}
else while (getchar());
system("pause");
return 0;
} 永恒的蓝色梦想 发表于 2020-7-2 13:36
……scanf_s 搞的鬼,用 scanf 就没问题:
谢谢你,我改了好久都没有成功,刚刚试了下确实就行了 永恒的蓝色梦想 发表于 2020-7-2 13:36
……scanf_s 搞的鬼,用 scanf 就没问题:
刚刚查了下,如果要用scanf_s的话,后面还要对赋值的量再次声明;
我刚刚又把原来的改成scanf_s("%d,%d", &d, &e,sizeof(char),sizeof(char));
也可以运行正常了 永恒的蓝色梦想 发表于 2020-7-2 13:36
……scanf_s 搞的鬼,用 scanf 就没问题:
不对,刚刚改的是下面那个scanf_s,第一个sanf_s就算改了也会出现和原来一样的错误,必须要用scanf才能正常
页:
[1]