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

#include //我自己做的,你拿去用吧!

#include

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 #include #include int string_same(char *string_1,char *string_2);/*判断两个字符串是否一致的子函数原型*/ void enter_mima(char *enter_1); //输入密码时,用“*”代替密码 int main(void) { FILE *mimawenjian; /*密码文件变量*/ char mima_1[30],mima_2[30];//用来储存密码的数组 int loop_1; char dh_1[6];//用于记录输入的程序代号 printf(" 欢迎进入程序控制台\n"); printf("--------------------------------------------------------------------------------"); /****************************************************************************************************************************/ if ((mimawenjian/*密码文件变量*/=fopen("password","r"))==NULL) /*判断密码文件是否存在,以下的程序代码是假设的密码文件不存在*/ { mimawenjian/*密码文件变量*/=fopen("password","w"); //这里表示,既然没密码文件那就新建一个可以入文件的密码文件 printf("这是你第一次使用本程序,请设置登录密码!\n"); for(;;) /*循环输入密码,直到两次输入的密码一致*/ { printf("请输入你要设置密码:"); //scanf("%s",mima_1);fflush(stdin); enter_mima(mima_1);fflush(stdin); printf("请再次输入设置密码:"); //scanf("%s",mima_2);fflush(stdin); enter_mima(mima_2);fflush(stdin); if(string_same(mima_1,mima_2)==1) break; /*这里的意思是,如果两次输入的密码一致时,就跳出循环,准备密码*/ else printf("提示密码输入错误,请重新设置!\n"); /*这里的意思是,如果两次输入的密码不一致时,就提示密码输入错误*/ } printf("你的密码是:%s,请妥善保管!\n",mima_1); fputs(mima_1,mimawenjian); /*将密码密码文件*/ fclose(mimawenjian);//关闭密码文件 } /*********************************************************************************************************************************/ //********************************************************************************************************************************* else /*判断密码文件是否存在,以下的程序代码是假设的密码文件存在*/ { //------------------------------------------------ char *n=mima_1,i; // while (( i=fgetc(m
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值