c语言输入密码先显示数字延时几毫秒再显示*,我这个程序有问题吗?

Maker_Chen 2019-03-19 12:00:51
#include<conio.h>
int main()
{
int i=0;
int b=0;
char ch;
printf("请输入密码\n");
while(i<6)
{


printf("%c",ch);
getch();



Sleep(1000);
printf("*");
i++;
}
}
...全文
159 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
636f6c696e 2019-03-20
  • 打赏
  • 举报
回复
都说你的代码就是掩耳盗铃,再怎么改都没用 一般输入密码是要在控件显示的,靠printf这种无法消除之前输入时不可行的
引用 3 楼 weixin_44617468 的回复:
[quote=引用 1 楼 niiiloc的回复:]这程序编译都编不过吧 看你的逻辑是典型的掩耳盗铃
编译可以啊,只是忘记复制过来的studio.h那个头文件,你能找出我程序有啥错吗?[/quote]
Maker_Chen 2019-03-19
  • 打赏
  • 举报
回复
引用 2 楼 赵4老师的回复:
仅供参考:
#include <conio.h>
#include <stdio.h>
char pw[40];
int i,ch;
FILE *f;
void main() {
	cprintf("\r\nPassword:");
	i=0;pw[i]=0;
	while (1) {
		ch=getch();
		if (ch==13 || i>=39) break;
		switch (ch)	{
		case 27:
			cprintf("\rPassword: %40s"," ");
			cprintf("\rPassword: ");
			i=0;pw[i]=0;
			break;
		case 8:
			if (i>0) {
				i--;
				pw[i]=0;
				cprintf("\b \b");
			}
			break;
		default:
			pw[i]=ch;
			i++;
			pw[i]=0;
			cprintf("*");
			break;
		}
	}
	cprintf("\r\n");
	f=fopen("password.txt","w");
	fprintf(f,"%s\n",pw);
	fclose(f);
}
老师,你有什么解决办法吗?如果改我那个程序
Maker_Chen 2019-03-19
  • 打赏
  • 举报
回复
引用 4 楼 ylin211的回复:
为什么2楼的仅供参考要比作者的长这么多啊?
你有什么好的解决办法吗?直接改我的程序
ylin211 2019-03-19
  • 打赏
  • 举报
回复
为什么2楼的仅供参考要比作者的长这么多啊?
Maker_Chen 2019-03-19
  • 打赏
  • 举报
回复
引用 1 楼 niiiloc的回复:
这程序编译都编不过吧 看你的逻辑是典型的掩耳盗铃
编译可以啊,只是忘记复制过来的studio.h那个头文件,你能找出我程序有啥错吗?
赵4老师 2019-03-19
  • 打赏
  • 举报
回复
仅供参考:
#include <conio.h>
#include <stdio.h>
char pw[40];
int i,ch;
FILE *f;
void main() {
	cprintf("\r\nPassword:");
	i=0;pw[i]=0;
	while (1) {
		ch=getch();
		if (ch==13 || i>=39) break;
		switch (ch)	{
		case 27:
			cprintf("\rPassword: %40s"," ");
			cprintf("\rPassword: ");
			i=0;pw[i]=0;
			break;
		case 8:
			if (i>0) {
				i--;
				pw[i]=0;
				cprintf("\b \b");
			}
			break;
		default:
			pw[i]=ch;
			i++;
			pw[i]=0;
			cprintf("*");
			break;
		}
	}
	cprintf("\r\n");
	f=fopen("password.txt","w");
	fprintf(f,"%s\n",pw);
	fclose(f);
}
636f6c696e 2019-03-19
  • 打赏
  • 举报
回复
这程序编译都编不过吧 看你的逻辑是典型的掩耳盗铃
好运萝 2019-03-19
  • 打赏
  • 举报
回复
别改了 尝试把别人代码看懂 想想清楚逻辑再动手 你这不仅仅是格式 和头文件的问题 逻辑问题更大 在循环里面先打印ch ch没有初始化又没有赋值 不知道想打印出什么 再getch 至于get到哪去了 程序里面看不出来 到最后 不说头文件 main没有返回值还少半边花括号 这都能编译通过吗....

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧