c語言登錄界面
⑴ 用c語言製作一個登陸界面1 注冊 注冊以後保存在文件中 2登陸時直接輸入用戶名和密碼登陸
這是一個用純C語言和文件操作實現的系統的登錄、注冊和忘記密碼功能。可以用於c語... 登錄:先輸入賬號和密碼。然後按賬號從文件中讀取,如果賬
⑵ 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語言寫登錄界面 賬號密碼登錄錯誤三次 管理員登錄 員工登錄兩個
#include<stdio.h>
#include<stdlib.h>
#defineMAXL100
#defineMAX_ERROR_TIME3
interrorTime=0;
intgetLen(chars[]){
intl=0;
for(l=0;s[l]!='