您的位置:首页 > 编程语言 > C语言/C++

C语言控制台程序实现的注册登录

2017-04-13 00:00 531 查看
摘要: 做这个,学习到了C语言结构体和文件操作相关的内容。

#include<stdio.h>
#include<windows.h>

#define U 30
struct users
{
char ac[30];
char pw[30];
}
;
struct users use[U];//结构体
void wel();
void registeruser();
void login();
void userview();
void main()
{
wel();
}
void wel()
{
char se;
while ( se != '3' )
{
system( "cls" );
printf( "按1-注册-" );
printf( "\n" );
printf( "按2-登录-" );
printf( "\n" );
printf( "按3-退出-" );
printf( "\n" );
printf( "选择:" );
scanf( "%s", &se );
switch ( se )
{
case '1':
registeruser();
break;
case '2':
login();
break;
case '3':
exit( 0 );
break;
default:
if ( se != '1' || se != '2' || se != '3' )
printf( "没有这个选项!\n" );
system( "pause" );
break;
}
}
}

void registeruser()
{
char	ac[30];
char	pw[30];
int	a = 0;
printf( "\t以下为注册帐号\n" );
FILE *fp;
fp = fopen( "c:\\user", "a" );//写入文件操作
if ( fp == NULL )
{
printf( "没有帐号信息..." );
printf( "\n" );
return;
}
printf( "请输入帐号:" );
scanf( "%s", &ac );
printf( "请输入密码:" );
scanf( "%s", &pw );
strcpy( use[a].ac, ac );
strcpy( use[a].pw, pw );
fprintf( fp, "%s %s\n", use[a].ac, use[a].pw );
fclose( fp );
printf( "已注册..." );
printf( "\n" );
system( "pause" );
}

void login()
{
char	ac[30];
char	pw[30];
int	a	= 0;
int	flag	= 0;
printf( "\t以下为登录帐号\n" );
printf( "请输入帐号:" );
scanf( "%s", &ac );
printf( "请输入密码:" );
scanf( "%s", &pw );
FILE *fp;
fp = fopen( "c:\\user", "r" );//读取文件操作
while ( !feof( fp ) )
{
fscanf( fp, "%s %sn", &use[a].ac, &use[a].pw );
if ( (strcmp( ac, use[a].ac ) == 0) && (strcmp( pw, use[a].pw ) == 0) )
{
flag = 1;
fclose( fp );
break;
}
a++;
}
if ( flag == 1 )
{
userview();
return;
}else{
printf( "帐号或者密码错误!\n" );
}
system( "pause" );
}

void userview()
{
int a = 0;
printf( "登录成功!" );
printf( "按任意键显示所有用户!\n" );
system( "pause" );
FILE *fp;
fp = fopen( "c:\\user", "r" );//读取文件操作
while ( fscanf( fp, "%s %sn", &use[a].ac, &use[a].pw ) != EOF )
{
printf( "\t帐号:%s 密码:%s\n", use[a].ac, use[a].pw );
a++;
}
fclose( fp );
system( "pause" );
}

注册后会在C盘增加一个存用户名的user文件

运行如图;

选择错误时



注册



登录成功并显示文件内容



登录失败

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C语言