| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 381 人关注过本帖
标题:帮帮忙 看看这个程序代码哪有问题?自己没想通!!
取消只看楼主 加入收藏
牙齿哥
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-5-30
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:0 
帮帮忙 看看这个程序代码哪有问题?自己没想通!!
程序代码:
写了个判断密码的代码,用户名没有判断。
题目要求:
编写一个密码登录程序,程序中将提示用户输入用户名和密码。如果密码有误,提示从新输入,
直到输入正确或连续3次输入错误后退出循环,并显示相应信息。

#define PASSWD "yachige"  默认密码
输入密码后有3次机会从新输入密码,3次都输入错误错误退出






#include<stdio.h>
#include<string.h>//比较字符串大小
#define PASSWORD "yachige"
int main(void)
{
    char user[20],password[15];
    int flag;
    int i=3,b=3;
    printf("Enter the use:");
    scanf("%s",&user);
    printf("\nEnter the passwd:");
    scanf("%s",&password);
    flag = strcmp(PASSWORD,password);//对比2个字符串,相同返回0,不相同(大于返回正整数,小于返回负整数)。
    while(flag)//循环直到输入次数变0或者输入正确。
    {  
        if(i<=1)
        break;
        if(i>0)
            {
                printf("The passwd is wory.Please enter the right passwd.");
                printf("You have %d times opportunite.\n",--i);
                scanf("%s",&password);
                flag = strcmp(PASSWORD,password);                   
            }
       
    }
    if(flag)
    printf("The prgrammse is end\n");
    else printf("Willcome the word:%s!\n",user);
    return 0;
}
上面while循环本来只循环输入3次, 那么我想第一个if语句应该是if(i<=0)才对啊   为什么if(i<=0)后他要输入4次才结束而用if(i<=1)就这输入3次。。。   一直没想明白。。应该是if(i<=0)啊!!。。。。     各位帮帮忙看看。。。。      还有就是有什么地方能够改进吗?
2011-05-31 08:15
快速回复:帮帮忙 看看这个程序代码哪有问题?自己没想通!!
数据加载中...
 
   



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

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015007 second(s), 8 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved