国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - C/C++ - C語言實(shí)現(xiàn)登錄注冊和忘記密碼功能

C語言實(shí)現(xiàn)登錄注冊和忘記密碼功能

2021-10-16 15:03monkey-jie C/C++

這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)登錄、注冊和忘記密碼功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

這是一個(gè)用純C語言和文件操作實(shí)現(xiàn)的系統(tǒng)的登錄、注冊和忘記密碼功能。可以用于c語言大作業(yè)的登錄系統(tǒng)。下面分享一下具體的代碼。

首先定義一個(gè)結(jié)構(gòu)體來存放用戶的注冊信息,賬號(hào)密碼等。

?
1
2
3
4
5
6
7
8
typedef struct The_users  //typedef 可以定義結(jié)構(gòu)體別名
{
  char id[11]; //賬號(hào)
  char pwd[20]; //密碼
  char name[15];//姓名為字符串
  char sex; //性別為單個(gè)字符
 long phone; //電話號(hào)碼為長整型
}users;

然后寫一個(gè)函數(shù)用來創(chuàng)建儲(chǔ)存用戶賬號(hào)密碼的文件。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/*創(chuàng)建儲(chǔ)存用戶賬號(hào)密碼的文件*/
void Create_File()
{
  FILE *fp;
  if ((fp = fopen("users.txt","rb"))==NULL)         /*如果此文件不存在*/
  {
    if ((fp = fopen("users.txt","wb+"))==NULL)
    {
      printf("無法建立文件!\n");
      exit(0);
      
    }
  }
}

注冊:將存放用戶的信息的結(jié)構(gòu)體直接存入文件中,每次存入分配該結(jié)構(gòu)體大小的空間,然后該用戶的信息就可以按結(jié)構(gòu)體整體來讀取。還加入了一些錯(cuò)誤提示,如果輸入錯(cuò)誤就提示重新輸入。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*注冊賬號(hào)*/
void registers() //按結(jié)構(gòu)體的大小,一次寫入或者讀入1個(gè)結(jié)構(gòu)體大小
   
     users a,b;//結(jié)構(gòu)體 The_users 重命名定義
     FILE *fp;
     char temp[20];
     int count = 0;
     printf("歡迎來到注冊界面!\n");
     Sleep(1000);
     fp = fopen("users.txt","r");
     
     fread(&b, sizeof(struct The_users), 1, fp); //讀入一個(gè)結(jié)構(gòu)體字符塊 到b
     printf("請(qǐng)輸入賬號(hào)\n");
     scanf("%s",&a.id);
     
     
     while (1)
     
       if (strcmp(a.id, b.id)) /*如果兩串不相等*/
       {
         if (!feof(fp))  /*如果未到文件尾*/               
           
           
         {
           fread(&b, sizeof(struct The_users), 1, fp);
         }
         else
           break;
       }
       else
 
       
         printf("此用戶名已存在!請(qǐng)重新注冊!\n");
         Sleep(1000);
         fclose(fp);
         return;  
       }
     }
     printf("請(qǐng)輸入姓名:\n");
     scanf("%s",&a.name);
     printf("請(qǐng)輸入性別(f(女)/m(男)):\n");
     scanf(" %c",&a.sex);
     do{
     if(a.sex != 'f' && a.sex != 'm'){
   printf("性別輸入錯(cuò)誤!請(qǐng)重新輸入!\n");
     scanf("%c",&a.sex);
  }
  }while(a.sex != 'f' && a.sex != 'm');
  getchar();
     printf("請(qǐng)輸入電話號(hào)碼:\n");
     scanf("%ld",&a.phone);
     printf("請(qǐng)輸入密碼\n");
     scanf(" %s",&a.pwd);
     printf("請(qǐng)確認(rèn)密碼\n");
     scanf(" %s",&temp);
  do{
     if(!strcmp(a.pwd,temp)){
      fp = fopen("users.txt","a");
      fwrite(&a, sizeof(struct The_users), 1, fp);
      printf("賬號(hào)注冊成功,請(qǐng)登錄!\n");
      Sleep(500);
      fclose(fp);
   return;
  }else{
   printf("兩次密碼不匹配!請(qǐng)重新輸入!\n");
      scanf("%s",&a.pwd);
      printf("請(qǐng)確認(rèn)密碼\n");
      scanf("%s",&temp);
  }
  }while(1);
}

登錄:先輸入賬號(hào)和密碼。然后按賬號(hào)從文件中讀取,如果賬號(hào)匹配就讀取密碼,如果密碼也匹配就登錄成功,否則重新輸入密碼。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/*登錄系統(tǒng)*/
void Input_login()
{
  users a,b;//定義結(jié)構(gòu)體The_users別名
  
  FILE *fp;
  printf("歡迎來到登錄界面!\n");
     Sleep(1000);
  fp = fopen("users.txt","r");
  
  fread(&b, sizeof(struct The_users), 1, fp); //讀入一個(gè)結(jié)構(gòu)體字符塊 寫入b
  printf("請(qǐng)輸入賬號(hào)\n");
  scanf("%s",&a.id); 
  
       while (1)
      
      if (strcmp(a.id, b.id)==0)     //如果有此用戶名
      {
        break;   
      }
      
      else
      {
        if (!feof(fp)) //如果文件沒有讀完             
       
        {
          fread(&b, sizeof(struct The_users), 1, fp);
        }
        
        else
        {
          printf("此用戶名不存在,請(qǐng)重新輸入!\n");
    Sleep(500);
          fclose(fp);
    return;      
        }
      }
    }
    printf("請(qǐng)輸入密碼\n");
    scanf("%s",&a.pwd);
  do
    
 if (strcmp(a.pwd, b.pwd)==0)      /*如果密碼匹配*/
      
    {
      fclose(fp);
      printf("登錄成功,歡迎使用!");
      Sleep(500);
      return;
      }
    else
    printf("密碼不正確!請(qǐng)重新輸入密碼\n");
     scanf("%s",&a.pwd);    
    }
 }while(strcmp(a.pwd, b.pwd)==0);
    
}

找回密碼:根據(jù)輸入的賬號(hào)獲取該賬號(hào)的結(jié)構(gòu)體信息,然后與其他信息進(jìn)行匹配,如果全部匹配成功,則顯示該賬號(hào)的密碼。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/*找回密碼*/
 
void reback() //按結(jié)構(gòu)體的大小,一次寫入或者讀入1個(gè)結(jié)構(gòu)體大小
   
     users a,b;//結(jié)構(gòu)體 The_users 重命名定義
     FILE *fp;
     char temp[20];
     int count = 0;
     printf("歡迎來到找回密碼界面!\n");
     Sleep(1000);
     fp = fopen("users.txt","r");
  
   fread(&b, sizeof(struct The_users), 1, fp); //讀入一個(gè)結(jié)構(gòu)體字符塊 寫入b
   printf("請(qǐng)輸入賬號(hào)\n");
   scanf("%s",&a.id); 
  
       while (1)
      
      if (strcmp(a.id, b.id)==0)     //如果有此用戶名
      {
        break;   
      }
      
      else
      {
        if (!feof(fp)) //如果文件沒有讀完             
       
        {
          fread(&b, sizeof(struct The_users), 1, fp);
        }
        
        else
        {
          printf("此用戶名不存在,請(qǐng)重新輸入!\n");
    Sleep(500);
          fclose(fp);
    return;      
        }
      }
    }
     printf("請(qǐng)輸入姓名:\n");
     scanf("%s",&a.name);
     do{
     if(strcmp(a.name,b.name)){
   printf("姓名輸入錯(cuò)誤!請(qǐng)重新輸入!\n");
     scanf("%s",&a.name);
  }
  }while(strcmp(a.name,b.name));
     printf("請(qǐng)輸入電話號(hào)碼:\n");
     scanf("%ld",&a.phone);
     do{
     if(a.phone != b.phone){
   printf("電話號(hào)碼輸入錯(cuò)誤!請(qǐng)重新輸入!\n");
     scanf("%ld",&a.phone);
  }
  }while(a.phone != b.phone);
    printf("您的密碼是:%s",b.pwd);
    Sleep(3000);
}

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/qq_40663357/article/details/86663598

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩在线免费视频 | 日韩综合一区 | 91精品久久| 中国黄色片在线观看 | 久久亚洲国产精品 | 欧日韩在线视频 | 国产精品福利一区二区三区 | 久久er99热精品一区二区 | 亚洲国产精品一区二区三区 | 久久成人人人人精品欧 | www.欧美 | 日韩操操操 | 久久精品 | 一级免费毛片 | 亚洲午夜一区 | 二区视频 | 国产日韩欧美精品 | 久久精品成人一区二区三区蜜臀 | 婷婷色av| 白浆在线 | 久久精品国产99国产 | 亚洲视频1区 | 亚洲欧美在线观看 | 亚洲免费二区 | 精品一区二区免费视频视频 | 天天精品 | 国产成人精品一区二区三区视频 | 色九九九 | 黄色大片网站 | 91欧美视频在线 | 成年网站在线观看 | 在线观看成人 | 国外爱爱视频 | 亚洲精品一区二区网址 | 成人免费视频视频在线观看 免费 | 91久久综合 | 成人国产精品 | 天天综合久久 | 九色自拍 | 精品在线一区 | 黄频免费在线观看 |