c語言密碼代碼
1. 懸賞100分 如何用c語言 寫一個密碼程序
clude "string.h"
//考慮到用資料庫文件保存注冊信息的話要使用access創建文件並且還要配置數據源,所以我的方法是採用將注冊信息保存到文件
//下面是完整的程序:
//登陸檢測函數
int login(char *name,char *password)
{
char info[10000];
char *p=info;
FILE *file=fopen("user","r");
int size;
if(file)
{
size=fread(info,1,10000,file);
while(size!=(int)p-(int)info)
{
if(!strcmp(p,name)&&!strcmp(p+strlen(p)+1,password))
{
fclose(file);
return 1;
}
p+=strlen(p)+1;
p+=strlen(p)+1;
}
}
fclose(file);
return 0;
}
//添加註冊信息入文件
void save(char *name,char *password)
{
FILE *file=fopen("user","a");
fwrite(name,1,strlen(name)+1,file);
fwrite(password,1,strlen(password)+1,file);
fclose(file);
}
#define PASSWORD "12345" //這里指定你要允許通過的密碼,比如12345,將引號里的數字改為你想要的即可
int main()
{
char password[100];
char name[100],c[100],password1[100];
tag1: printf("press 1 to register, or 2 to login\n");//輸入1為注冊,輸入2為登陸
while(1)
{
gets(c);
if('1'==c[0])
{
printf("please enter your name\n");//輸入姓名
gets(name);
tag2: printf("please enter your password\n");//輸入密碼
gets(password);
printf("please enter your password again\n");
gets(password1);
if(strcmp(password,password1))
{
//兩次密碼不一致,重輸
printf("the password you entered is different from the first one,please try again!\n");
goto tag2;
}
printf("register is completed!\n");//注冊成功
//下面實現將注冊信息加入文件保存
save(name,password);
goto tag1;
}
else if('2'==c[0])
{
tag3: printf("please enter your name:\n");
gets(name);
printf("please enter your password:\n");
gets(password);
if(login(name,password))//如果驗證通過,則
{
printf("login successfully!\n");
//這里添加成功登陸後要執行的代碼
}
else
{
printf("your name or password doesn't exist!\n");//否則重輸
goto tag3;
}
}
else
{
printf("invalid input!press 1 to register, or 2 to login\n");//輸入非法,重輸
goto tag1;
}
}
return 0;
}
餓,寫了我兩個小時啊,大哥,分一定要給我啊~~~~~~
2. 跪求一個:c語言密碼驗證程序的源代碼
#include<stdio.h>
#include<conio.h>
#include<string.h>
char password[10]="hunter";
typedef struct
{
char data[6];
int top;
}stacktype;
void initstack(stacktype *s)
{
s->top=-1;
}
void push(stacktype *s,char x)
{
if(s->top==6)
printf( "stack is full");
else
{
s->top++;
s->data[s->top]=x;
}
}
int pop(stacktype *s)
{
if(s->top==-1) return(0);
else s->top--;return(1);
}
char stacktop(stacktype *s)
{
char x;
if(s->top==-10) return(0);
else x=s->data[s->top];return(x);
}
void programme(stacktype *s)
{
char a;
char b[5];
int i,j,c;
printf( "請輸入一個六位數的密碼,你只有三次機賀晌會:\n");
for(i=0;i<=2;i++)
{
for(j=0;j<=5;j++)
{
c=j;
a=getch();
if((int)a!=8)
{
printf( "*");
push(s,a);
}
else
{
printf("\b \b");
j=c-2;
pop(s);
}
}
for(j=5;j>=0;j--)
{
pop(s);
b[j]=stacktop(s);
}
b[6]='\0';
printf( "\n");
if(strcmp(password,b)==0)
{
printf( "密碼正確\n");
break;
}
else
{
printf("密碼錯誤,請再試一次!\n");
continue;
}
}
if(i==3)
printf("禪滲鋒密碼錯誤,即刻退出\喊型n");
}
void main()
{
stacktype s;
initstack(&s);
programme(&s);
}
這是個範例,你自己研究研究
3. 【在線等…!!!】用C語言寫一個密碼程序
//---------------------------------------------------------------------------
#include
<stdio.h>
#include
<string.h>
#include
<ctype.h>
#define
PFE
"pas.dat"
/*保存密碼的文件*/
#define
DEFPAS
"123456"
/*初始密碼*/
void
setpass(void)
{
FILE
*fp=NULL;
char
pas[20];
printf("是否設置新密碼?(Y/N):");
fflush(stdin);
if
(tolower(getchar())=='y')
{
printf("請輸入新密碼:\
");
scanf("%20s",pas);
fp=fopen(PFE,"wb");
fwrite(pas,sizeof(char),strlen(pas),fp);
fclose(fp);
printf("已經設置新密碼,下次請使用新密碼登錄\
");
}
fflush(stdin);
}
int
main(void)
{
FILE
*pf;
char
pass[20]=DEFPAS,ch[20];
if
(pf=fopen(PFE,"rb"))
{
fread(pass,sizeof(char),20,pf);
fclose(pf);
}
printf("請輸入密碼:");
scanf("%s",ch);
if
(!strcmp(ch,pass))
{
printf("登錄成功\
");
setpass();
printf("歡迎使用本系統\
");
getchar();
}
else
printf("密碼錯誤,登錄失敗!\
");
return
0;
}
//---------------------------------------------------------------------------
4. c語言星型密碼源代碼
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main ()
{
char ch[6];
int i,n;
printf("請輸入襲迅密碼\拍游此n");
for(n=0;n<5;n++)
{
ch[n] = getch();
printf("*");
}
printf("\n");
ch[n] = '\0';
if(0 == strcmp(ch,"55555"))
{
printf("密碼正確\n");
}
else
{
printf("密碼錯誤\磨譽n");
}
}
5. 用C語言程序編寫用戶名密碼 程序
#include<stdio.h>
#include<string.h>
void main()
{
int i,flag1,flag2;
char name[20]="lushan",password[10]="困沖123456";
char person[20],password1[10];
for(i=0;i!=3;)
{
printf("攔殲Please input the name:\n");
gets(person);
flag1=strcmp(person,name);
printf("Please input the password:\n");
gets(password1);
flag2=strcmp(password,password1);
if(flag1==0&&flag2==0)
{
printf("Pass successfully!");
break;
}
else
{
printf("You have enter the wrong name or password!\n"汪衡殲);
i++;
}
}
}
6. C語言用c寫一個可以驗證賬號,密碼和修改密碼的程序
#include <string.h>
struct e
{
char a[10];
char b[10];
}z;
int main()
{ int t=0;
char s[10],d[10];
FILE *p;
void as();
if ((p=fopen("m.txt","r+"))==NULL)
{
p=fopen("m.txt","w+");
t=1;
}
if(t==1)
{
printf("當前沒有任何用戶\n");
printf("請新建用戶名: ");
scanf("%s",s);
printf("為用戶設置密碼: ");
scanf("%s",d);
strcpy(z.a,s);
strcpy(z.b,d);
fprintf(p,"%s %s",z.a,z.b);
fclose(p);
}
if(t==0)
{
printf("請輸入用戶名: ");
scanf("%s",s);
fscanf(p,"%s %s",z.a,z.b);
fclose(p);
if (!strcmp(z.a,s))
{
printf("請輸入密碼:");
scanf("%s",d);getchar();
if(!strcmp(z.b,d))
{ char i;
printf("是否要修改密碼?(輸入y修改,n退出!)");
scanf("%c",&i);
if(i=='y')
{
printf("請輸入修改密碼:");
scanf("%s",z.b);
p=fopen("m.txt","w+");
fprintf(p,"%s %s",z.a,z.b);
fclose(p);
printf("修改成功!");
}
}
else printf("密碼錯誤!");
}
else printf("用戶名錯誤");
fclose(p);
}
}
7. 用C語言做一個輸入密碼程序
以gcc編譯器為例,可以分為四步。
第一步是預處理,包括語法檢查等工作。
gcc
-p
abc.c
第二步由源程序生產匯編語言代碼。
gcc
-s
abc.c
會生成abc.s文件,這個文件里就是匯編代碼。
第三步編譯器生成目標代碼,一個源文件生成一個目標代碼。
gcc
-c
abc.c
會生成abc.o
第四步連接器從目標代碼生成可執行文件。
gcc
abc.o
目標代碼包括機器碼和符號表(函數及變數名)。連接器的主要作用是通過符號表在庫文件和其他模塊中找到在目標代碼中引入或未定義的符號(函數及變數名),將幾個目標代碼合成可執行文件。
8. 如何用C語言編寫密碼程序
1、用一個字元數組來存密碼
再用一個字元數組接收你的輸入,然後用strcmp
來比較,如果返回0則密碼是正確的
2、常式:
#include"stdio.h"
#include"string.h"
intmain()
{
charmima[100]="YuanShi888";
charinput[100]={0};
printf("請輸入密碼:");
gets(input);
if(strcmp(mima,input)==0)
printf("恭喜你,密碼正確! ");
else
printf("對不起,密碼輸入錯誤! ");
}
9. 幫忙用C語言寫一個密碼
#include <stdio.h>
#define MAX_LENGTH 128
#define FILE_NAME "pwd.dat"
#define INIT_PWD "123456"
char pwd[MAX_LENGTH+1];
void Init ( void )
{
FILE *fp;
fp = fopen ( FILE_NAME, "r" );
if ( fp == NULL )
{
strcpy ( pwd, INIT_PWD );
}
else
{
fgets ( pwd, MAX_LENGTH, fp );
fclose ( fp );
}
}
void Login ( void )
{
char ch;
char tmp[MAX_LENGTH+1];
int pass = 1;
while ( pass )
{
puts ( "==================================\nPlease input your password!" );
scanf ( "%s", tmp );
pass = strcmp ( tmp, pwd );
}
}
void Edit ( void )
{
puts ( "Please input a new password!" );
scanf ( "%s", pwd );
}
void End ( void )
{
FILE *fp;
fp = fopen ( FILE_NAME, "w" );
if ( fp == NULL )
{
printf ( "Cannot save your password!\n" );
system ( "pause" );
}
else
{
fputs ( pwd, fp );
fclose ( fp );
}
}
int main ( void )
{
Init();
Login();
Edit();
End();
}
10. C語言密碼輸入代碼,哪錯了
#include <stdio.h>
#include <conio.h> //getch()函數在這個頭文件中定義的
#include <string> //strcmp函數在這個頭文件中定義的
#define max 20
int LongOn()
{
int i=0;
char name[max],password[max];
memset(password, 0x00, max);
printf("\nplease put your name: ");
scanf("%s",name);
printf("\nplease put your password: ");
while((i < max) && ((password[i++]=getch()) != '\r'))printf("*"); //注意括弧,避免優先順序悔困錯搏前激誤
password[--i]= '\0';
if(!strcmp(name,"wang")&&!strcmp(password,"12345678"))
{
printf("\nsuccess\n");
return 1;
}
else
{
printf("\nerror\n");
return 0;
}
}
void main()
{
LongOn();
system("pause");
} //這里的符號錯誤,應該用半形的基襪,調整下輸入法