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

作者&投稿:关度 (若有异议请与网页底部的电邮联系)
C语言编写用户登录程序~

艾达的小刀
#include
#include
#include
#include

/*随机码产生函数*/
void RandomCode (char Rcode[])
{
int i;
srand ((unsigned int)time(NULL));
for (i = 0; i < 3; ++i)
Rcode[i] = rand()%10 + '0';
Rcode[i] = '\0';
}
/*登陆函数,判断信息是否匹配,若匹配返回1,否则返回0*/
int LandedApp (char *password[], char Rcode[])
{
char name[10] = {0};
char pword[10] = {0};
char rcode[4] = {0};

printf ("用户名 : ");
gets (name);
printf ("密码 : ");
gets (pword);
printf ("随机码 : ");
gets (rcode);

if (strcmp (name, password[0]) != 0 || strcmp (pword, password[1]) != 0 || strcmp (rcode, Rcode) != 0)
return 0;
else
return 1;
}

int main ()
{
char * password[2] = {"admin", "admin123"}; //用户名和密码
char rc[4] = {0}; //随机码
int count = 3; //可输入次数

puts ("请输入用户名,密码和随机码:");
while (count)
{
RandomCode (rc);
printf ("随机码 : %s
", rc);
if (LandedApp(password, rc) != 0)
break;
--count;
if (count != 0)
puts ("错误的用户名或密码或随机码,请重新输入: ");
}
if (count != 0)
puts ("
成功登陆!");
else
puts ("
登录失败 !");

return 0;
}
艾达的小刀



你是要哪一种的?

代码如下:

#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("
");

if (strcmp(password, "972816") == 0)

{

printf("登录成功
");

break;

}

else

{

i++;

if (i != 3)

printf("再输入一次");

}

}

if (i == 3)

printf("密码错误三次退出登录界面
");

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");
}

简单的做法就是在要比对登陆密码及账号是否正确的时候,把记录了账号密码的文件读到内存里面,链表保存就好了,然后遍历链表,看看有没有相匹配的用户名,有了就验证密码。
要修改密码,还是找链表了列,找到了账户就改密码,然后整个链表回写数据文件即硬盘,完成

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

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



如何用c语言编写一个程序,根据用户输入英文名和姓先显示姓氏,其后跟一...
答:Enter a first and last name:Lloyd Fosdick Fosdick,L 程序代码:include<stdio.h>#include<stdlib.h>//定义一个新类型bool#define N 40 int main(void){char name[N],ch;int num=0,i=0;printf("Enter a first and last name:");while((ch=getchar())!='/n'){name[num]=ch;num++...

用c语言编写用户登录的程序
答:你好!这是一个控制台登陆界面,可以满足你的要求吗

用C语言编写一个简单的程序?
答:c语言是函数语言,所以画图也离不开各种图形函数:下面举几个简单的例子:=== 1./*学用circle画圆形*/ include "graphics.h"main(){int driver,mode,i;float j=1,k=1;driver=VGA;mode=VGAHI;initgraph(&driver,&mode,"");setbkcolor(YELLOW);for(i=0;i<=25;i++){ setcolor(8);circle...

大学c语言框架梳理基础知识要打牢
答:C语言7个编辑的步骤强烈推荐 第1步:定义程序目标 当你在开始写程序之前,你应对希望程序要做什么有一个清晰的想法。考虑程序需要的信息,程序需要进行的计算和操作,以及程序应该向你报告的信息。在这一规划阶段,你应该用一般概念来考虑问题,而不是一些具体的计算机语言术语来考虑。简单来说,我们所要思考的就是,这个...

编写一个c语言程序,实现录入学生学号和姓名信息的功能
答:include<stdio.h> include<stdlib.h> intmain(void){ chars[10];//姓名 intnum;//学号 printf("请输入姓名:\n");gets(s);printf("请输学号:\n");scanf("%d",&num);printf("姓名是:%s\n学号是:%d\n",s,num);system("pause");return0;} ...

作业要求: 用c语言编写一个完整的程序,功能如下: 1,创建一个线性表,采...
答:struct link *head1,*head2;int i;head1=creat();print(head1);printf("\n你要删除第几个数据:\n");scanf("%d",&i);head2=delet(head1,i);/*这里一定要用head2与前面的head1区分对待,否则如果如果链表并无改变 而仅仅是头指针指向了第二个结点,那么实际上也是从第一个结点开始输出*...

用c语言编写一个程序,接受用户输入字符串;编写一个函数,讲用户的指定...
答:include <stdio.h> define N 20 int main(void){ char ch[N], find;int i;printf("请输入字符串:");scanf("%s", ch);printf("请输入你要查找的字符:");scanf("%c", &find);for(i=0; i<N; i++){ if (ch[i] != find)putchar(ch[i]);} return 0;} ...