| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1494 人关注过本帖
标题:新手!求一完整代码!C语言
只看楼主 加入收藏
只求完美
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2009-10-9
结帖率:0
收藏
已结贴  问题点数:20 回复次数:24 
新手!求一完整代码!C语言
假设密码为12345,当用户输入的密码正确时,显示“Welcome!”密码错误时,显示“Try again!”,并要求用户重新输入密码。如果输入3次后密码仍然错误,显示“Sorry!”并不允许再输入!本人新手!有劳了!
搜索更多相关主题的帖子: 代码 C语言 
2009-10-09 15:24
只求完美
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2009-10-9
收藏
得分:0 
自己顶一下!没有人踩吗?
2009-10-09 16:35
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:1 
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    char s[10],s1[]="12345";
    int i;
    for(i=0;i<3;)
    {
        printf("please input the possword:\n");
        gets(s);
        if(strcmp(s,s1)==0)
        {
        printf("Welcome.\n");
        break;
        }
        else
          {
           printf("please try again!\n");
           i++;
          }
    }
    if(i==3)
    printf("Sorry!\n");
}
要是密码是事先定好的,可以再程序里稍作修改。

[ 本帖最后由 m456m654 于 2009-10-9 16:48 编辑 ]
2009-10-09 16:46
brantyou
Rank: 1
等 级:新手上路
帖 子:26
专家分:2
注 册:2009-5-3
收藏
得分:1 
顶一下
2009-10-09 18:06
moondark
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:45
专家分:158
注 册:2009-9-6
收藏
得分:1 
回复 3楼 m456m654
貌似还需要#include <string.h>。。。
2009-10-09 19:14
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
收藏
得分:1 
以下是引用m456m654在2009-10-9 16:46:48的发言:

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    char s[10],s1[]="12345";
    int i;
    for(i=0;i<3;)
    {
        printf("please input the possword:\n");
        gets(s ...


修改一下,这样会更好:
/* Note:Your choice is C IDE */
#include <stdio.h>
#include <string.h>

#define PASSWORD "12345"
int main()
{
    char s[6];
    int i = 0;
    printf("please input the password:\n");
    do
    {
        i++;
        fgets(s,6,stdin);
        if(!strcmp(s,PASSWORD))
        {
          printf("Welcome.\n");
          system("PAUSE");
          return 0;
        }
        else
        {
           if(i < 3)
           printf("please try again:\n");
        }
        fflush(stdin);
    }while(i < 3);
    printf("Sorry!\n");
    system("PAUSE");
    return 1;
}
不然gets的bug会导致输入一次就死了,比如长度超过18个字符。

要练习算法就来http:///!!有挑战哦!!
2009-10-09 20:09
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
收藏
得分:1 
#include <string.h>
#include <stdio.h>
void main()
{
    char s[]="12345",s1[6];
    int i,flag=0;
    for(i=1;i<=3;i++)
        {
        gets(s1);
        if(strcmp(s1,s)==0)
            {flag=1;break;}
        else
            printf("try again!\n");
            gets(s1);
        }
    if(flag==1)
    printf("welcome!\n");
    else
    printf("sorry!\n");
    getch();
}


[ 本帖最后由 pgy 于 2009-10-10 20:25 编辑 ]

我可好玩啦...不信你玩玩^_^
2009-10-09 21:28
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
收藏
得分:0 
不是逗号。
{
   flag=1;
   break;
 }

有bug就是输入18个以上的一串字符时有问题:asdfafadfasdfasdfasdfasdfasdfadfasdfasdfasdfas

可以试试。


要练习算法就来http:///!!有挑战哦!!
2009-10-09 21:37
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
收藏
得分:0 
flag=1,break;  
{
   flag=1;
   break;  
}
不能等效么?一个是用逗号表达式,一个是用复合语句,都是一个语句,为什么一个错误一个正确?
麻烦8楼再解释下,谢谢!

我可好玩啦...不信你玩玩^_^
2009-10-09 21:45
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
收藏
得分:0 
回复 9楼 pgy
不要将这个
等效为int x = 0,y = 0;//这个是define
如果:
int x,y;
x=0,y=0;也是错的。
或者等效为:x =(1,2, 3);



要练习算法就来http:///!!有挑战哦!!
2009-10-09 21:51
快速回复:新手!求一完整代码!C语言
数据加载中...
 
   



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

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