廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 3473 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為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.061961 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言