c語言函數設置密碼 c語言函數設置密碼怎么設置

C語言程序前怎么加密碼

這個簡單

創新互聯是一家專注于成都網站設計、網站建設與策劃設計,昭通網站建設哪家好?創新互聯做網站,專注于網站建設十載,網設計領域的專業建站公司;建站業務涵蓋:昭通等地區。昭通做網站價格咨詢:13518219792

這就就是加密函數

int?password()

{

int?n=0,a=0;

char?mi1[80];

int?i=0,a1,a2,a3;

int?index=0,m=0;

char?str[30];

char?user[12];

do{

printf("\n\t************************how?are?you*****************************\n\n\n");

printf("\t\tplease?input?the?username:");

scanf("%s",user);??????????????????

a1=strcmp(user,"20085126");

if(a1==0)

{

FILE?*f1;

if((f1=fopen("1mi.txt","rt"))==NULL)?

{?

printf("Cannot?open?file?strike?any?key?exit!");???????

exit(0);

}

rewind(f1);//重定向文件內部指針將文件內部的位置指針重新指向一個流(數據流/文件)的開頭

fgets(mi1,7,f1);

do{

printf("\n\t\tplease?input?the?password:");

scanf("%s",str);

printf("\n");

if(!strcmp(str,user))??????????????/*比較密碼是否一樣*/

m=1;

index++;

if(index3)

{

printf("\n\t*****************************************************\n\n");

printf("\t\tThe?error?number?is?more?than?three?times?while?input?the?password,?exit?system!\n");

printf("\n\t*****************************************************\n\n\n");

return?0;

}

}while(m==0);

fclose(f1);

}

}

}

睿爾科技

更新學習資料

C語言學生信息錄入系統,有個初始密碼為admin現在如何增加一個用戶自定義的修改密碼函數

//專門注冊用戶和登錄的代碼

#include?stdio.h

#include?stdlib.h

#include?string.h

#include?stdbool.h

#include?windows.h

typedef?struct

{

int?x;

int?y;

}PT_STRUCT;

typedef?struct

{

char?user[20];

char?pw[20];

}USER_STRUCT;

PT_STRUCT?pt;

bool?LoginSuccess=false;

char?CurrentUser[20]={'\0'};

int?UserCount=0;

USER_STRUCT*?pUser=NULL;

char?WorkDir[100]={'\0'};

char?DataFile[100]={'\0'};

void?setxy(int?x,?int?y)??//設置光標位置?

{

COORD?coord?=?{x,?y};

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),?coord);

}

void?getxy()?????????????//獲取當前光標所在位置?

{

HANDLE?hConsole?=?GetStdHandle(STD_OUTPUT_HANDLE);

COORD?coordScreen?=?{0,?0};?//光標位置

CONSOLE_SCREEN_BUFFER_INFO?csbi;

if(GetConsoleScreenBufferInfo(hConsole,?csbi))

{

pt.x=csbi.dwCursorPosition.X;

pt.y=csbi.dwCursorPosition.Y;

}

}

void?input(char*?buf)

{

int?len=strlen(buf);

int?c;

int?i=0;

while(1)

{

c=getch();

if(c==8??i==0)

{

continue;

}

if(c==10?||?c==13)?break;

if(c==8??i0)

{

buf[i-1]='\0';

i--;

getxy();

setxy(pt.x-1,pt.y);

printf("?");

setxy(pt.x-1,pt.y);

}

else?if(i=0)

{

printf("*");

buf[i++]=c;

}

if(i=buf)

{

return;

}

}

}

void?GetUserDataFromFile()

{

UserCount=GetPrivateProfileInt("USER","user_count",0,DataFile);

if(pUser!=NULL)

{

free(pUser);

}

pUser=(USER_STRUCT*)malloc(sizeof(USER_STRUCT)*(UserCount+1));

int?i;

char?ch[5];

for(i=0;iUserCount;i++)

{

memset(ch,'\0',5);

sprintf(ch,"%d",i+1);

GetPrivateProfileString(ch,"user","",pUser[i].user,20,DataFile);

GetPrivateProfileString(ch,"pw","",pUser[i].pw,20,DataFile);

}

}

void?WriteDataToFile()

{

int?i;

char?t[5]={"\0"};

sprintf(t,"%d",UserCount);

WritePrivateProfileString("USER","user_count",t,DataFile);

for(i=0;iUserCount;i++)

{

sprintf(t,"%d",i+1);

WritePrivateProfileString(t,"user",pUser[i].user,DataFile);

WritePrivateProfileString(t,"pw",pUser[i].pw,DataFile);

}

GetUserDataFromFile();

}

bool?login()

{

if(LoginSuccess==true)

{

printf("\n當前已有用戶登錄!?重新登錄嗎?(Y/N)");

char?sel;

fflush(stdin);

scanf("%c",sel);

if(sel=='y'?||?sel=='Y')

{

LoginSuccess==false;

}

else

{

return?false;

}

}

char?user[20]={'\0'};

char?pw[20]={'\0'};

printf("\nInput?User:?");

fflush(stdin);

scanf("%s",user);

printf("\nInput?Password:?");

fflush(stdin);

input(pw);

bool?find=false;

int?i;

for(i=0;iUserCount;i++)

{

if(strcmp(user,pUser[i].user)==0??strcmp(pw,pUser[i].pw)==0)

{

find=true;

LoginSuccess=true;

strcpy(CurrentUser,pUser[i].user);

break;

}

}

if(find==true)

{

return?1;

}

else

{

return?0;

}

}

bool?regist(char*?ErrBuf)

{

char?user[20]={'\0'};

char?pw1[20]={'\0'};

char?pw2[20]={'\0'};

printf("\nInput?User:?");

fflush(stdin);

scanf("%s",user);

int?i;

for(i=0;iUserCount;i++)

{

if(strcmp(user,pUser[i].user)==0)

{

strcpy(ErrBuf,"User?Repeat");

return?false;

}

}

printf("\nInput?Password:?");

fflush(stdin);

input(pw1);

printf("\nReInput?Password:?");

fflush(stdin);

input(pw2);

if(strcmp(pw1,pw2)!=0)

{

strcpy(ErrBuf,"Password?Differ");

return?false;

}

strcpy(pUser[UserCount].user,user);

strcpy(pUser[UserCount].pw,pw1);

UserCount++;

return?true;

}

int?main()

{

_getcwd(WorkDir,100);?//取得當前程序的絕對路徑

strcpy(DataFile,WorkDir);

strcat(DataFile,"\\user.dat");

if(access(DataFile,0))

{

printf("\n用戶數據文件不存在,?按任意鍵將創建文件");

getchar();

FILE*?fp;

fp=fopen(DataFile,"wb");

int?re=fputs("[USER]\nuser_count=0",fp);

if(re=0)

{

printf("\n用戶數據文件創建成功!");

}

else

{

printf("\n用戶數據文件創建失敗!");

}

getchar();

fclose(fp);

}

GetUserDataFromFile();

while(1)

{

system("cls");

printf("已注冊用戶%d\n",UserCount);

if(LoginSuccess==true)

{

printf("Logined?User?:?%s",CurrentUser);

}

printf("\n-------------------------------");

printf("\n登錄---1");

printf("\n注冊---2");

printf("\n退出---3");

printf("\n-------------------------------");

printf("\n\nInput:(1,2,3)?:?");

fflush(stdin);

int?sel;

bool?re;

char?ErrBuf[50]={'\0'};

scanf("%d",sel);

switch(sel)

{

case?1:

re=login();

if(re==true)

{

printf("\nLogin?Success!?Current?User:?%s",CurrentUser);

fflush(stdin);

getchar();

}

else

{

printf("\nLogin?Fail!");

fflush(stdin);

getchar();

}

break;

case?2:

memset(ErrBuf,'\0',50);

re=regist(ErrBuf);

if(re!=true)

{

printf("%s?Register?Fail!",ErrBuf);

fflush(stdin);

getchar();

}

else

{

WriteDataToFile();

printf("\nRegister?Success!");

fflush(stdin);

getchar();

}

break;

case?3:

exit(0);

break;

default:

break;

}

}

return?0;

}

c語言用調用函數寫登錄密碼

可以定義兩個字符數組;

一個存放正確密碼;

另一個數組內的內容由用戶輸入;

調用strcmp函數,若返回值為0則說明兩者完全相等;

列子:

char a[10]="4488" //保存正確密碼

char b[10];

gets(b) //用戶輸入

if(strcmp(a,b)==0)

printf(" 匹配成功 ");

else

printf("匹配失敗");

更多追問追答

追問

#include

void main()

{

char a[10]="8844";

char b[10];

gets(b)

if(strcmp(a,b)==0)

printf("yes");

else

printf("no");

getch();

請問,用C語言如何實現密碼輸入?

c語言中可采用getch()函數來實現輸入密碼字符時,不顯示字符到終端上,這時,只需要顯示出一個相應的*就可以達到效果了。參考代碼及運行效果如下圖:

名稱欄目:c語言函數設置密碼 c語言函數設置密碼怎么設置
鏈接URL:http://m.kartarina.com/article36/dogijsg.html

成都網站建設公司_創新互聯,為您提供響應式網站、全網營銷推廣、商城網站網站排名、品牌網站設計、網站改版

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設
主站蜘蛛池模板: 亚洲动漫精品无码av天堂| 亚洲Av无码乱码在线观看性色 | 精品无码人妻一区二区三区| 久久久国产精品无码免费专区| 亚洲一本到无码av中文字幕| 亚洲中文字幕无码一区| 永久免费av无码不卡在线观看| 亚洲av无码乱码在线观看野外| 精品无码av一区二区三区| 中文字幕人妻三级中文无码视频| 日韩网红少妇无码视频香港| 亚洲AV无码一区二区三区鸳鸯影院 | 性色av无码免费一区二区三区| 久久精品亚洲中文字幕无码网站 | 国模GOGO无码人体啪啪| 无码人妻精品一二三区免费| 久久亚洲AV无码精品色午夜麻豆| 亚洲男人第一无码aⅴ网站| 亚洲aⅴ无码专区在线观看| 四虎成人精品无码| 无码人妻精品中文字幕| 国产AV无码专区亚洲AV漫画 | 日韩成人无码一区二区三区| 亚洲AV无码久久精品蜜桃| 亚洲免费无码在线| yy111111少妇影院无码| 国产AV无码专区亚洲AV麻豆丫| 免费A级毛片无码A∨免费| 亚洲国产精品无码专区| 亚洲av永久无码精品秋霞电影影院| 国产精品va无码免费麻豆| 无码日韩AV一区二区三区| 国产一区二区三区无码免费 | 久久久无码精品亚洲日韩蜜臀浪潮| 国产AV无码专区亚洲AV手机麻豆| 日韩精品无码一区二区三区AV| 国产亚洲情侣一区二区无码AV | 无码国产精品一区二区免费3p| 亚洲av无码不卡一区二区三区| 亚洲ⅴ国产v天堂a无码二区| 久久久久无码精品国产不卡|