#include <stdio.h>
#include <string.h>
typedef struct
{
long number; //用戶編號 6位
char name[20]; //用戶名
char password[8]; //用戶密碼
int power; //許可權判斷 1 為管理員2為普通用戶
} user;
user yh[100]={100000,"gavin","gavine",1,100001,"wnag","wangf",2};
int length = 2;
int checkuser(long num, const char *nm, const char *pwd)
{
int i;
for (i = 0; i < length; ++i)
{
if (yh[i].number == num && !strcmp(yh[i].name, nm) && !strcmp(yh[i].password, pwd))
{
if (1==yh[i].power)
return 1;
else
return 2;
}
}
}
void main()
{
printf("%d\n", checkuser(100000, "gavin", "gavine"));
}
B. vb程序設計編寫程序驗證輸入密碼是否正確
先設計好界面抄,(襲如:用標簽控制項,2個文本框,)在1個要輸密碼文本框的屬性名稱中輸入password,在要輸入名稱的文本框的屬性名稱中輸入username.在設置字體 想要輸入錯誤密碼三次退出程序方法如下; 在密碼的代碼框中輸入:unload.me chick=3. End sub
C. c語言設計密碼檢測程序
#include <stdio.h>
#define UC (1U<<1) // upper case
#define LC (1U<<2) // lower case
#define NUM (1U<<3) // 0-9
#define ALL (UC|LC|NUM)
int check(const char pass1[], const char pass2[])
{
const char *p = &pass1[0];
unsigned int flag = 0;
if (strlen(pass1) < 6 || strlen(pass1) > 8)
{
printf("password length is 6 to 8.\n");
return 1;
}
if (strcmp(pass1, pass2))
{
printf("the tow passwords are diffrence.\n");
return 2;
}
while (*p)
{
if (*p >= 'a' && *p <= 'z') flag |= LC;
else if (*p >= 'A' && *p <= 'Z') flag |= UC;
else if (*p >= '0' && *p <= '9') flag |= NUM;
else
{
printf("in valid charactor: %c.\n", *p);
return 3;
}
++p;
}
if (flag == ALL) return 0;
if ((flag & UC) == 0)
{
printf("lack of uppercase.\n");
}
if ((flag & LC) == 0)
{
printf("lack of lowercase.\n");
}
if ((flag & NUM) == 0)
{
printf("lack of number.\n");
}
return -1;
}
int main(int argc, char *argv[])
{
char pass1[100];
char pass2[100];
do {
printf("input password:");
scanf("%s", pass1);
printf("repeat password:");
scanf("%s", pass2);
} while (check(pass1, pass2) != 0);
return 0;
}
D. C語言的密碼檢測怎麼做
conio.h不是c標准頭文件,建議不要用這個頭文件。把這個頭文件刪掉。
將讀入密碼那行的函數改用gets
gets(input_pass);
另外為了避免bug,input_pass最好弄大一點。
E. 【檢測密碼】一些網站設定了一些指定密碼的規則。編寫一個方法,檢測一個字元串是否是合法的密碼。
可以使用 javascript jquery 用來驗證,用戶屬於是否合法,並制定一些輸入規則。
"運行"-->"REGEDIT"
打開分支:
[HKEY_LOCAL_
NTCurrentVersionWinlogon],它的子項定義為:
(1)名稱為「AutoAdminLogon」的字元串鍵值,其值設定為「1」;
(2)名稱為「DefaultDomain
Name」的字元串鍵值,其值為計算機名;
(3)名稱為「DefaultUserName」的字元串鍵值,其值為登錄的用戶名;
(4)名稱為「DefaultPassword」的字元串鍵值,其值為登錄用戶的密碼。
(5)設計一個密碼檢驗程序擴展閱讀:
字元串或串(String)是由數字、字母、下劃線組成的一串字元。一般記為 s=「a1a2···an」(n>=0)。它是編程語言中表示文本的數據類型。在程序設計中,字元串(string)為符號或數值的一個連續序列,如符號串(一串字元)或二進制數字串(一串二進制數字)。
通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。兩個字元串相等的充要條件是:長度相等,並且各個對應位置上的字元都相等。設p、q是兩個串,求q在p中首次出現的位置的運算叫做模式匹配。串的兩種最基本的存儲方式是順序存儲方式和鏈接存儲方式。
F. 編寫一個驗證密碼的程序,用C語言的數組相關知識解答,最好有注釋
#include<stdio.h>
#include<string.h>
void main()
{
char str1[20],str2[20]="abcd";//定義兩個字元抄串數組,str2存放已知密碼,str1存放輸入密碼
int i=0,k,flag=0;
printf("請輸入密碼:");
while(1)//死循環
{
gets(str1);//輸入密碼
k=strcmp(str1,str2);//比較,輸入密碼和已知密碼相等,k=0
++flag;//計數器加1
if(!k)
{ printf("歡迎使用\n");
break;
}
else if(k&&flag!=3) printf("密碼輸入錯誤,請再次輸入:\n");
if(flag==3)//當輸入超過三次,跳出循環,結束程序
{
printf("對不起,您無權使用");
break;
}
}
}