#include string.h

創(chuàng)新互聯(lián)建站于2013年開始,先為南潯等服務(wù)建站,南潯等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為南潯企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
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("當(dāng)前沒有任何用戶\n");
printf("請新建用戶名: ");
scanf("%s",s);
printf("為用戶設(shè)置密碼: ");
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("密碼錯(cuò)誤!");
}
else printf("用戶名錯(cuò)誤");
fclose(p);
}
}
#include?stdio.h
#include?string.h
#include?ctype.h
int?main()
{?char?psw[21]="123456",t1[21],t2[21];
int?i,n=0;
printf("請輸入初始密碼:\n");
do
{?gets(t1);
n++;
err=strcmp(t1,psw);
if(err)printf("初始密碼錯(cuò)誤!請重新輸入!\n");
}
while(errn3);
if(strcmp(t1,psw))
{?printf("密碼錯(cuò)誤,不能登錄!\n");
return?0;
}
while(n3)
{?while(n3)
{?printf("請輸入新密碼:\n");
gets(t1);
for(i=0;?t1[i];?i++)
if(isdigit(t1[i]))n++;
if(n3)
{?n=0;
printf("數(shù)字必須大于2位!\n");
}
}
printf("請?jiān)俅屋斎胄旅艽a:\n");
gets(t2);
if(strcmp(t1,t2)==0)
printf("密碼修改成功!\n");
else
{?printf("二次密碼不一致!\n");
n=0;
}
}
return?0;
}
#include stdlib.h
#include stdio.h
#include string.h
#define N 10000
void function(char message[],char key[],int mode); //加解密函數(shù)
int main()
{
int choose;
char m[N],key[N];
printf("維吉尼亞加密,請輸入1;解密,請輸入2:\n");
scanf("%d",choose);
getchar();
if (choose == 1 || choose == 2)
{
if (choose == 1)
printf("輸入明文:\n");
if (choose == 2)
printf("輸入密文:\n");
gets(m);
printf("輸入密鑰:\n");
gets(key);
function(m,key,choose);
}
else
printf("輸入錯(cuò)誤!\n");
return 0;
}
void function(char message[],char key[],int mode) //加解密函數(shù)
{
int i, j = 0; //j控制key的輪回
int len_k = strlen(key); //密鑰長度
char s[N];
for(i=0; message[i]!='\0'; i++)
{
if(message[i] == 32) //判斷空格
s[i]=' ';
else
{
if (mode == 1)
s[i]=(int(message[i]-'a')+int(key[j%len_k]-'a'))%26+97;
if (mode == 2)
s[i]=(int(message[i]-'a')-int(key[j%len_k]-'a')+26)%26+97;
j++;
}
printf("%c",s[i]);
}
printf("\n");
}
gets(l);//不加這句M就輸入不了為什么?
是因?yàn)闆]有這句的話,按的回車鍵就輸成m了。
連用兩個(gè)輸入語句時(shí),需要考慮回車鍵,就像我代碼里的getchar()。
char mycrypt ( char ch, int key )
{
if ( ch = 'Z' ch = 'A' )
{
ch -= 'A';
ch += 26 + key;
ch = ch % 26;
ch += 'A';
}
else if ( ch = 'z' ch = 'a' )
{
ch -= 'a';
ch += 26 + key;
ch = ch % 26;
ch += 'a';
}
return ch;
}
void password(char *pass)
{
scanf("%s",pass);
}
不能在函數(shù)的棧變量中修改,就直接以指針/引用方式傳參就可以了。
滿意請采納,不滿意請追問
#include "stdio.h"
int* set(void);
int* set(void)
{
int i;
static a[4];
printf("請輸入要設(shè)置的4位密碼 :");
for(i=0;i4;i++)
{
scanf("%d",a[i]);
}
return a;
}
int main()
{
int i,*a,b[4];
a=set();
printf("請輸入4位密碼 :");
for(i=0;i4;i++)
{
scanf("%d",b[i]);
}
i=0;
while(i4)
{
if(a[i]==b[i])
{
printf("%d",a[i]);
i++;
}
else
{
break;
}
}
if(i==4)
{
printf("密碼正確\n");
}
else
{
printf("密碼錯(cuò)誤\n");
}
return 0;
}
分享題目:c語言修改密碼的函數(shù),C語言修改密碼
轉(zhuǎn)載來源:http://chinadenli.net/article21/dsejpcd.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、移動(dòng)網(wǎng)站建設(shè)、面包屑導(dǎo)航、網(wǎng)站內(nèi)鏈、全網(wǎng)營銷推廣、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)