C语言编写一个用户登陆的程序?
用户名 密码
A0001 111111
A0002 222222
admin 333333
要求用户输入ID和密码,程序检验密码是否正确,正确的话登陆成功,并且能显示你是一般用户还是管理员(admin)
登陆进去之后还要能修改密码。。
高分急求。。 展开
代码如下:
#include<stdio.h>
#pragma warning(disable:4996)
#include<string.h>
int main()
{
int i = 0;
char password[10] = { 0 };
printf("请输入密码:");
while (i < 3)
{
scanf("%s", password);
printf("\n");
if (strcmp(password, "972816") == 0)
{
printf("登录成功\n");
break;
}
else
{
i++;
if (i != 3)
printf("再输入一次");
}
}
if (i == 3)
printf("密码错误三次退出登录界面\n");
system("pause");
return 0;
扩展资料:
#include后面有两种方式,<>;和""前者先在标准库中查找,查找不到在path中查找。后者为文件路径,若直接是文件名则在项目根目录下查找。
引用方法:#include <stdio.h>
注意事项:在TC2.0中,允许不引用此头文件而直接调用其中的函数,但这种做法是不标准的。也不建议这样做。以避免出现在其他IDE中无法编译或执行的问题。
参考资料来源:百度百科—include
参考资料来源:百度百科—stdio.h
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int i=0;//当前账号标记
int flag1=0;//登录成功标记
struct user
{
char user_Name[6];
char user_Pass[7];
}stu[3]={{"A0001","111111"},{"A0002","222222"},{"admin","333333"}};//初始化用户名和对应密码
void main()
{
void print_Passwd(void);
void xiugai_Passwd(void);
while(1)
{
print_Passwd();
}
}
void print_Passwd(void)
{
int flag=0;//密码正确标记
char p[5];//临时用户名
char s[6];//临时密码
char num=0;//密码次数
char temp;//登录后改密码
printf("请输入登录名:\n");
scanf("%s",p);
for(i=0;i<3;i++)
{
if(strcmp(stu[i].user_Name,p)==0)
{
flag=1;
break;
}
}
if(1==flag)
{
printf("请输入密码:\n");
scanf("%s",s);
}
else
{
printf("没有此用户:\n");
exit(0);
}
while(strcmp(stu[i].user_Pass,s)!=0)
{
num++;
if(3==num)
{
printf("密码输入错误超过3次,系统自动退出!\n");
exit(0);
}
printf("密码错误!\n");
printf("请重新输入密码:\n");
scanf("%s",s);
}
printf("登录成功!\n");
flag1=1;
if(flag1==1)
{
if(strcmp("admin",p)==0)
{
printf("注:你是VIP超级用户!\n");
}
else
printf("注:你是普通用户\n");
printf("请按1修改密码,其他键退出系统:\n");
scanf("%d",&temp);
if(1==temp)
{
xiugai_Passwd();
}
else
{
exit(0);
}
}
}
void xiugai_Passwd(void)//修改密码
{
char p[10];//新密码
printf("请输入新密码:\n");
scanf("%s",p);
strcpy(stu[i].user_Pass,p);
printf("修改密码成功:\n");
printf("请重新登录:\n");
}
要修改密码,还是找链表了列,找到了账户就改密码,然后整个链表回写数据文件即硬盘,完成
很简单的一个框架,用链表和文件操作就可以搞定,作业类型的题目!
给个例子你参考下,在附件