怎么用c语言写一个创建用户名和密码并且能修改密码的程序?

怎么用c语言写一个创建用户名和密码并且能修改密码的程序?,第1张

#include //我自毕哗己做的,你拿去用吧!\x0d\x0a#include \x0d\x0astruct e\x0d\x0a{\x0d\x0a char a[10]\x0d\x0a char b[10]\x0d\x0a}z\x0d\x0aint main()\x0d\x0a{ int t=0\x0d\x0achar s[10],d[10]\x0d\x0aFILE *p\x0d\x0a void as()\x0d\x0aif ((p=fopen("m.txt","r+"))==NULL) \x0d\x0a {\x0d\x0a p=fopen("m.txt","w+")\x0d\x0a t=1\x0d\x0a }\x0d\x0a if(t==1)\x0d\x0a {\x0d\x0a printf("当前没有任何用户\n")\x0d\x0aprintf("请新建用户名: ")\x0d\x0a scanf("%s",s)\x0d\x0a printf("为用户猜数桐设置密码:穗坦 ")\x0d\x0a scanf("%s",d)\x0d\x0astrcpy(z.a,s)\x0d\x0astrcpy(z.b,d)\x0d\x0afprintf(p,"%s %s",z.a,z.b)\x0d\x0a fclose(p)\x0d\x0a }\x0d\x0a if(t==0)\x0d\x0a {\x0d\x0aprintf("请输入用户名: ")\x0d\x0ascanf("%s",s)\x0d\x0a fscanf(p,"%s %s",z.a,z.b)\x0d\x0a fclose(p)\x0d\x0a if (!strcmp(z.a,s))\x0d\x0a{\x0d\x0aprintf("请输入密码:")\x0d\x0a scanf("%s",d)getchar()\x0d\x0a if(!strcmp(z.b,d))\x0d\x0a { char i\x0d\x0a printf("是否要修改密码?(输入y修改,n退出!)")\x0d\x0a scanf("%c",&i)\x0d\x0a if(i=='y')\x0d\x0a { \x0d\x0a printf("请输入修改密码:")\x0d\x0a scanf("%s",z.b)\x0d\x0a p=fopen("m.txt","w+")\x0d\x0a fprintf(p,"%s %s",z.a,z.b)\x0d\x0a fclose(p)\x0d\x0a printf("修改成功!")\x0d\x0a \x0d\x0a }\x0d\x0a\x0d\x0a}\x0d\x0a else printf("密码错误!")\x0d\x0a}\x0d\x0aelse printf("用户名错误")\x0d\x0a fclose(p)\x0d\x0a \x0d\x0a }\x0d\x0a\x0d\x0a}

#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)

}

}

代码:

#include <stdio.h>

#include <string.h>

#define M 50

#define N 128

// 系统保存谨慎键的账号和密码

char name[M]

char pass[N]

char cryname[M]

char crypass[N]

// 简单加祥巧密函数

char * crypt(char s[]){

int i

    char cry[128]={'\0'}

for(i=0s[i]i++){

cry[i]=s[i]+i+5 // 自定义加密

}

cry[i]='\0'

return cry

}

// 登录验证

int main(){

    // 用户输入的账号和密码

char getname[M]

char getpass[N]

char crygetname[M]

char crygetpass[N]

char newpass[N]

int ch

// 

printf("===程序初始化===")

printf("\n======初始化账号:")

gets(name)

strcpy(cryname,crypt(name))

printf("======初始化密码:")

gets(pass)

strcpy(crypass,crypt(pass))

    printf("======初始化为:帐号:%s,%s密码:孝乱%s,%s",name,cryname,pass,crypass)

printf("\n\n===运行程序===\n")

do{

printf("\n======账号和密码验证======")

printf("\n======请输入账号:")

gets(getname)

strcpy(crygetname,crypt(getname))

printf("======请输入密码:")

gets(getpass)

strcpy(crygetpass,crypt(getpass))

printf("======初始化为:帐号:%s,%s密码:%s,%s",getname,crygetname,getpass,crygetpass)

}while(strcmp(cryname,crypt(getname)) && strcmp(crypass,crypt(getpass)))

printf("\n\n======验证通过=====")

    do{

printf("\n\n===请输入数字选择功能===")

printf("\n======1、查看账号和密码")

printf("\n======2、修改密码")

printf("\n======0、关闭程序")

printf("\n\n======请输入数字:")

scanf("%d",&ch)

        switch(ch){

case 1:

printf("\n\n========加密前的账号和密码:")

printf("\n===========账号:%s,密码:%s",name,pass)

printf("\n\n========加密后的账号和密码:")

printf("\n===========账号:%s,密码:%s",cryname,crypass)

break

case 2:

printf("\n\n========请输入新密码:")

scanf("%s",&newpass) 

strcpy(pass,newpass) //修改原始密码

strcpy(crypass,crypt(newpass)) //修改原始密码

printf("\n\n===========密码已修改,新密码为%s,加密后为:%s",pass,crypass)

break

}

}while(ch!=0)

return 0

}

运行:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12508777.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存