C语言编写一个用户登陆的程序?

事先在一个文档里存了几个用户名(5位)和对应密码(6位),如:用户名密码A0001111111A0002222222admin333333要求用户输入ID和密码,程序检验... 事先在一个文档里存了几个用户名(5位)和对应密码(6位),如:
用户名 密码
A0001 111111

A0002 222222
admin 333333
要求用户输入ID和密码,程序检验密码是否正确,正确的话登陆成功,并且能显示你是一般用户还是管理员(admin)
登陆进去之后还要能修改密码。。
高分急求。。
展开
 我来答
次次次蛋黄米亚
高粉答主

推荐于2019-09-06 · 说的都是干货,快来关注
知道小有建树答主
回答量:7778
采纳率:100%
帮助的人:207万
展开全部

代码如下:

#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

百度网友1c23d0a81
推荐于2017-09-28 · TA获得超过165个赞
知道小有建树答主
回答量:228
采纳率:0%
帮助的人:87.4万
展开全部
//看到你的问题后我写的
#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");
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
li446729462
2013-09-02 · TA获得超过131个赞
知道小有建树答主
回答量:130
采纳率:100%
帮助的人:89.7万
展开全部
简单的做法就是在要比对登陆密码及账号是否正确的时候,把记录了账号密码的文件读到内存里面,链表保存就好了,然后遍历链表,看看有没有相匹配的用户名,有了就验证密码。
要修改密码,还是找链表了列,找到了账户就改密码,然后整个链表回写数据文件即硬盘,完成
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xialuji123
2013-09-02 · 超过19用户采纳过TA的回答
知道答主
回答量:115
采纳率:0%
帮助的人:33.9万
展开全部

很简单的一个框架,用链表和文件操作就可以搞定,作业类型的题目!

给个例子你参考下,在附件

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式