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關閉文件流。