如何使用程式来确认密码【已解决】

Home Home
引用 | 编辑 zse5500
2009-11-27 01:10
楼主
推文 x0
这张是完成图

===========================

下面的程式码是我打的...(不是上面完成图的程式码)

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
main()
{
    char pass="OPEN THE DOOR !",g;
start:
    printf("输入密码 :");
    fflush(stdin);
    g=getch();g=getch();g=getch();g=getch();
    g=getch();g=getch( ..

访客只能看到部份内容,免费 加入会员



献花 x0
引用 | 编辑 totsi
2009-11-27 09:48
1楼
  
pass[]在程式码里面没用到
100代表开一个大小为100的字元阵列
所以那个值依照你的需求改就好了,不过要注意是[0]开始以及有'\0'结尾,所以长度计算时要注意。

Q:g[]=getch(); 怎么用回圈化简?
复制程式
for ( int i = 0 ; i < sizeof(g) ; i++ )
{
  g[i] = getch();
}


献花 x2
引用 | 编辑 rchockxm
2009-11-30 20:27
2楼
  

图 1.


稍微试一下
像这样吗? 我只有用最简单的方法...
重复呼叫自己修改一下就行了 表情

复制程式
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>

int main()
{
  char input[100], password[]="happy new year !";     
  printf(" 请输入密码:");  
  
  int i=0;
  while((input[i]=getch())!=13&&i<sizeof(input))
    { 
      putch('*'); 
      i++;      
    }  
  input[i] = '\0';
  i=0;
  
  printf("\n\n 您输入的字串是:%s \n\n", input);
  if (!strcmp(input,password)) printf(" 恭喜过关 !");
  else printf(" 密码错误 !");
   
  printf("\n\n 请按任意键继续..."); 
  getch();     
}


本帖包含附件
档名: zip Example.zip   (2022-06-09 14:13 / 7 KB)   下载次数:4


献花 x3
引用 | 编辑 zse5500
2009-12-01 21:28
3楼
  
下面是引用 rchockxm 于 2009-11-30 20:27 发表的 : 到引言文
稍微试一下
像这样吗? 我只有用最简单的方法...
.......


感谢解答喔...

我还是有一些不懂的地方

请问这段的意思是??

while((input=getch())!=13&&i<sizeof(input))


献花 x0
引用 | 编辑 rchockxm
2009-12-01 21:37
4楼
  
连续取得输入的字元,直到按下 "Enter" 键为止。
后面的 i<sizeof(input) 只是判断输入不超过阵列长度。

献花 x1
引用 | 编辑 zse5500
2009-12-03 01:10
5楼
  
下面是引用 rchockxm 于 2009-12-01 21:37 发表的 : 到引言文
连续取得输入的字元,直到按下 "Enter" 键为止。
后面的 i<sizeof(input) 只是判断输入不超过阵列长度。

这段就是直到按下 "Enter" 键为止??

一定是 "13" 吗?

哪..如果有其他数字,有什么功能呢?

(input=getch())!=13


献花 x0
引用 | 编辑 totsi
2009-12-03 09:14
6楼
  
参考来源:http://www.experts-exchange.com/Programming/Languages/C/Q_21263658.html

ASCII Value of Enter Key is a Carriage Return, typically. That is value 13 (Decimal).
Windows often uses Carriage Return - Line Feed, which is ASCII 13 decimal, ASCII 10 Decimal.

献花 x0
引用 | 编辑 rchockxm
2009-12-03 10:19
7楼
  
这边有详细一点的 (by 杨舒凯)
http://shukaiyang.myweb.hinet.net/courses/cpp/ascii.htm

献花 x0