精华内容
下载资源
问答
  • c语言实现注册登录 实现密码三次不对锁定账号 提示剩余几次机会
  • C语言代码,对账号注册登录代码,注册后的账号会保留在电脑内存里面,不是临时的存储,再下次打开时依然能对之前注册账号进行登录。此为账号登录模块代码,登录进去后的页面可以根据需要进行自我修改。
  • C语言实现登录注册

    万次阅读 多人点赞 2019-01-27 09:36:52
    这是一个用纯C语言和文件操作实现的系统的登录、注册和忘记密码功能。可以用于c语言大作业的登录系统。下面分享一下具体的代码。 首先定义一个结构体来存放用户的注册信息,账号密码等。 typedef struct The_users /...

    这是一个用纯C语言和文件操作实现的系统的登录、注册和忘记密码功能。可以用于c语言大作业的登录系统。下面分享一下具体的代码。
    首先定义一个结构体来存放用户的注册信息,账号密码等。

    typedef struct The_users   //typedef 可以定义结构体别名
    {
        char id[11]; //账号 
        char pwd[20]; //密码 
        char name[15];//姓名为字符串 
        char sex; //性别为单个字符
    	long phone; //电话号码为长整型 
    }users;
    

    然后写一个函数用来创建储存用户账号密码的文件。

    /*创建储存用户账号密码的文件*/ 
    void Create_File()
    {
        FILE *fp;
        if ((fp = fopen("users.txt","rb"))==NULL)                 /*如果此文件不存在*/
        {
            if ((fp = fopen("users.txt","wb+"))==NULL)
            {
                printf("无法建立文件!\n");
                exit(0);
                
            }
        }
    }
    

    注册:将存放用户的信息的结构体直接存入文件中,每次存入分配该结构体大小的空间,然后该用户的信息就可以按结构体整体来读取。还加入了一些错误提示,如果输入错误就提示重新输入。

    /*注册账号*/ 
    void registers()  //按结构体的大小,一次写入或者读入1个结构体大小
         {    
             users a,b;//结构体 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); //读入一个结构体字符块 到b
              printf("请输入账号\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("此用户名已存在!请重新注册!\n"); 
                     Sleep(1000);
                     fclose(fp);
                     return;      
                 }
             }
             printf("请输入姓名:\n");
             scanf("%s",&a.name);
             printf("请输入性别(f(女)/m(男)):\n");
             scanf(" %c",&a.sex);
             do{
             	if(a.sex != 'f' && a.sex != 'm'){
    			 	printf("性别输入错误!请重新输入!\n");
    		        scanf("%c",&a.sex);
    			 }
    		 }while(a.sex != 'f' && a.sex != 'm');
    		 getchar();
             printf("请输入电话号码:\n");
             scanf("%ld",&a.phone);
             printf("请输入密码\n");
             scanf(" %s",&a.pwd);
             printf("请确认密码\n");
             scanf(" %s",&temp);
    		 do{
             	if(!strcmp(a.pwd,temp)){
             		fp = fopen("users.txt","a");
    		         fwrite(&a, sizeof(struct The_users), 1, fp);
    		         printf("账号注册成功,请登录!\n"); 
    		         Sleep(500);
    		         fclose(fp);
    				 return;
    			 }else{
    			 	printf("两次密码不匹配!请重新输入!\n");
    		         scanf("%s",&a.pwd);
    		         printf("请确认密码\n");
    		         scanf("%s",&temp);
    			 }
    		 }while(1);
         }
    

    登录:先输入账号和密码。然后按账号从文件中读取,如果账号匹配就读取密码,如果密码也匹配就登录成功,否则重新输入密码。

    /*登录系统*/ 
    void  Input_login()
    {
        users a,b;//定义结构体The_users别名
        
        FILE *fp;
        printf("欢迎来到登录界面!\n");
             Sleep(1000);
        fp = fopen("users.txt","r");
        
        fread(&b, sizeof(struct The_users), 1, fp); //读入一个结构体字符块 写入b
        printf("请输入账号\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("此用户名不存在,请重新输入!\n");
    					   Sleep(500); 
    	                   fclose(fp);  
    					   return;              
    	               }
    	           }
           }
           printf("请输入密码\n");
           	scanf("%s",&a.pwd); 
        do{   
    	       
    		if (strcmp(a.pwd, b.pwd)==0)            /*如果密码匹配*/
    	           
    	       {  
    	          fclose(fp);
    	          printf("登录成功,欢迎使用!");
    	          Sleep(500);
    	          return;
    	          }
    	       else  
    	       {    printf("密码不正确!请重新输入密码\n");
    	       		scanf("%s",&a.pwd);         
    	       }
    	}while(strcmp(a.pwd, b.pwd)==0);
           
    }
    

    找回密码:根据输入的账号获取该账号的结构体信息,然后与其他信息进行匹配,如果全部匹配成功,则显示该账号的密码。

    /*找回密码*/
     
    void reback()  //按结构体的大小,一次写入或者读入1个结构体大小
         {    
             users a,b;//结构体 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); //读入一个结构体字符块 写入b
        	printf("请输入账号\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("此用户名不存在,请重新输入!\n");
    					   Sleep(500); 
    	                   fclose(fp);  
    					   return;              
    	               }
    	           }
           }
             printf("请输入姓名:\n");
             scanf("%s",&a.name);
             do{
             	if(strcmp(a.name,b.name)){
    			 	printf("姓名输入错误!请重新输入!\n");
    		        scanf("%s",&a.name);
    			 }
    		 }while(strcmp(a.name,b.name));
             printf("请输入电话号码:\n");
             scanf("%ld",&a.phone);
             do{
             	if(a.phone != b.phone){
    			 	printf("电话号码输入错误!请重新输入!\n");
    		        scanf("%ld",&a.phone);
    			 }
    		 }while(a.phone != b.phone);
            printf("您的密码是:%s",b.pwd);
            Sleep(3000);
    }
    

    欢迎访问我的博客网站:http://jie12366.xyz:8081

    展开全文
  • C语言控制台注册登录 选择功能案例

    千次阅读 2016-07-26 22:00:08
    #include   void main(){ printf("欢迎来到本系统,请注册后是使用!\n"); //弹出系统消息 printf("现在进入注册系统。...printf("请输入注册账号:"); scanf("%d",&za); printf("请输入注册密码:");
    #include<stdio.h>
     
    void main(){
    printf("欢迎来到本系统,请注册后是使用!\n"); //弹出系统消息
    printf("现在进入注册系统。\n");     //弹出系统消息
    int za,zb,pa,pb;        //定义变量 用于注册
    printf("请输入注册账号:");
    scanf("%d",&za);
    printf("请输入注册密码:");
    scanf("%d",&zb);
     printf("注册成功!现在进入登录系统\n");
    loop:
    printf("请输入注册账号:");      //输入注册
    scanf("%d",&pa);
    printf("请输入注册密码:");
    scanf("%d",&pb);
    if(za==pa&&zb==pb){        //判断账号密码
     printf("输入正确欢迎使用!\n");
    }else {
     printf("输入有误请重新输入!\n");
     goto loop;
    }
    int czxh;
    int xh;         //定义统计的变量
    char name[8];
    double number;
    int suanshu;
    int fn;         //跳出循环定义的变量
    FN:
    printf("现在进入功能选择\n");     //功能选择
    lop:
    printf("输入1进入成绩统计功能\n");
    printf("输入2进入查找功能\n");
    printf("输入3进入其他功能\n");
    printf("输入4退出程序。\n");
    int GN;
    scanf("%d",&GN);

      switch(GN){      //1.统计功能
     case 1:{
       printf("请输入您的学号:");
       scanf("%d",&xh);
       printf("请输入您的名字:");
       scanf("%s",&name);
       printf("请输入您的成绩:");
       scanf("%d",&number);
         }
       printf("统计结束输入1返回");
       scanf("%d",&fn);
       if(fn==1){
       goto FN;
      }
      break;
     case 2:{
         printf("请输入您的学号:");
         scanf("%d",&czxh);
         if(czxh==xh){
         printf("学号为:%d\n",xh);
         printf("姓名为:%s\n",&name);
         printf("学号为:%d\n",number);
         }else{
         printf("对不起,暂无该同学信息!\n");
       }
         printf("输入1返回。");
         scanf("%d",&fn);
        if(fn==1){
        goto FN;
          }
         }
     case 3:{
    lo:     printf("输入1进入算数功能\n");
         printf("输入2进入讲故事功能\n");
         printf("输入3返回上一层\n");
       scanf("%d",&suanshu);
       switch(suanshu){
      
       case 1:{              //算数功能
           printf("欢迎进入算数功能!请选择您要的运算\n");
           printf("输入1.加法运算\n");
           printf("输入2.减法运算\n");
           printf("输入3.乘法运算\n");
           printf("输入4.除法运算\n");
           int a;
           scanf("%d",&a);
           switch(a){
           case 1:{             //加法
            int a,b,c,d;
            printf("请输入任意两个数字");
            scanf("%d",&a);
            scanf("%d",&b);
            c=a+b;
            printf("%d+%d=%d",a,b,c);
           printf("\n输入1回到主菜单 输入其他数字返回上一层。");
            scanf("%d",&d);
            if(d>1){
           goto lo;
            }else if(d==1){
           goto lop;
            }
            }
            break;
           case 2:{             //减法
            int a,b,c,d;
              printf("请输入任意两个数字");
            scanf("%d",&a);
            scanf("%d",&b);
            c=a-b;
            printf("%d+%d=%d",a,b,c);
             printf("\n输入1回到主菜单 输入其他数字返回上一层。");
            scanf("%d",&d);
            if(d>1){
           goto lo;
            }else if(d==1){
           goto lop;
            }
            }
            break;
           case 3:{
           int a,b,c,d;
             printf("请输入任意两个数字");
            scanf("%d",&a);
            scanf("%d",&b);
            c=a*b;
            printf("%dx%d=%d",a,b,c);
             printf("\n输入1回到主菜单 输入其他数字返回上一层。");
            scanf("%d",&d);
            if(d>1){
           goto lo;
            }else if(d==1){
           goto lop;
            }
            }
            break;
           case 4:{
          int a,b,c,d;
            printf("请输入任意两个数字");
            scanf("%d",&a);
            scanf("%d",&b);
            c=a/b;
            printf("%d/%d=%d",a,b,c);
             printf("\n输入1回到主菜单 输入其他数字返回上一层。");
            scanf("%d",&d);
            if(d>1){
           goto lo;
            }else if(d==1){
           goto lop;
            }
            }
            break;
           }
           }
       
       case 2:{
           printf("请输入1-10系统给出小故事");      //故事功能
           int a;
           scanf("%d",&a);
          switch(a){
          case 1:{
           printf("他拥有一次穿越到过去的机会,\n");
           printf("是回到十年前的考场,然后金榜提名\n");
           printf("还是回到五年前,用所有的钱买下公司的股份?\n");
           printf("他想了想,最终还是回到了一年前的那个夜晚。\n");
           printf("他静静的躺在床上,用手机给她发了条短信。\n");
           printf("“不分手,好不好?”\n");
              }
           break;
          case 2:{
           printf("五岁,“妈,我想吃红烧肉。”\n");
           printf("“行,烧。”\n");
           printf("十五岁,“妈,别做红烧肉了,换换味道。”\n");
           printf("“行,买别的菜。”\n");
           printf("三十五岁,“儿子,啥时候回来,妈给你做红烧肉。”\n");
           printf("“不行,最近忙。”\n");
           printf("五十岁,“妈妈今天路过你家,给你带红烧肉。”\n");
           printf("“不行,今天不在家。”\n");
           printf("七十岁,“妈,我想吃红烧肉....”\n");
           printf("那边已经没有了妈妈的声音。\n");                
              }
           break;
          case 3:{
           printf("她接到了她喜欢了七年的男生来的电话。\n");
           printf("他对她说,“我们在一起吧”\n");
           printf("尽管她听到了电话那头别人的窃笑。\n");
           printf("“好”她淡淡的说道,“大冒险又输了吧?”\n");
           printf("他说,“这次我选的是真心话。”\n");
              }
           break;
          case 4:{
           printf("一场车祸,我变得又聋又瞎,男朋友也走了。\n");
           printf("只有妈妈陪着我。\n");
           printf("知道我喜欢雨,她就常扶我出来,感受雨水拍打我的双手。\n");
           printf("所幸的是,今年雨特别多。\n");
           printf("“妈,我想回去了。”\n");
           printf("回去时,我强忍住眼泪。刚刚耳朵突然剧痛。\n");
           printf("隐约听到,\n");
           printf("“看,又是那两个精神病,大晴天雇人洒水,真可笑,又不是拍戏。”\n");
            }
           break;
          case 5:{
           printf("十年前,\n");
           printf("他问她,“老师,我可以爱你吗?”\n");
           printf("她笑道,“傻孩子,你还小”\n");
           printf("十年后,他长大结婚,她寄来一束贺礼。人却没来。\n");
           printf("得知她后来因病去世,他携妻子参加她的葬礼。\n");
           printf("才知道她终身未嫁。\n");
           printf("三十年后的一次搬家,他发现了儿时的作业本。\n");
           printf("最后一页一行醒目的字:\n");
           printf("可是,我愿意等你长大。\n");
              }
           break;
          case 6:{
            printf("爸妈只会简单地操作电脑,");
            printf("我在另一个城市上班,忙的发昏,很少回去。");
            printf("所以就在电脑上弄了个360");
            printf("他们也不会杀毒,");
            printf("每次我回去,体检一下电脑,升一下级。");
            printf("昨天老妈打电话 :儿子啊,360已经提示187天没有体检了………");
            printf("顿时,泪流满面。");
              }
           break;
          }
          case 7:{
            printf("走出考场的时候,她哭的一塌糊涂");
            printf("考生们都目瞪口呆的看着这么一个漂亮女生哭的梨花带雨。");
            printf("他不顾旁人的眼光,一把揽过她。");
            printf("凶狠狠的说,再哭我就当众吻你。");
            printf("她哭的更厉害了,“数学好难,我们不能上同一所大学了。”");
            printf("他说,“笨蛋,我就知道你不会,我后面的题都没做。”");
              }
           break;
          case 8:{
              printf("要做心脏移植手术了,他深情的望着躺在床上的妻子。");
              printf("拿签字表的手,有些颤抖。");
              printf("“快签吧,窝囊废,穷鬼。”妻骂");
              printf("手术很成功,她没有一点排异反应。");
              printf("“我那没心肝的丈夫呢?”她问护士。");
              printf("护士小姐拿着一张纸,上面画了一颗鲜红的心,和一行字。");
              printf("“这是我能最后给你的了,我爱你。”");
              }
           break;
          case 9:{
              printf("她下班回家,他坐在沙发上。");
              printf("面无表情的抽着烟,突然开口说,");
              printf("“喂,我说,我们同居了2年,你不觉得厌倦吗?”");
              printf("她转身,愣愣的看着他,“你说....什么?..”");
              printf("他面无表情的说,“我厌倦了..”");
              printf("她的眼泪流了出来,无助的背过身。");
              printf("一个温暖的怀抱突然抱住她,");
              printf("“不如我们结婚吧”");
              }
           break;
          case 10:{
            printf("昨天看新闻,有人得了癌症。");
            printf("为了给家里省钱,不治了。");
            printf("晚上临睡前我问老公,“如果我得了癌症,你会给我治吗?”");
            printf("老公都快说着了,迷迷糊糊说,");
            printf("“别瞎说,倾家荡产也得给你治”");
            printf("我说,“如果是你得了癌症呢?”");
            printf("他说,“那就不治了”");
            printf("我问,“为什么啊”");
            printf("“剩你一个人,挣钱不容易。”");
            }

           }
       
       }
       
         
         }
    }
    }
     

    展开全文
  • 创建储存用户账号密码的文件: void Create_File() { FILE *fp; if ((fp = fopen("users.txt","rb"))==NULL) /*如果此文件不存在*/ { if ((fp = fopen("users.txt","wb+"))==NULL) ...

    创建储存用户账号密码的文件:

    void Create_File()
    {
        FILE *fp;
        if ((fp = fopen("users.txt","rb"))==NULL)                 /*如果此文件不存在*/
        {
            if ((fp = fopen("users.txt","wb+"))==NULL)
            {
                outtextxy(220, 200, "无法建立文件!");  
                
            }
        }
    }

     


    关于文件读写:

    r     只读    为输入打开一个文本文件(文件必须存在)
    w     只写    为输出打开一个文本文件(如没有文件,则新建)
    a     追加    向文本文件尾添加数据(如没有文件,则新建)
    rb    只读    为输入打开一个二进制文件
    wb    只写    为输出打开一个二进制文件
    ab    追加    向二进制文件尾添加数据
    r+    读写    为读写打开一个文本文件(文件必须已经存在)
    w+    读写    为读写建立一个新的文本文件
    a+    读写    为读写打开一个文本文件(读写指针定位在最后)
    rb+   读写    为读写打开一个二进制文件
    wb+   读写    为读写建立一个新的二进制文件
    ab+   读写    为读写打开一个二进制文件


    创建结构体:

    typedef struct The_users   //typedef 可以定义结构体别名
    {
        char id[11];
        char pwd[20]; 
    }users;

    该结构体用于存储用户账号密码。

     

    注册用户(账号密码)

         void registers()  //按结构体的大小,一次写入或者读入1个结构体大小
         {    
             users a,b;//结构体 The_users 重命名定义
             FILE *fp;
             fp = fopen("users.txt","r");
             
             fread(&b, sizeof(struct The_users), 1, fp); //读入一个结构体字符块 到b
             
             InputBox(a.id,11,"请输入账号");
             
             while (1)
             {    
                 if (strcmp(a.id, b.id)) /*如果两串不相等*/
                 {
                     if (!feof(fp))    /*如果未到文件尾*/                                
                         
                         
                     {
                         fread(&b, sizeof(struct The_users), 1, fp);
                     }
                     else
                         break;
                 }
                 else
    
                 {   
                     outtextxy(220, 200, "此用户名已存在!"); 
                     fclose(fp);
                     main();     
                 }
             }
             
             InputBox(a.pwd,10,"请输入密码");
             fp = fopen("users.txt","a");
             fwrite(&a, sizeof(struct The_users), 1, fp);
             outtextxy(220, 200, "帐号注册成功!");
             fclose(fp);
             main();
         }
    
     

     


    登录账号密码:

    void  Input_login()
    {
        users a,b;//定义结构体The_users别名
        
        FILE *fp;
        
        fp = fopen("users.txt","r");
        
        fread(&b, sizeof(struct The_users), 1, fp); //读入一个结构体字符块 写入b
        
        InputBox(a.id,11,"请输入账号");
        
        outtextxy(295,270,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
                   {
                       outtextxy(220, 200, "此用户名不存在!");
                       fclose(fp);
                       main();
                       
                   }
               }
           }
           
           InputBox(a.pwd,20,"请输入密码");
           
    if (strcmp(a.pwd, b.pwd)==0)            /*如果密码匹配*/
               
           {
               
               fclose(fp);
     
              outtextxy(250, 200, "登录成功,欢迎使用!");
              
              }
           else  
           {       outtextxy(220, 200, "密码不正确!");
                   main();
           }
           
    }

     

    转载于:https://www.cnblogs.com/zhaocundang/p/4783276.html

    展开全文
  • 做一个需要登陆注册的项目,但是不知道怎么去做一个记录登陆注册的,应该不会用到数据库吧!求大神帮忙解答,感激不尽
  • C语言实现简单注册登陆功能

    万次阅读 多人点赞 2017-01-03 16:38:35
    之前在学习用C语言建立通讯录管理系统的时候有想过,怎么为每个用户单独设立通讯录,自然而然想到了最常见的注册与登陆功能,通过不同的账号达到单独设立通讯录的目的。这里将用户名密码和用户资料保存在一个文件中...

    之前在学习用C语言建立通讯录管理系统的时候有想过,怎么为每个用户单独设立通讯录,自然而然想到了最常见的注册与登陆功能,通过不同的账号达到单独设立通讯录的目的。肯定还存在许多问题,当给自己立个flag,未来慢慢磨。以下是实现过程:

    注意头文件:

    #include <stdio.h>
    #include <string.h>
    #include <conio.h>
    #include <stdlib.h>
    #define bool int        //这里用define定义了布尔类型
    #define true 1          //避免一些编译器如vs2010没有该头文件无法使用的情况发生
    #define false 0         //有些编译器如code:blocks可以直接使用头文件<include stdbool.h>
    FILE *fp;               //文件指针,不多说
    bool judge=true;

    先定义一个结构体Users,然后新建结构体pe用来存放用户名和密码。

    typedef struct
    {
        char user[20];
        char code[20];
    }Users;
    Users pe;  

    然后是编写注册模块。这里多增加了一个”阅读用户手册”,可删改。

    /*注册模块*/
    void zhuce()
    {
        char temp[20],txt[100],cha;        //定义两个数组,一个存放键盘输入的用户名和密码一个存放用户手册
        do
        {
            printf("\t\t\t\t用户注册");
            printf("\n\t\t1.直接注册 2.阅读用户手册");
            cha=getch();
            if(cha=='2')
            {
                if((fp=fopen("使用说明.txt","r"))==NULL)
                    {
                    printf("\n\t\t打开失败");
                    exit(0);
                    }
                    fread(txt,2,20,fp);
                    printf("\n\t\t%s",txt);
                    /*txt=fgets(txt,100,fp);
                    printf("%s",txt);
            }
            printf("\n\t\t按任意键继续");
            getch();
            system("cls");
            /*以上部分用于打开用户手册,可删改*/
            printf("\t\t\t\t用户注册");
            printf("\n\t\t用户名:");
            scanf("%s",pe.user);
            fp=fopen(pe.user,"r");
            /*判断用户名是否重复*/
            if(fp!=NULL) 
            {
               printf("\n\t该用户名已存在");
               fclose(fp);
               printf("\n\t继续注册?(Y/N)");
               if(getch()=='Y') return zhuce();
               else return denglu();
            }
            /*确认两次密码输入是否一致*/
            printf("\n\t\t密  码:");
            scanf("%s",pe.code);
            printf("\n\t\t确认密码:");
            scanf("%s",temp);
            if(strcmp(pe.code,temp)!=0)
            printf("\n\t\t两次密码不一致,请重新输入");
        }while(strcmp(pe.code,temp)!=0);
        /*用户名密码无误,写入文档储存用户信息*/
        fp=fopen(pe.user,"w");
        if(fp==NULL)
           {
              printf("\n\t注册失败\n");
              exit(0);
           }
        else 
        {
            system("cls");
            printf("\n\t注册成功");
            write();               //用户信息写入函数,底下给出
            judge = false;
            denglu();             //这里跳转到登陆模块
        }
    }
    /*写入用户信息*/
    void write()
    {
        if(fwrite(&pe,sizeof(User),1,fp)!=1)
        {
            printf("\n\t\t写入文件错误");
            exit(0);                     //写入错误则退出程序
        }
    }

    写完注册模块,接下来就是写登陆模块了,这里的关键就是读取之前存储好的用户信息以及用户的资料

    void denglu()
    {
        char u[20],c[20],temp[20];      //定义两个数组,存放键盘输入的用户名和密码
        printf("\n\t\t\t\t用户登录");
        printf("\n\t\t用户名:");
        scanf("%s",u);
        /*判断用户名是否存在*/
        fp=fopen(u,"r+");
        temp[0]='0';
        if(fp==NULL)
        {
            printf("\n\t\t用户不存在,请注册");
            printf("\n\t\t1.注册   2.重新登陆");
            temp[0]=getch();
            if(temp[0]=='1')
            {
                system("cls");
                zhuce();
            }
            else return denglu();
        }
        /*验证密码是否正确*/
        do
        {
            if(judge==true) fread(&pe,sizeof(Users),1,fp); //读取用户信息,即用户名和密码
            printf("\t\t密  码:");
            scanf("%s",c);
            if(strcmp(pe.code,c)!=0)                      //对比输入的密码和读取的密码
            {
                printf("\n\t\t密码错误(1.退出 2.重新输入)");
                temp[0]=getch();
                printf("\n");
                if(temp[0]=='1')
                {
                    fclose(fp);                           //关闭文件防止错误操作
                    return main();
                }
            }
        }while(temp[0]=='2');
        /*readfile();   
    该函数读取用户自己的资料,需要注意这里用户信息和其资料存储在一个文件中,读取是应适当使用rewind,ftell和fseek跳过一个User大小的空间读取的才是用户的资料*/
        getch();
        //这里可以设置跳转到操作界面
    }

    **到这里登陆模块也编写好了,只需要将它添加到已有代码稍微修改下就可以了O(∩_∩)O~**

    虽然这个思路很简单,但当初思考的时候还是费劲脑汁,毕竟刚接触C语言,很多东西还不能融会贯通,不能运用自如,甚至会在很简单的问题上纠结几个小时,最后发现的时候真的想抽自己几巴掌,但当最后完工了,真的实现了,好开心好开心!O(∩_∩)O~
    然而,实用性确实有限,只能供咱们这些新手小白消遣消遣,而且肯定存在许多漏洞,水平有限,又或者太懒了,真心不找了,这里立个flag,未来的学习之路,咱们慢慢磨!
    (*^__^*) 嘻嘻……

    展开全文
  • 怎么用C语言实现一个简单的注册功能,通过键盘输入账号密码存到D盘中,同时还附加能够修改密码的功能。
  • 之前在学习用C语言建立通讯录管理系统的时候有想过,怎么为每个用户单独设立通讯录,自然而然想到了最常见的注册与登陆功能,通过不同的账号达到单独设立通讯录的目的。肯定还存在许多问题,当给自己立个flag,未来...
  • C语言之结构体

    2021-01-17 22:25:29
    实例:例如某网站需要注册账号,需要填的姓名,邮箱、手机号等信息。 3、扩展: Java中 class就是一个类,与C语言中结构体类似。大家都知道c语言是面向过程的; Java php c++ python等是面向对象的。然而c语言可以...
  • 登录或者注册账号分为老师账号和学生账号 学生的功能相比老师会少一些 程序运行时会在程序的目录创建两个文件 分别保存学生数据和账号信息 我还偷偷在程序里加了一个大风车,,,c语言的初学者肯定都被...
  • 简单C语言火车订票系统,具有登录、注册功能,数据均保存在文件中。管理员账号密码均为admin,站点信息较少请自行登录管理员账号添加,欢迎交流学习!
  • C语言小案例:登录界面

    千次阅读 多人点赞 2020-01-20 22:04:27
    第二个小案例新鲜出炉啦,小人不才,斗胆将其公之于众,请各位大佬手下留情,也希望给出些许建议,万分感谢! 同是天涯码字猿,共勉,共勉! 案例目的:C语言实现登录界面 ...注册账号:输入用户...
  • 利用C语言实现的ATM机

    2018-10-23 01:59:38
    运用C语言实现银行ATM机的管理员或用户登录、注册、存取款以及转账等基本功能,实现动态查询、万年历查询以及文件存储等。(初次登陆账号:admin 密码:123456)
  • C语言考试管理系统 本项目分为学生端和管理端 学生端:注册、登录、答题、排名、发邮件、收邮件、题目的增删改查…… 管理端:查询修改用户、查询邮箱…… 管理端直接输入 账号:101 密码:54759 即可登录成功。
  • //当注册用户名为:root,密码为:root的账号时,系统默认为初始管理员 //头文件 #include #include #include #include #include #include //宏定义区 #define M sizeof(struct User)//用户表的大小 #def
  • C语言聊天室1.0

    2018-03-04 15:45:23
    注册注册账号;登陆是登陆账号;退出是退出客户端。3、 登陆之后有四个功能,分别是显示在线好友、和好友聊天、群聊和退出账号。点击和好友聊天后,出现输入好友姓名(好友必须在线),然后可以发消息给对方。当...
  • 之前在学习用C语言建立通讯录管理系统的时候有想过,怎么为每个用户单独设立通讯录,自然而然想到了最常见的注册与登陆功能,通过不同的账号达到单独设立通讯录的目的。肯定还存在许多问题,当给自己立个flag,未来...
  • 图书馆管理系统 (C语言

    万次阅读 多人点赞 2018-05-07 00:31:02
    图书馆管理系统 (C语言) ...注册生成随机账号 账号登录检测 账号找回密码 密码简单加密存储至文件,解密加载至链表 主函数 #include &quot;head.h&quot; int main(void) { Book_hea...
  • C语言课程课前准备

    2021-02-11 14:41:42
    博客 养成写博客的习惯。 博客的重要性: 自己写博客,是对所学知识的总结 ...下去先了解,再注册一下github账号 一些有逼格的工具 印象笔记(有道云笔记)-笔记可以检索,笔记丢不了,随时随地方便复习。 xmind-思
  • c语言通讯录管理系统的总结

    千次阅读 2019-06-09 13:33:34
    c语言课设管理系统总结 完成情况 防暴力输入 密码加密输入并删除 管理员和用户端两个端 管理员对用户的账号删除 注册用户 用户的账户名及密码修改 用户基本操作 管理员基本操作 存在的问题 ...
  • 该超市管理系统使用C语言开发,用到了链表和文件的操作。该项目共支持三种类型的用户账户,root管理员,普通管理员,普通用户三种,实现了超市商品的进货,出售以及注册账号等的常用功能。
  • c语言实现图书信息管理系统

    千次阅读 多人点赞 2019-05-23 20:56:05
    图书信息管理系统 本文主要是用C语言有关内容实现图书信息管理...(1)用户注册账号,登陆系统。 (2) 添加图书信息。 (3)遍历图书。 (4)按ISBN号或书名查询图书。 (5)按ISBN号或所属学科查询图书。 (6)求...
  • c语言案例--登录

    2019-04-10 15:55:59
    /* 实现登录的操作 (函数) 123 实现欢迎您 xxx(函数) 123 */ #include<stdio.h> ... //写一个注册账号和密码 int user=123; int pass=456; //4.传递的账号和密码 进行比对 if...
  • MATLAB中安装c语言编译器方法

    千次阅读 2019-04-24 16:20:58
    1、首先,在打开MATLAB 软件界面时,右上角有一个mathworks账号的登录,如果已经注册了,就登录账号;如果没有,就去mathworks官网进行注册,然后再登录。 2、在MATLAB 官网下载MinGW-w64 C/C+...
  • C语言实现学生成绩管理系统 作者无铭 说明 注册密码2014052421 程序包含中文和特殊字符在Window下需ASCII编码不能UTF-8编码 程序对三个文件要求是文本文件且studata.txt中包含中文字符在window下也需要ASCII编码 ...
  • 逻辑挺复杂 编译正常 可运行就出错 首先判断有没有账号 如果没有就显示注册界面 如果有就显示登陆 如果登陆失败 还可以改密码等等

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 123
精华内容 49
关键字:

c语言账号注册

c语言 订阅