Ⅰ 初學者問題:c語言如何用星號代替密碼
你可以用ch=getch()
main()
{
int a;
char ch;
printf("輸入賬號跡棚:");
scanf("%d",a);
printf("密碼");
ch=getch();
printf("*");
}
如果密碼不止一位你可以用數組存起來
while(ch!=13)
{
ch=getch();
printf("*");
code[i]=ch;
i=i+1;
}
我試過的,當然可以用~
給你看我原程序
char name[10],password[10],ch; //用戶輸入登錄信息
int i=0;
printf("Login...\n"); //提姿模則示用戶登錄
printf("name:");
scanf("%s",name); //用戶輸入用戶名
getchar(); //吸收回車符
printf("password:");
ch=getch(); //逐個獲取用戶輸入的密碼
while(ch!=13) //用戶密碼輸入未結束
{
printf("*");
password[i]=ch; /碼鍵/賦值
i=i+1; //下一個字元
if(ch==8) //退格
i=i-1;
ch=getch();
}
password[i]='\0'; //字元串末尾加結束符
部分而已,要加頭文件#include <conio.h>
Ⅱ 如何在C語言中實現輸入字元用「*」掩蓋
程序都是對的了
你只是在創建新鏈表忘了初始化了陸握,結果相當於定義了一個s結漏悉歷果s里連首地址都還沒分配。還有你的插入函數返回的是int,你又想列印字元串,最後輸出不符合的。main函數改成
int
main()
{
sqlist
s;
initlist_sq(s);//s的初始化
elemtype
x;
listinput(s,5);
listinsert_sq(s,4,'u');/返搜/執行插入操作,改變s
printf("%s",s);//列印
}
然後insert函數里的移動操作應該從字元串的結束處開始移動不然結尾的\0就被前面的字母給蓋掉了,輸出也會出問題;就是length後的-1去掉
for(elemtype
*
p=&s.elem[s.length]
;p>=q;p--)
*(p+1)=*p;
//插入位置後元素後移
Ⅲ 在C語言中怎樣輸入字元時顯示為*號——像ATM輸入密碼一樣
在C語言中使用getch()函數可以在輸入字元時,不顯示所輸入的字元;這時,再另外輸出一個"*"號,就可以像在ATM機上輸入密碼一樣了。
程序如下:
#include<stdio.h>
#include<conio.h>
main()
{
char
str[20]={'\0'};
int
i=0;
char
ch;
ch=getch();
while(ch!='\r')
{
str[i++]=ch;
putchar('*');
ch=getch();
}
getch();
}
Ⅳ C語言中如何把密碼改成星號
參考一下。
#include<conio.h>岩鄭
#include<stdio.h>
int main()
{
char ch[17];
int i=0;
while(1)
{
ch[i]=getch();
if(ch[i]=='\r')
break;
printf("*");
i++;
}
ch[i]='\0';
printf("\凳伍n您剛才輸入的密碼是粗粗頌:\n%s\n",ch);
return 0;
}
Ⅳ C語言如何實現輸入密碼以星號顯示
呵呵!
這個很簡單的啊,你只要將你的密碼保存在一個數組中啊,以便下次匹配密碼時使用啊,但你的輸出為「*」就好啦,給你個例子啊
密碼長度為6哈
#include <stdio.h>
int main()
{
int c[6];
int i = 0;
while(i < 6)
{
c[i++] = getchar();
putchar('*');
}
return 0;
}
Ⅵ C語言怎麼使用密碼輸入,也就是輸入回顯星號。
/*密碼輸入,回顯星號的程序*/
int main(void)
{
int i;
static char str[80]; /*靜態存儲*/
clrscr();
for (i=0; i<80; i++)
{
str[i] = getch(); /*逐次賦值,但不回顯*/
printf("*"); /*以星號代替字元個數*/
if (str[i] == '\x0d')/*回車則終止循環*/
{
break;
}
}
printf("\n");
i = 0;
while (str[i] != '\x0d')
{
printf("%c", str[i++]);/*依次輸出各元素*/
}
printf("\n");
getch();
return 0;
}
Ⅶ C語言中如何能把用戶輸入的密碼變成星號代替...
我這個程序是控制亂知台程序 不知念知道你問的是不是這個意思啊 你建個控制台程序運行一個看看吧! 如果有回答的不是你想問的,或者有什麼問題 請追問!嘩高消 程序代碼如下: #include<stdio.h> #include<conio.h> void main() { char a=0; while((a = getch()) != 0x0d) { printf("*"); } } 還有一個稍微復雜一些的: #include<stdio.h> #include<conio.h> #define MAX 6 void main() { char array[MAX]={0}; int i=0; printf("please enter the password:"); for(i=0; i<MAX-1; i++) { array[i] = getch(); printf("*"); } array[MAX-1]=0; printf("\nthe password is: %s\n",array); }
求採納
Ⅷ 在C語言中要怎麼把輸入的密碼改為*號
不要用scanf
用getch(),如果是C++編譯用_getch()。因為getch函數不顯示你輸入的字元。然後還要加上putchar('*');作用是輸出一個*。getch一次只能接受一個一個字元,所以你要寫個for或while循環不停接收輸入,還用加個if判斷,輸入回車就跳出循環。回車的ascii是13.
最後,需要增加頭文件conio.h。看你也有不錯編程水平說到這你應該就能自己寫出來了。