当前位置:首页 » 编程语言 » c语言用户登录系统

c语言用户登录系统

发布时间: 2022-07-27 17:39:04

㈠ 多用户登录系统c语言程序

#include<stdio.h>
#include<stdlib.h>
#include"string.h"
#include"windows.h"

inttotal=0;

structu_p
{
charuser[20];
charpass[20];
}s[50];

voidread()
{
total=GetPrivateProfileInt("INFO","count",0,"d:\Info.dat");
inti;
chart[5]={""};
for(i=0;i<total;i++)
{
sprintf(t,"%d",i+1);
GetPrivateProfileString(t,"USER","",s[i].user,20,"d:\Info.dat");
GetPrivateProfileString(t,"PASSWORD","",s[i].pass,20,"d:\Info.dat");
}
}

voidinput()
{
intp,i=0,count=0,f_u=0,f_p=0;
charuser[20]={""};
charpassword[20]={""};
while(1)
{
f_u=0;
f_p=0;
system("cls");
printf("当前共有%d个注册用户",total);
printf(" 请输入用户名:");
memset(user,'',20);
scanf("%s",user);
printf(" 请输入密码:");
memset(password,'',20);
i=0;
while(1)
{
p=_getch();
if(p==10||p==13)
{
break;
}
password[i++]=p;
printf("*");
}
for(i=0;i<total;i++)
{
if(strcmp(s[i].user,user)==0)
{
f_u=1;
if(strcmp(s[i].pass,password)==0)
{
f_p=1;
printf(" 欢迎%s",user);
fflush(stdin);
_getche();
continue;
}
}
}
if(f_u==0)
{
printf(" 不存在该用户名!选1重新输入,选2注册新用户");
intc=0;
fflush(stdin);
c=_getche();
if(c=='1')
{
continue;
}
elseif(c=='2')
{
system("cls");
printf("注册新用户");
printf(" 请输入用户名:");
memset(user,'',20);
scanf("%s",user);
printf(" 请输入密码:");
chartemp[20]={""};
i=0;
while(1)
{
p=_getch();
if(p==10||p==13)
{
break;
}
temp[i++]=p;
printf("*");
}
printf(" 请再次输入密码:");
i=0;
memset(password,'',20);
while(1)
{
p=_getch();
if(p==10||p==13)
{
break;
}
password[i++]=p;
printf("*");
}
if(strcmp(temp,password)==0)
{
total++;
chart[5]={""};
sprintf(t,"%d",total);
WritePrivateProfileString("INFO","count",t,"d:\Info.dat");
WritePrivateProfileString(t,"USER",user,"d:\Info.dat");
WritePrivateProfileString(t,"PASSWORD",password,"d:\Info.dat");
printf(" 注册成功,请重新登录");
fflush(stdin);
_getch();
count=0;
read();
continue;
}
else
{
printf(" 两次密码不一致,注册失败");
fflush(stdin);
_getch();
count=0;
continue;
}
}
}
elseif(f_p==0)
{
count++;
if(count>=3)
{
printf(" 连续输入3次错误,程序将退出");
fflush(stdin);
_getche();
return;
}
printf(" 密码输入错误,请重新输入");
fflush(stdin);
_getche();
}
}
return;
}

intmain(intargc,char*argv[])
{
read();
input();

return0;
}

㈡ c语言登录系统

#include<stdio.h>
#include<string.h>
#include<stdlib.h>//增加return的库函数
intlogin()
{
charsecercode[6];
intnumber=3;
printf(" ");
printf(" **********欢迎使用管理系统**************");
printf(" ");
scanf("%s",secercode);
while(number>0)
{
if(strcmp(secercode,"88888888")==0)
returnEXIT_SUCCESS; //while语句里面的结束循环用break是不对的
else
{
number--;
if(number<=0)break;
printf(" 还有%d次机会 ",number);
printf(" 请输入密码:");
scanf("%s",secercode);
}
}
if(number>0)return1;
elsereturn0;
}
mainMenu()
{
printf("密码正确 ");
}
main()
{
if(login()==0)return1;
do
{
mainMenu();
}while(1);
}

㈢ 如何用C语言编程实现用户登录

C语言的话,一般用户信息存储在结构体链表里
你输入用户名回车以后,需要遍历链表,使用strcmp()函数逐一对比链表里是否存储了你输入的用户名。不存在输出“无此用户”,存在继续输入密码,将密码与此结点的密码信息对比,处理方式同用户名;
至少三次输入错误,可设一个整形变量index = 0,每错误一次执行index++,当if(index==3)成立时,输出相应信息,并执行exit(1);

㈣ C语言用户登录系统账户密码比对

#include<stdio.h>
#include<string.h>

typedefstructaccount{
charname[32];
characc[16];
charpsw[16];
}Acc;

//data是结构体数组,filename是文件绝对地址,n保存读入的结构体数量
voidGetDataFromTxt(Acc*data,constchar*filename,int*n)
{
FILE*fp=fopen(filename,"r");
if(NULL==fp){
printf("Openfilefailedornothisfile! ");
return;
}

inti=0;
while(!feof(fp))
{
fscanf(fp,"%s%s%s",data[i].name,data[i].acc,data[i].psw);
i++;
}
*n=i;
}

intmain()
{
inti,n;
Accdata[100];
//获取数据
GetDataFromTxt(data,"E:\secret.txt",&n);
printf("n=%d ",n);
printf("姓名账号密码 ");
for(i=0;i<n;++i)
printf("%-4s%-16s%-10s ",data[i].name,data[i].acc,data[i].psw);

//登录示例
putchar(' ');
characc[16],psw[16];
do{
//这里只是粗略地写了一个
//具体的账号错误或者密码错误自行发挥
printf("请输入账号:");
scanf("%s",acc);
printf("请输入密码:");
scanf("%s",psw);
for(i=0;i<n;++i)
{
if(strcmp(acc,data[i].acc)==0&&strcmp(psw,data[i].psw)==0){
printf("登陆成功! ");
break;
}
}
if(i==n){
printf("账号或密码不正确!请重新输入! ");
}else{
break;
}
}while(1);
printf("Byebye!!! ");

return0;
}

㈤ 用C语言编的用户登录系统

int shuru() //正确返回1,错误返回0
{
char mi[10];
int i;
FILE *fp;
ATMSYTEM at;
char zhang[9]; fp = fopen( "atmsy.dat", "rb" );
flag = 0;
printf("\n\t ================欢迎进入用户登陆系统===============\n");
while(1) //循环录入用户信息
{
printf("\n请输入账号(0_退出):");
scanf("%s",zhang); if(zhang[0] == '0')
{
return 0; //退出系统,不进入主菜单
}
while(fread(&at,sizeof(ATMSYTEM),1,fp) != 0) //查找用户账号是否存在
{
if(strcmp(zhang,at.zhanghao) == 0) //该用户存在
{
flag = 1;
break;
}
}
rewind(fp); //文件指针回到开头 if(flag) //若是该用户存在,那么输入密码
{
for( i = 0; i < 3; i++) //3次机会输入密码
{
printf("\n请输入密码:");
scanf("%s",mi);
while(fread(&at,sizeof(ATMSYTEM),1,fp) != 0) //核对密码
{
if(strcmp(mi,at.password) == 0) //该密码存在
{
return 1;
}
}
rewind(fp); //不停返回文件开头,核对密码
}
printf("密码输错3次!无法登陆系统!\n");
getch();
return 0;
} if(flag == 0)
{
printf("输入账号错误,请重新输入\n");
getch();
}
}
}

㈥ c语言编写用户登录程序

代码如下:

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

(6)c语言用户登录系统扩展阅读:

#include后面有两种方式,<>;和""前者先在标准库中查找,查找不到在path中查找。后者为文件路径,若直接是文件名则在项目根目录下查找。

引用方法:#include<stdio.h>

注意事项:在TC2.0中,允许不引用此头文件而直接调用其中的函数,但这种做法是不标准的。也不建议这样做。以避免出现在其他IDE中无法编译或执行的问题。

㈦ c语言设计用户登录系统,在登录界面中,如果第一次密码错误,第二次明明输入密码正确为什么还是显示错误

请把原码全部贴出来,这个截图太模糊。
我从模糊的图片中,看到类似fread的字样。那么你的账户密码信息是从一个文件中读取出来。
那么:
一、检查你文件中的原始数据是否有写错。
二、用于存储的变量空间是否够存储全部读取的数据。
三、对一个文件多次读写后,文件指针不在初始位置,确认是否需要fseek设置文件指针初始位置。
四、检查fopen是否执行成功。比如:多次fopen同一个文件,但前一次没有用fclose关闭文件流。

㈧ c语言程序,登录注册系统

提供一个思路,将txt文件中的内容读取到一个数组中,这个数组中的数据应该是你自定义的结构体。然后将该用户名与数组中的内容循环比较。如果发现有相等的(即已存在),则注册失败!给个例子:

#include<stdio.h>
intmain()
{
intv[100];//开一个足够大的数组。
inti=0,j;
FILE*fp;//文件指针

fp=fopen("in.txt","r");//以文本方式打开文件。
if(fp==NULL)//打开文件出错。
return-1;
while(fscanf(fp,"%s",v[i])!=EOF)//读取数据到数组,直到文件结尾(返回EOF)
i++;
fclose(fp);//关闭文件

charregisterName[20];
for(j=0;j<i;j++)//循环输出数组元素。
{
if(strcmp(registerName,v[i].name)==0)
{
printf("该用户名已存在! ");
break;
}
}
return0;
}

大概就这样的。具体的细节你自己调试。

热点内容
机房服务器如何安装系统 发布:2025-01-25 07:03:02 浏览:937
linux命令for循环 发布:2025-01-25 06:58:07 浏览:268
c语言链表的排序 发布:2025-01-25 06:48:17 浏览:887
查看存储空间的命令 发布:2025-01-25 06:40:06 浏览:610
安卓系统如何保活 发布:2025-01-25 06:36:27 浏览:779
缓存不退出 发布:2025-01-25 06:35:02 浏览:265
protel编译 发布:2025-01-25 06:35:00 浏览:203
bt我的世界服务器 发布:2025-01-25 06:33:35 浏览:392
桃子解压码 发布:2025-01-25 06:26:46 浏览:726
ubuntu饥荒服务器搭建服务器 发布:2025-01-25 06:19:54 浏览:51