查看完整版本: c++ 猜數字用陣列紀錄猜的數字
頁: [1]

tim861121 發表於 2016-12-10 02:46 PM

c++ 猜數字用陣列紀錄猜的數字

<div></div>

cgaotd 發表於 2016-12-10 08:53 PM

想問:

1.這是你的全部程式碼嗎?
   是的話你不覺得你有少了一個"}"嗎?

2.你while(a!=b)是要用來判斷有沒有猜中?
   那你迴圈裡面的else是怎麼回事?
      在"a不等於b"的情況下執行迴圈裡面的判斷,而你那個else是在"a等於b"情況才執行

3.退一步來說,假設else會執行,你不覺得你for迴圈裡面的num很奇怪嗎?
   (1)number是哪裡來的變數好像沒看到你宣告
   (2)當作你number是填" i "的值,但是你" i "的值是 1-11 而你宣告的陣列卻只能存5個數,
       這應該會報錯吧

4.你宣告了兩次變數" i "這應該會報錯吧

-------------------------------------------------------------------------------------------
小弟的建議:

*********************設計習慣建議**************************************
1.不要用a,b,c來替變數命名(比較好知道這變數是用來幹嘛的,雖然你有注解)

2.將程式碼的縮排做好(比較好找出錯誤點,EX:你少了一個 "}")

3.感覺你用了三層的迴圈...(盡量不要用到這麼多層)

***************猜題目意思**********************************************
隨機產生一個數字讓使用者猜,猜錯會提示使用者是答案是大於還是小於使用者猜的數,
然後分別記錄使用者猜的前五個數字,並計算使用者總共猜了幾次。

****************程式碼建議*********************************************
1.產生亂數(寫在迴圈外面,寫在裏面每一次不就都會重新再產生一次答案?)

2.寫一個無窮迴圈,直到猜對才跳出迴圈
   裡面寫(1)讓使用者輸入要猜的數字
           (2)累加使用者猜的次數
           (3)將數字存到陣列裡,判斷累家次數是否超過五,超過就不做
           (2)判斷是否大於、小於等於答案並印出相關的文字<EX:a>b印出比b數大

3.印出陣列的內容
************以上為小弟的建議若是板上的大大有其他的見解可以互相討論**************...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

tim861121 發表於 2016-12-10 10:38 PM

1.抱歉我沒注意到
2.while是a不等於b時一直執行 最後else是a=b時 印出 正確!!
3.這裡是我想問的陣列問題 number打錯是要打b
4.抱歉 第一個for忘了刪掉><

要怎麼把數字存到陣列裡??

謝謝大哥的建議~~

cgaotd 發表於 2016-12-11 12:30 AM

2.while是a不等於b時一直執行 最後else是a=b時 印出 正確!!

小弟認為不需要用while(a!=b),只要用 while(1) 加 if-else if-else判斷式就好,不需要增加程式碼的複雜度

**********************************************************************
1.小弟把我的程式碼 if-else if-else 判斷式摺疊起來了,以大大的能力應該可以還原

2.如果執行結果跟大大想的不一樣,再把結果描述的清楚一點,好讓小弟能修正

tim861121 發表於 2016-12-11 12:52 PM

cgaotd 發表於 2016-12-11 12:30 AM static/image/common/back.gif
2.while是a不等於b時一直執行 最後else是a=b時 印出 正確!!

小弟認為不需要用while(a!=b),只要用 while(1 ...

不好意思  我照你的方式寫了一遍 我有加<time.h>  有寫了再玩一次的程式碼  再玩一次時 紀錄歸零的程式碼是InputNum = 0 是不是我寫錯了




補充內容 (2016-12-11 12:53 PM):
我把        srand(time(NULL));
              ans =1+rand()%5
放在whlie外面這樣對嗎
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><br><br><br><br><br><div></div>

你手放哪 發表於 2016-12-28 04:29 PM

可以先用srand(NULL)比較好
頁: [1]