当前位置:首页 » 编程语言 » c语言登录注册

c语言登录注册

发布时间: 2022-07-01 19:21:01

1. c语言用户注册代码

C语言编程实现用户的注册和登录
#include "stdafx.h"
#include "string.h"
#define n 20

void zhuce();
void denglu();
char yhm[n],mm[n];
int main(int argc, char* argv[])
{
int i;

printf("-----------\n1.注册\n2.登陆\n3.继续\n0.退出\n");
scanf("%d",&i);
switch(i)
{case 0: break;
case 1 : zhuce();break;
case 2: denglu();break;

}

return 0;
}
void zhuce( )
{char temp1[n],temp2[n],temp3[n],yhmtmp[n];

printf("输入用户名\n");
fflush(stdin);//清空缓存
gets(yhmtmp);

printf("输入密码\n");
fflush(stdin);
gets(temp1);
printf("输入密码确认\n");
fflush(stdin);
gets(temp2);
if(!strcmp(temp1,temp2))
{strcpy(mm,temp1);
printf("注册成功\n");

}
else
{printf("输入密码确认\n");
gets(temp3);
if(!strcmp(temp1,temp3))
{strcpy(mm,temp1);
printf("注册成功\n");

}
else

printf("注册失败\n");

}

}
void denglu( )
{
char s1[n],s2[n];
printf("输入用户名\n");
fflush(stdin);
gets(s1);
printf("输入密码\n");
fflush(stdin);
gets(s2);
if((strcmp(s1,yhm))&&(strcmp(s2,mm)))
printf("登陆成功\n");

}

2. 用C语言设计登录注册功能的程序实现的基本思路:

1.输入姓名变量和密码变量,保存到一个数组中(比如:账户信息数组)。
2.输入姓名和密码,然后到数组中用循环比较找到用户名,然后在比较密码。
3.如果没有匹配到姓名则输出无此用户,否则,进一步比较密码,成功,输出
登陆成功,否则,输出密码错误,然后返回到重新登陆页面。

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

需要id和密码匹配就行了吧?
注册时让用户输入id,将其存储到一个文件中(如data.in),紧接着输入密码,存到id之后;
再次登录时,用户输入id,判断id长度,在文件的每一行搜索同一长度的字符看是否匹配,如果匹配,判断密码是否一致即可;
如果还有疑问就补充提问吧,希望回答对你有帮助!

4. c语言编写注册与登录的程序

希望对你有所帮助

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
#define N 100
struct user
{
int user_id;
char user_name[19];//最大18位
char password[13];//最大13位
char like[255];
char sign[255];
};

/*
* 验证用户名长度是否合法
*/
int length_user_name(char *p)
{
int l;
l=strlen(p);
if(l>18||l<1)
{
return 0;
}
else
return l;
}

/*
* 判断用户名是否有效
*/
int valid_user_name(char *p)
{
int i=0;
int len = strlen(p);
if((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <='Z')) //判断首字符是不是字母
{
for(i = 0; i < len; i++)
{
if(!(p[i] == '_' || (p[i] >= 'a' && p[i] <= 'z') || (p[i] >= 'A' && p[i] <='Z')
||(p[i] >='0' && p[i] <= '9'))) //判断后面字符是否有效
return 0;

}
return 1;
}
else
return 0;

}

/*
* 判断用户名是否有效
*/
int is_username_valid(char *p)
{
if((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <='Z'))
{
p++;
while(*p)
{
if(!(isalpha(*p) || *p == '_' || isdigit(*p)))
return 0;
p++;
}

return 1;
}
else
{
return 0;
}
}

/*
* 密码长度有效性验证
*/
int length_password(char *p)
{
int len;
len = strlen(p);
if(len<6||len>12)
{
return 0;
}
else
return len;
}

/*
* 密码的有效性验证
*/
int is_password_valid(char *p)
{
int i=0;

for(;*p != '\0'; p++)
{
if(!( (*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <='Z')
||(*p >='0' && *p <= '9'))) //判断字符是否有效
return 0;
}
return 1;
}

int two_password_valid(char *p1,char*p2)
{
if(strcmp(p1,p2)==0)
return 1;
else
return 0;
}

/*
* 完成注册功能
*/
int user_register(struct user *ptr_user,int size)
{
char password[13];
char repassword[13];
if(size==N)
{
puts("注册人数以满!");
return 0;
}
printf("请输入注册姓名:");
fflush(stdin);
gets(ptr_user[size].user_name);
if(!(length_user_name(ptr_user[size].user_name)&&valid_user_name(ptr_user[size].user_name)))
{
printf("您输入的姓名无效,用户名在1-18之间,首字符为字母,后面必须为字母,数字或下划线!!!");
return 0;
}

printf("请输入注册密码:");
fflush(stdin);
gets(password);
printf("请再次输入注册密码:");
fflush(stdin);
gets(repassword);
if(!two_password_valid(password,repassword))
{
printf("\n两次输入的密码不一致!");
return 0;
}
else
{
strcpy(ptr_user[size].password,password);
}

if(!(length_password(ptr_user[size].password)&&is_password_valid(ptr_user[size].password)))
{
printf("您输入的密码无效,密码应在6-12之间,密码只能包含字母和数字!!!");
return 0;
}

printf("请输入您的爱好:");
fflush(stdin);
gets(ptr_user[size].like);
printf("请输入您的个性签名:");
fflush(stdin);
gets(ptr_user[size].sign);
printf("您的编号为:%d,这将是您的登陆帐号.",ptr_user[size].user_id=10000+size);
return 1;
}

/*
* 如果登陆成功则返回第i+1个用户的信息,否则返回0
*/
int is_my_user(struct user *p,int size)
{
int i;
int zhanghu;
char mima[15];
printf("请输入您的帐号: ");
scanf("%d",&zhanghu);
fflush(stdin);
printf("请输入您的密码: ");
gets(mima);
for(i=0;i<size;i++)
{
if((zhanghu == p[i].user_id)&&(strcmp(mima,p[i].password)==0))
{

return i + 1;
}
}
return 0;
}

void display_user(struct user u)
{
printf("\n你的帐号是:%d",u.user_id);
printf("\n你注册姓名是:%s",u.user_name);
printf("\n你的爱好:%s",u.like);
printf("\n你的个性签名:%s",u.sign);
}

void update_password(struct user *ptr_user,int size)
{
char mima1[13],mima2[13];
int i = is_my_user(ptr_user,size);
if(i)
{
i--;
}
else
{
printf("\n帐号密码不存在!");
return;
}

printf("请输入新密码: ");
scanf("%s",mima1);
printf("请再次输入新密码: ");
scanf("%s",mima2);

if(two_password_valid(mima1,mima2) && length_password(mima1) && is_password_valid(mima1))
{
strcpy(ptr_user[i].password,mima1);//完成新旧密码的调换
printf("\n您的的密码修改成功!");
}
else
printf("\您的密码修改失败!");

}

//显示菜单
int show_menu()
{
int choice;
printf("\n1.注册");
printf("\n2.登陆");
printf("\n3.修改密码");
printf("\n4.退出");
printf("\n请选择1-4\n");
scanf("%d",&choice);

return choice;
}

int main()
{
struct user our_users[N];
int count = 0;
int current_user;
while(1)
{
switch(show_menu())
{
case 1:
if(user_register(our_users,count))
{
count++;
printf("\n注册成功!");
}
break;
//注册
case 2:
if((current_user = is_my_user(our_users,count)))
{
printf("\n登陆成功!");
display_user(our_users[current_user - 1]);
}
else
printf("\n登陆失败!");
break;
//登陆
case 3:
update_password(our_users,count);
break;
//修改密码
case 4:
exit(1);
break;
//退出
default:
printf("请正确输入");
}
}
return 0;
}

5. 用c语言写个注册登录的代码怎么写

注册主要是保存对应的登录信息 所以只需要获取他输入的数据存在一个文件里
而登录就是校验他输入的信息和之前保存在文件中的信息是否相同 如果相同则说明验证成功 进入下一个程序 如果不同则提示信息错误
所以关键部分就是2个if判断

6. 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;
}

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

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

(7)c语言登录注册扩展阅读:

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

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

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

8. 用户注册及登录管理 编写c语言程序,实现软件用户登录、注册功能。

/ /你看到自己专门为你烫一下注册和登录系统

1新用户注册

2登录

3退出

1

注册帐号:

请输入您的姓名:

KA西瓜

请输入您的密码:!

注册成功

注册和登录系统

1新用户注册

2登录

3退出

2

登录帐号:

请输入用户名:

KA西瓜

请输入密码:

确定登录成功

欢迎回来,KA西瓜

按任意键继续
! >#包括中

#包括的

无效新用户注册(); / /用户注册功能

无效登录(); / /用户登录功能

的main()

{

整数selectNum;

的printf(“\ nRegistered和登录系统\ n \ n已”);

printf(“请1新用户注册\ N”);

printf(“请2登录\ N”);

printf(“请3退出\ n”);

的scanf(“%d个”,&selectNum);

开关(selectNum)

{

案例1:新用户注册();

突破;

案例2:登录();

突破; 案例3:printf(“请!退出程序\ n”);

出口(1);

突破;

无效新用户注册()

{

文件*计划生育;

字符Linedata [50] = {0},用户[20],通[20];

计划生育=打开(“data.dat文件”,“在”);

printf(“请注册帐号:\ n”);

printf(“请输入你的姓名:\ n”);

FFLUSH(标准输入);

得到(用户);

printf(“请输入您的密码:\ n”);

FFLUSH(标准输入);

得到(通行证);

的strcpy(Linedata,用户);

的strcat(Linedata,“,”);

strcat的(Linedata,通行证);

strcat的(Linedata,“\ N”;);

FPUTS(Linedata,FP);

FCLOSE(FP);

printf(“请!注册成功\ n”);

的main();

}

无效登录()

{

文件*计划生育;

整型发现= 0;

用户的char [20],通[20],Userstrcat [50] = {0};

字符使用用户数据[50] = {0};

计划生育=打开(“data.dat文件”,“R”);

printf(“请登录帐号:\ n”);

printf(“请输入用户名:\ n”);

FFLUSH(标准输入);

得到(用户);

printf(“请输入密码:\ n”);

FFLUSH(标准输入);

得到(通行证);

的strcpy(Userstrcat,用户);

的strcat(Userstrcat,“,”);

strcat的(Userstrcat,通行证);

strcat的(Userstrcat,“\ N”);!

而(的feof(计划生育))

{

与fgets(使用用户数据,19,FP);

如果(STRCMP(保留使用者,Userstrcat)== 0)

{

printf(“请确定登录成功\ n!”);

printf(“请欢迎回来,%s的\ n!”,用户);

发现= 1;

突破;

如果

(find!){

的printf(“用户名或密码不正确\ n”);

FCLOSE(FP);
}

9. C语言编程:实现用户的注册和登录

模拟用户注册和登陆可以用文件来保存用户名和密码。注册就是向文件里写,用if判断两次密码是否一致。连续三次,可以有一个变量,每次输入加一,变量大于三就提示登陆不成功。用户名不对,那你就把你输入的用户名和文件里的用户名是否一致。

10. 编一个注册登陆的程序 C语言的

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

bool search(char id[], char pass[]) {
FILE *fp;
char tid[10], tpass[10];
fp = fopen("c:\\data", "r");
while (!feof(fp)) {
fscanf(fp, "%s%s", tid, tpass);
if (strcmp(tid, id)==0 && strcmp(tpass, pass)==0) {
fclose(fp);
return true;
}
}
fclose(fp);
return false;
}

bool login() {
char id[10], pass[10];
printf("Login\nPress the id: ");
scanf("%s", id);
printf("Press the password: ");
// 可以自行将password处理成*号, 如果不会可以发信给我
scanf("%s", pass);
printf("-----------------------");
if (search(id, pass))
return true;
else
return false;
}

void _add(char id[], char pass[]) {
FILE *fp;
fp=fopen("c:\\data", "a");
// 在写入文件时可以按一定的排序方式插入,可减少以后Login时的search时间
fprintf(fp, "%s %s\n", id, pass);
fclose(fp);
}

void regis() {
char id[10], pass[10], tpass[10];
printf("Register\nPress the id: ");
scanf("%s", id);
while (true) {
printf("Press the password: ");
scanf("%s", pass);
printf("Press the password again: ");
scanf("%s", tpass);
if (strcmp(pass, tpass) != 0)
printf("The passwords you pressed are not the same!\n");
else
break;
}
_add(id, pass);
printf("-----------------------Register successfully!\n");
}

void init() {
FILE *fp;
if ((fp=fopen("c:\\data", "r")) == NULL) { // 注意,一定要有个名叫data(没有扩展名)的合法文件在C盘根目录
printf("---------File is not exist\n");
system("pause");
exit(0);
}
else
fclose(fp);
}

int main(void){
int command;
init(); // 检查data文件在不在
while (true) {
printf("-----------------------(Login: 1 Register: 2 Exit: 3)\n");
scanf("%d", &command);
printf("-----------------------\n");
// 这里可以编写command的检测语句
if (command == 3)
break;
else if (command == 1) {
if (!login())
printf("ID is not exist or password is wrong!\n");
else
printf("Login successfully!\n");
}
else
regis();
}
return 0;
}
搞定了。。。我是用成功了的。。。如果有问题就发信给我。。。。

热点内容
linux终端字符 发布:2025-02-04 12:52:40 浏览:734
c语言程序设计mobi 发布:2025-02-04 12:51:55 浏览:256
rsa算法c语言 发布:2025-02-04 12:50:36 浏览:782
阿里云服务器托管破解 发布:2025-02-04 12:47:43 浏览:255
汽车都有什么配置 发布:2025-02-04 12:42:51 浏览:455
ons解压密码 发布:2025-02-04 12:42:43 浏览:777
san存储监控 发布:2025-02-04 12:42:06 浏览:41
apachemodpython 发布:2025-02-04 12:33:53 浏览:671
linuxphp安装mysql 发布:2025-02-04 12:32:55 浏览:148
小米手机怎么扩大配置 发布:2025-02-04 12:27:34 浏览:980