伊莉討論區

標題: [已解決]c++ sand語法判斷問題 [打印本頁]

作者: a5815481    時間: 2018-11-9 01:42 AM     標題: [已解決]c++ sand語法判斷問題

本帖最後由 a5815481 於 2018-12-21 06:49 PM 編輯

http://codepad.org/ZsIu79y7

這是一個類似2顆骰子去相加給使用者猜點數 並比對答案但是今天想依照這個下去改
--------------------------------------
假設有2個硬幣
然後一開始輸入a b c三個選項
猜會出現那種情況

a 表示 二個都是人頭
b 表示 一個人頭一個背面
c 表示 二個都是背面

畫面顯示
我選的答案
電腦亂數選擇的答案
答對/答錯的判定


這邊我有點卡住不太懂 判斷他的亂數出來的結果是a b c那個
求大大指點QQ 可以寫個參考
謝謝



作者: sggleeee    時間: 2018-11-9 08:57 PM

底下為簡單的代碼給您參考:
  1. #include <iostream>
  2. #include <conio.h>
  3. #include <time.h>
  4. #include <Windows.h>

  5. using namespace std;

  6. void Prompt()
  7. {
  8.     system("cls");
  9.     cout<<"There are two coins. Please guess Heads or Tails:\n";
  10.     cout<<"Press 'a' to guess head x 2.\n";
  11.     cout<<"Press 'b' to guess head x 1, tail x 1.\n";
  12.     cout<<"Press 'c' to guess tail x 2.\n";
  13.     cout<<"Please input your answer: ";
  14. }

  15. int main(void)
  16. {
  17.         char result, ans;
  18.        
  19.         while(true)
  20.         {
  21.             Prompt();
  22.             ans = _getche();

  23.             if(ans<97||ans>99)
  24.             {
  25.                cout<<"\nPlease pick up an answer among 'a', 'b', or 'c' !!!";
  26.                Sleep(1000);
  27.                   }else
  28.                break;
  29.          }
  30.        
  31.         srand(time(NULL));       
  32.         result = (char)(97 + rand()%3);
  33.        
  34.         cout<<"\nYour answer is "<<ans<<".\n";
  35.         cout<<"Result is "<<result<<".\n";
  36.         (ans==result) ? cout<<"You Win !\n" : cout<<"You Lose !\n";
  37.        
  38.         system("pause");       
  39.         return 0;
  40. }
複製代碼

作者: a5815481    時間: 2018-11-9 09:15 PM

sggleeee 發表於 2018-11-9 08:57 PM
底下為簡單的代碼給您參考:

好的 謝謝 請問這是算比較精簡的寫法嗎
作者: sggleeee    時間: 2018-11-9 10:38 PM

a5815481 發表於 2018-11-9 09:15 PM
好的 謝謝 請問這是算比較精簡的寫法嗎

這是依照您的問題.....
簡單的應用 srand() 與 rand() 來亂數產生字元 a, b, c 之一
然後再與猜測時輸入的答案來做比較,得到判定結果
作者: a5815481    時間: 2018-11-10 01:59 AM

sggleeee 發表於 2018-11-9 10:38 PM
這是依照您的問題.....
簡單的應用 srand() 與 rand() 來亂數產生字元 a, b, c 之一
然後再與猜測時輸入 ...

有的 謝謝您
不好意思問了一個有點蠢的問題
謝謝您的幫忙
作者: z1090128    時間: 2018-11-17 07:04 PM

或是直接抓取時間並來取餘數,當作判斷是不是一樣好像也是個辦法




歡迎光臨 伊莉討論區 (http://a04.eyny.com/) Powered by Discuz!