广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 3475 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
和煦微风 手机 会员卡 葫芦墩家族
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖
知名人士
级别: 知名人士 该用户目前不上站
推文 x19 鲜花 x253
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[C/C++][求助] 密码验证的问题
资料里面已经有3个帐号资料,也有相对应的密码
设计一个让使用者可以输入帐号密码的程式...
如果帐号正确,密码可以错误3次...(就像是提款机那样)
如果密码也正确就印出帐号密码正确...
如果帐号错误...直接印出帐号错误...结束程式


我写到这边...编译也没出错...
就是没办法辨识帐号...
输入什么都说帐号错误...
麻烦各位大大帮我检查一下哪边弄错了吧....

#include <stdio.h>
#include <stdlib.h>

char account,result,c="none",y,n;
int i=0,j=0;

char check(char password)
{
for(i=0;i<=3; ..

访客只能看到部份内容,免费 加入会员 或由脸书 Google 可以看到全部内容




献花 x0 回到顶端 [楼 主] From:台湾教育部 | Posted:2005-12-28 22:20 |
mmx142857a
个人头像
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x0 鲜花 x36
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

在C语言里字串不能用 "==" 来直接比较的,要用 strcmp(s1,s2) 这个函数来比较

语法︰int strcmp(char *s1,char *s2)
字串s1 > 字串s2 则传回负值
字串s1 = 字串s2 则传回 0
字串s1 < 字串s2 则传回正值
记得要 #include <string.h> 这个标头档

所以看 strcmp 的传回值是否为 0 就能判断2字串是否相等

判断密码的副程式那边我想应该是要先输入才能去比较巴,所以我把 if() 和 输入 2个顺序反过来。
i 的范围的话我想应该是从 0~2 ( 0、1、2 )刚好3次,大致上就这些。

复制程式
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char account[100],result,c[100]="none",y,n;
int i=0,j=0;

char check(char password[100])
{
     for(i=0;i<=2;i++)
     {
         printf("Please input your password:");
         scanf("%s",c);

         if(strcmp(c,password)==0)
            break;
     }

     if(i==3)
        return 'n'
     else
        return 'y'
}

int main(void)
{
    printf("预设帐号:guest 密码:guest\n"); 
    printf("预设帐号:abc   密码:123\n"); 
    printf("预设帐号:qoo   密码:ooo\n"); 
    printf("Please input your account:");
    scanf("%s",account);

    if(strcmp(account,"guest")==0)
    {
       char password[100]="guest";
       result=check(password);
    }
    else 
       if(strcmp(account,"abc")==0)
       {
          char password[100]="123";
          result=check(password);
       }
       else
          if(strcmp(account,"qoo")==0)
          {
            char password[100]="ooo";
            result=check(password);
          }
          else
            result='n'

    if(result=='y')
       printf("输入正确~!!!!\n");

    if(result=='n')
       printf("帐号错误~!!!!\n");

    system("PAUSE");
       
return 0;
}


献花 x1 回到顶端 [1 楼] From:台湾中华电信 | Posted:2005-12-29 03:18 |
和煦微风 手机 会员卡 葫芦墩家族
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖
知名人士
级别: 知名人士 该用户目前不上站
推文 x19 鲜花 x253
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

喔喔...原来要用那个函数喔...
我才在想说为什么都不能辨认帐号呢...
老师什么都没教....
只说自己去看书....
书那么大本.....
唉...是我自己不够努力吗.... 表情

谢谢大大的指导唷~
让我又多学了一课....
我现在反而觉得....
数位的各位才是我的老师...
学校老师好像只是让我有学分可以过而已... 表情


献花 x0 回到顶端 [2 楼] From:台湾教育部 | Posted:2005-12-29 10:40 |
suncombo 手机
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x14
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

学程式本来就应该先靠自己勤劳的练习
不懂的再去问懂的人,一直靠填鸦学习
自己就缺少自我学习的能力了
....老师的老师.....也是这样教他的....你能力够的话....就超越老师吧


单纯为各位分享,希望大家喜欢!!
献花 x0 回到顶端 [3 楼] From:IANA | Posted:2006-01-13 02:13 |
和煦微风 手机 会员卡 葫芦墩家族
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖
知名人士
级别: 知名人士 该用户目前不上站
推文 x19 鲜花 x253
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

学程式本来就应该先靠自己勤劳的练习
不懂的再去问懂的人,一直靠填鸦学习
自己就缺少自我学习的能力了
....老师的老师.....也是这样教他的....你能力够的话....就超越老师吧


呃...我认为我一直都有在做练习....
至少每次的作业都是我自己去做的...
不是用抄的...
顶多卡到问题的时候会上来这边问看看有谁可以指导我....
我从来没有过上来这边只丢个题目就要人家帮我写出来......
我不懂您说的『填鸭学习』指的是什么??
C语言的函式就是那些....
难道要我自己去创一套新的函式??
没错...C的确允许自己定义函式....
但我应该还没有能力这样做吧....
我不懂的东西还很多...
连最受大家欢迎的指标都还没学会呢!!!


献花 x0 回到顶端 [4 楼] From:台湾中华电信 | Posted:2006-01-16 01:13 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.070712 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言