| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 602 人关注过本帖
标题:请教一下:我这程序少了些什么?
只看楼主 加入收藏
ylyefeng
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-11-10
结帖率:0
收藏
已结贴  问题点数:20 回复次数:6 
请教一下:我这程序少了些什么?
要求:编写一个C程序,使用字符型数组存放密码的方法,模拟密码登录的过程。
          要求:由用户输入一个初始密码。然后使用该密码进行登录。如果密码正确,可以显示欢迎的信息,如果密码不正确,则提示密码错误。
        但是,用户设置的密码要求在8~16位之间,如果位数不足或者超过,则提示用户操作错误。

#include "stdio.h"
#include "string.h"
void main()
{
    int i;
    char p[10],k[14],k2[14],k3[14];
    printf("请输入账号:");
    scanf("%s",p);
    printf("用户 %s 请设置密码:",p);
       for(i=7;i>=1;i--)
           {
            scanf("%s",k);
              if(strlen(k)>=5&&strlen(k)<=10)
              {
                printf("请再次输入密码:");
                break;
              }
              else
                printf("密码有效是5~10位,请重新输入:");
           }
       for(i=7;i>=1;i--)
           {
            scanf("%s",k2);
              if(strcmp(k2,k)==0)
              {
                printf("注册成功!\n\n");
                break;
              }
              
             else
               
               printf("两次密码不相同,请重新输入:");
               
           }
    printf("\n欢迎进入**世界!\n\n");
    printf("用户 %s 请输入登陆密码:",p);
       for(i=7  w7;i>=1;i--)
      
           {
            scanf("%s",k3);
            if(strcmp(k3,k2)==0)
             {
                printf("\n欢迎来到**的世界!\n");
                break;
     
             }
            else
         
             printf("密码错误,请重新输入:");
           }  
              
               
}
搜索更多相关主题的帖子: 密码 include 用户 账号 
2011-11-11 20:03
恶人打劫
Rank: 2
等 级:论坛游民
帖 子:14
专家分:39
注 册:2011-5-17
收藏
得分:4 
#include "stdio.h"
#include "string.h"
void main()
{

    char code[16],pcode[16],p[10];
    int len,flag=0;
   
    printf("请输入账号:");
    scanf("%s",p);
   
   
   
    while(flag==0)
    {
        printf("用户 %s 请设置密码:\n",p);
        scanf("%s",code);
        
        len=strlen(code);
        strcpy(pcode,code);

        if(len>16||len<8)
        {
            printf("重设密码,密码位数不对\");
        }

        else
        {
            printf("再次输入密码\n");
            scanf("%s",code);

            if(strcmp(pcode,code)==0)
            {
                printf("注册成功!\n\n");
                flag=1;
            }
            else
                printf("两次密码不相同,重新输入\n");
        
        }
    }

      printf("\n欢迎进入**世界!\n\n");
      printf("用户 %s 请输入登陆密码:",p);
      scanf("%s",code);
       if(strcmp(pcode,code)==0)
             printf("\n欢迎来到**的世界!\n");
       else
           printf("密码错误,请重新输入:");


}
输错了,或者2次输入不对,要再次能让用户冲输入,最好用结构体来设置用户名和密码。
收到的鲜花
  • ylyefeng2011-11-13 19:59 送鲜花  2朵   附言:有些没学过。。
2011-11-11 20:56
馨梦惜夕
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:54
专家分:190
注 册:2011-5-18
收藏
得分:4 
for(i=7;i>=1;i--)
            {
             scanf("%s",k);
               if(strlen(k)>=5&&strlen(k)<=10)
               {
                 printf("请再次输入密码:");
                 break;
               }
               else
                 printf("密码有效是5~10位,请重新输入:");
            }
   在这之后应该加一句  if(i=0) exit(0);  即7次输入的密码都不在范围内,就退出程序!  否则,第七次就成为你的密码的了,不管在不在范围!!
2011-11-11 21:07
爱闹的娃
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:265
专家分:975
注 册:2011-10-23
收藏
得分:4 
你觉得你少了些什么?你要的功能也就这些啊
2011-11-11 21:12
xp0213
Rank: 7Rank: 7Rank: 7
来 自:湖北武汉
等 级:黑侠
威 望:1
帖 子:222
专家分:524
注 册:2011-10-26
收藏
得分:4 
#include "stdio.h"
#include "string.h"
void main()
{
    int i;
    char p[10],k[14],k2[14],k3[14];
    printf("请输入账号:");
    gets(p);
    printf("用户 %s 请设置密码:",p);
       while(1)
           {
            scanf("%s",k);
              if(strlen(k)>=5&&strlen(k)<=10)
              {
                printf("请再次输入密码:");
                break;
              }
              else
                printf("密码有效是5~10位,请重新输入:");
           }
       while(1)
           {
            scanf("%s",k2);
              if(strcmp(k2,k)==0)
              {
                printf("注册成功!\n\n");
                break;
              }
              
             else
               
               printf("两次密码不相同,请重新输入:");
               
           }
    printf("\n欢迎进入**世界!\n\n");
    printf("用户 %s 请输入登陆密码:",p);
       while(1)
      
           {
            scanf("%s",k3);
            if(strcmp(k3,k2)==0)
             {
                printf("\n欢迎来到**的世界!\n");
                break;
     
             }
            else
         
             printf("密码错误,请重新输入:");
           }  
              
               
}
收到的鲜花
  • ylyefeng2011-11-13 19:58 送鲜花  3朵   附言:我很赞同
2011-11-11 23:43
ylyefeng
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-11-10
收藏
得分:0 
谢谢啊!我好好看看
2011-11-12 13:36
kd83kdi93
Rank: 2
等 级:论坛游民
帖 子:65
专家分:52
注 册:2011-9-18
收藏
得分:4 
#include <stdio.h>
#include <string.h>



int main()
{
    char user[50],password[100];
    char user1[50],password1[100];
    int i;
    printf("设置用户名:");
    fflush(stdin);
    scanf("%s",user);
ss:    printf("%s用户,设置您的密码(8-16位):",user);
    fflush(stdin);
    scanf("%s",password);
    if((strlen(password)<8)||(strlen(password)>16))
    {   
        printf("密码错误\n");
        goto ss;
    }
    printf("注册成功\n");
aa:    printf("输入用户名:");
    fflush(stdin);
    scanf("%s",user1);
    if (strcmp(user,user1)==0)
    {
ss1:    printf("输入密码(8-16位):");
        fflush(stdin);
        scanf("%s",password1);
        if((strlen(password1)<8)||(strlen(password1)>16))
        {   
            printf("密码错误\n");
            goto ss1;
        }
        if(strcmp(password,password1)==0)
            printf("登录成功\n");
        else
            printf("密码错误\n");
    }
    else
    {   
        printf("用户名错误\n");
        goto aa;
    }
    return 0;
}
2011-11-12 14:17
快速回复:请教一下:我这程序少了些什么?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018000 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved