誰會寫這些程式!?(會的幫個忙)

Home Home
引用 | 編輯 36017028
2006-03-02 00:02
樓主
推文 x0
因為我還是剛學不久...一大堆程式還是搞不懂~!
但卻要交作業囉....所以想說誰能幫幫忙一下!
因為人家寫的程式有些看的懂,但自己要做的時候卻做不出來!

以下是題目,會的人幫我解一下!感恩不進....
迴圈

1、請撰寫程式驗證輸入的密碼(四位整數)輸入三次不正確就輸出錯誤訊息。利用for敘述來撰寫,並滿足下列的條件:
(a)如果密碼不對會出現”密碼錯誤請重新輸入密碼”。
(b)如果三次密碼都不對會出現”密碼錯誤超過3次!”然後結束程式。
(c)如果輸入正確則 ..

訪客只能看到部份內容,免費 加入會員



獻花 x0
引用 | 編輯 和煦微風
2006-03-02 01:17
1樓
  
樓主自己先嘗試看看吧...
好歹也交個屍體出來.... 表情
這樣大家才知道你哪邊不會....
這樣對你的幫助會比較大唷~^^
我也是剛學沒多久....
希望以後可以互相切磋唷~ 表情

獻花 x0
引用 | 編輯 緣道山人
2006-03-04 03:06
2樓
  
下面是引用36017028於2006-03-2 00:02發表的 誰會寫這些程式!?(會的幫個忙):
=================================================
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int a=1234,b,c;
printf("請輸入密碼:\n");
for(c=1;c<=3;c++)
{
  scanf("%d",&b);
  if(b==a)
  {
    printf("輸入正確,歡迎使用!\n");
    break;
  }
  else if(b!=a)
    printf("輸入錯誤,請重新輸入\n");
  if(c>=3)
    printf("你已輸入超過3次!\n");
  }
  system("pause");
  return 0;
}
==============================================

為什麼正確答案出來後沒有結束~~??
加入以上那行紅字後再試試看吧 ^_^ 表情

其它的題目等看到屍體後再說囉 表情

獻花 x0
引用 | 編輯 Oo鋒oO
2006-09-16 09:13
3樓
  
我不太懂耶@0@
我知道SWITCH一定要用break才不會一直執行其他的CASE
可是如果用if的話
不是要符合條件才會RUN嗎???
為什麼要加break呀?? 表情

獻花 x0
引用 | 編輯 幽月
2006-09-16 17:48
4樓
  
用break主要是跳離正在執行的程序
項上面的紅字,就是要跳離if的其他執行
而在switch用是避免程式在繼續往下讀取浪費程式執行時間及記憶體的消耗
這是在下的看法~~希望有幫忙到

獻花 x0
引用 | 編輯 korlxp
2006-09-16 19:17
5樓
  
下面是引用Oo鋒oO於2006-09-16 09:13發表的 :
我不太懂耶@0@
我知道SWITCH一定要用break才不會一直執行其他的CASE
可是如果用if的話
不是要符合條件才會RUN嗎???
為什麼要加break呀?? 表情


這個應該算是編譯器(C 語言)的問題吧!   設計就是這樣,總之照這樣做就沒錯囉!
還有您第三個判斷式好像有點怪 只有個 " if " 印像中應該是 => else if 吧!
也少了個結尾 end if 哦! 或許是這個問題吧!
3年沒寫c了,有錯請包涵!

獻花 x0
引用 | 編輯 hango
2006-09-18 17:33
6樓
  
break在這裡不是用來跳離其他if
是用來跳離for迴圈,因為正確的條件成立
所以用break跳出迴圈,沒有break不是會去做其他if
是無論如何一定要輸入三次

獻花 x0
引用 | 編輯 jack69104871
2006-11-06 11:57
7樓
  
另一種方法(請參考):

#include<stdio.h>
#include<stdlib.h>
int main()
{
     int password=1234,input;

           do{
                 printf("Please input password:");
                 scanf("%d",&input);
                 if(input==password)
                 {
                       printf("welcome into system!!\n");
                 }
                 else
                       printf("password is negative,please input again!!\n");
           }while(input!=password);
     system ("pause");
     return 0;
}

獻花 x0
引用 | 編輯 jack69104871
2006-11-06 11:59
8樓
  
另一種方法(請參考):

#include<stdio.h>
#include<stdlib.h>
int main()
{
     int password=1234,input;

           do{
                 printf("Please input password:");
                 scanf("%d",&input);
                 if(input==password)
                 {
                       printf("welcome into system!!\n");
                 }
                 else
                       printf("password is negative,please input again!!\n");
           }while(input!=password);
     system ("pause");
     return 0;
}

獻花 x0
引用 | 編輯 terryshao
2006-11-07 01:11
9樓
  
我跟5樓大大想的一樣...
應該用else if...單用if怪怪的

獻花 x0
引用 | 編輯 荒鷲
2006-11-07 01:23
10樓
  
= =樓上的大大,很抱歉!!我想說一下~如果你改else if的話反而跑不到這個判斷式!!
因為它會一直跑第2個else if跑3次後跳出迴圈!!所以if的寫法沒錯,試試看吧!!
我試過了~

獻花 x0