c语言登陆界面
启动vc++6.0,文件--新建--文件---c++SourceFile--命名文件名,必须是以".c"结尾,然后选择你的储存位置,确定就可以进入编译界面了。编译是在第一行打上#include“stdio.h"回车后第二行main{}在这对大括号里面就可以开始编译了
❷ c语言 商品销售系统登入界面该怎么写
登录包括检查数据文件,检测输入格式,检查数据重复性,验证用户名密码。
根据读取写入追加数据的不同要求,fopen选项不同参数,比如"r","w","a"。注意每次用完后用fclose函数关闭数据流。
下面是演示代码:(文件不存在自动创建,登录失败提示注册,输入验证,你自己写,比如:用户名包含几字母数字等)。
#include <stdio.h>
#include <string.h>
#define UFPATH "C:\user.data" //文件路径
#define SMAX 20
typedef struct USER
{
char uName[SMAX];
char pwd[SMAX];
}UR;
UR *logon(char *uName,char *pwd);
int main()
{
UR *ur=NULL;
char uName[SMAX],pwd[SMAX];
printf("请输入用户名及密码: ");
scanf("%s",uName);
scanf("%s",pwd);
if((ur=logon(uName,pwd))==NULL)
printf("登陆失败");
else
printf("欢迎登录!%s ",ur->uName);
return 0;
}
UR *logon(char *uName,char *pwd)
{
int isExcept=1;//标识变量,1:该用户不存在。0:用户名存在
FILE *fp=NULL;
static UR ur;
char c[2];
if((fp=fopen(UFPATH,"r"))==NULL)
{
printf("该路径未发现记录文件,新建文件! ");
if((fp=fopen(UFPATH,"wt"))==NULL)
{
printf("异常!新建文件失败! ");
return NULL;
}
isExcept=1;
}
else
{
while(fscanf(fp,"%s%s",ur.uName,ur.pwd)!=-1)
{
if(strcmp(ur.uName,uName)==0 && strcmp(ur.pwd,pwd)==0)
{
printf("身份验证通过! ");
fclose(fp);
return &ur;
}
}
printf("用户密码不正确,或用户不存在! ");
fclose(fp);
isExcept=1;
}
if(isExcept==1)
{
printf("是否注册用户?(Y/N) ");
scanf("%s",c);
if(c[0]=='N')
return NULL;
if(c[0]=='Y')
{
while(isExcept)
{
printf("请输入要注册的用户名及密码: ");
scanf("%s",uName);
scanf("%s",pwd);//输入验证在这里添加!!!!!!!!!
//------------验证新建的用户名是否重名-------
if((fp=fopen(UFPATH,"r"))==NULL)
{
printf("异常!,文件打开失败! ");
return NULL;
}
isExcept=0;
while(fscanf(fp,"%s%s",ur.uName,ur.pwd)!=-1)
{
if(strcmp(ur.uName,uName)==0)
{
printf("用户名已存在,请重新输入! ");
fclose(fp);
isExcept=1;
break;
}
}
fclose(fp);
//-------------------------------------------------------
}
if((fp=fopen(UFPATH,"a"))==NULL)
{
printf("异常!,文件打开失败! ");
return NULL;
}
fprintf(fp,"%s %s%s",uName,pwd," ");
printf("用户注册成功! ");
strcpy(ur.uName,uName);
strcpy(ur.pwd,pwd);
}
}
fclose(fp);
return &ur;
}
//ps:代码是按照你问题写成一个登录函数,但在一个项目中,对文件的读写改,应写成独立函数调用。其它函数调用这些函数。
❸ c语言设计用户登录系统,在登录界面中,如果第一次密码错误,第二次明明输入密码正确为什么还是显示错误
请把原码全部贴出来,这个截图太模糊。
我从模糊的图片中,看到类似fread的字样。那么你的账户密码信息是从一个文件中读取出来。
那么:
一、检查你文件中的原始数据是否有写错。
二、用于存储的变量空间是否够存储全部读取的数据。
三、对一个文件多次读写后,文件指针不在初始位置,确认是否需要fseek设置文件指针初始位置。
四、检查fopen是否执行成功。比如:多次fopen同一个文件,但前一次没有用fclose关闭文件流。