❶ C語言編程:實現用戶的注冊和登錄
模擬用戶注冊和登陸可以用文件來保存用戶名和密碼。注冊就是向文件里寫,用if判斷兩次密碼是否一致。連續三次,可以有一個變數,每次輸入加一,變數大於三就提示登陸不成功。用戶名不對,那你就把你輸入的用戶名和文件里的用戶名是否一致。
❷ C語言用戶登錄
艾達的小刀
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
/*隨機碼產生函數*/
void RandomCode (char Rcode[])
{
int i;
srand ((unsigned int)time(NULL));
for (i = 0; i < 3; ++i)
Rcode[i] = rand()%10 + '0';
Rcode[i] = '\0';
}
/*登陸函數,判斷信息是否匹配,若匹配返回1,否則返回0*/
int LandedApp (char *password[], char Rcode[])
{
char name[10] = {0};
char pword[10] = {0};
char rcode[4] = {0};
printf ("用戶名 : ");
gets (name);
printf ("密碼 : ");
gets (pword);
printf ("隨機碼 : ");
gets (rcode);
if (strcmp (name, password[0]) != 0 || strcmp (pword, password[1]) != 0 || strcmp (rcode, Rcode) != 0)
return 0;
else
return 1;
}
int main ()
{
char * password[2] = {"admin", "admin123"}; //用戶名和密碼
char rc[4] = {0}; //隨機碼
int count = 3; //可輸入次數
puts ("請輸入用戶名,密碼和隨機碼:");
while (count)
{
RandomCode (rc);
printf ("隨機碼 : %s\n", rc);
if (LandedApp(password, rc) != 0)
break;
--count;
if (count != 0)
puts ("錯誤的用戶名或密碼或隨機碼,請重新輸入: ");
}
if (count != 0)
puts ("\n成功登陸!");
else
puts ("\n登錄失敗 !");
return 0;
}
艾達的小刀
是否可以解決您的問題?
❸ C語言求助,謝謝(關於注冊登錄)
首先你自己要搞清楚你是要注冊還是要登錄。
現在的操作系統都是面對對象的操作系統,無論是注冊還是登錄,C語言都力不從心,而對於面向對象的可視化編程語言,就非常簡單。如果是登錄,那Delphi比較簡單,本身就帶登錄模板。VC也比較簡單,建立模態對話框,內定輸錯重輸次數,每次都輸錯,到次數退出。輸入正確,關閉模態對話框,打開主程序界面。
如果是注冊,涉及到底層演算法問題,就要復雜一些。
所以你的問題其實是需要比較高端編程解決的,不是用C語言就能解決得了。
❹ 用C語言編寫登錄系統,為什麼正確輸入還是錯的
#include<stdio.h>
voidmain()
{
inti,a,b;
unsignedintx=0,y=0;
unsignedintj=20175533328,k=987654;//j為11位數的賬號,k為6位數密碼
for(i=1;i<=3;i++)
{
printf("請輸入您的11位數賬號:
");
scanf("%ud",&x);
printf("請輸入您的6位數密碼:
");
scanf("%ud",&y);
if(x==j&&y==k)
{
printf("登錄成功
");break;
}
else
printf("密碼錯誤,請重新輸入,提示:最多輸入3次,您已錯誤%d次
",i);
}
}
❺ 求C++程序,循環登錄系統,密碼輸入錯誤三次就登錄失敗。要求用C語言編寫,謝謝了!
#include<stdio.h>
#include<string.h>
intmain()
{
inti=0;
intn=3;
charpwd[100];
while(i<n)
{
printf("請輸入密碼: ");
scanf("%s",pwd);
if(0==strcmp("123456",pwd))//假設密碼是123456
{
printf("密碼正確,登錄成功! ");
return0;
}
printf("密碼錯誤,請重新輸入! ");
++i;
}
printf("登錄失敗,密碼錯誤超限(3次)! ");
return0;
}