選擇java 進入自由開放的國度

          隨筆 - 49, 文章 - 3, 評論 - 154, 引用 - 1
          數據加載中……

          C++猜數字游戲

          /*-----------------------------------------------------------
            猜數字游戲
            C++中數組的運用,條件語句,賦值語句,循環語句等元素的應用
          -----------------------------------------------------------*/

          #include <iostream>
          #include <string>

          using namespace std;

          const int seq_size = 18;
          const int max_seq  = 6;
          const int max_tries = 3;  

          string seq_names[max_seq] = {
            "Fibonacci",
            "Lucas",
            "Pell",
            "Triangular",
            "Square",
            "Pentagonal"
          };

          int elem_seq[ seq_size ] = {
             1, 2, 3,   //Fibonacci
             3, 4, 7,   //lucas
             2, 5, 12,  //Pell
             3, 6, 10,  //Triangular
             4, 9, 16,  //Square
             5, 12, 22  //Pentagonal
          };

          int usr_val;          //the value user inputed
          int num_total;        //total times
          int num_tries = 0;    //the try number
          int num_rights = 0;    //the right times
          int cur_tuple = 0;    //the location pointer of current array

          double usr_score;     //user's score
          char usr_rsp;        //try again?


          bool go_for_it = true; //try again
          bool next_seq  = true; //display the next number
          bool got_it    = false;//right or error?


          int main(){
           while ( next_seq && cur_tuple < seq_size) {
             //display the array
                cout << " the First two elements of the sequence are: "
               << elem_seq[ cur_tuple ] << ", "
               << elem_seq[ cur_tuple + 1]
               << " in the "
               << seq_names[ cur_tuple/3]
               << "  sequence.\n"
               << "What is the next element?";
              
            //初始化,進入循環,判斷是否正確
            got_it    = false;
            go_for_it = true;
                  num_tries = 0;
            while ((!got_it) && (go_for_it)) {
               int usr_guess;
               cin >> usr_guess;
               num_tries++;
              
               if (usr_guess == elem_seq[ cur_tuple + 2]){
                 //答對了
              cout << "Congratulations! you are right! \n";
              got_it = true;
                 num_rights++;
               }
               else{
                 //猜錯了
              //告訴用戶是錯的,詢問是否愿意再試一次
                switch (num_tries){
                case 1 :
                 cout << "Oops! Nice guess but not quite it.\n";
                 break;
                case 2 :
                 cout << "Hmm, Sorry, wront a second time. \n";
                 break;
                case 3 :
                 cout << "Ah, this is harder than it looks, isn't it?\n";
                 go_for_it = false; //跳出
                 break;
                default :
                 cout << "It must be getting pretty frustrating by now! \n";
                 break;
                }//switch
                if (num_tries < 3) cout << "Do you try it again? (Y|N)" ;
                cin  >> usr_rsp;
                         if (usr_rsp == 'N' || usr_rsp == 'n')
                 go_for_it = false;
               }//if
                  }//small while
            
            cout << "Want to try another sequence? (Y/N)";
            char try_again;
            cin >> try_again;
            if (try_again == 'N' || try_again == 'n')
             next_seq = false;
            
            cur_tuple += 3;             //指到下一個數列
            num_total += num_tries;     //總數
           };//large while
           
            //輸出得分,簡單統計信息
           cout << "---------------------------- \n"
             << "the total : " << num_total
             << "the right times: " << num_rights << "\n"
             << "---------------------------- \n";
            return 0;
          }

          posted on 2005-12-23 16:15 soochow_hhb 以java論成敗 以架構論英雄 閱讀(808) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 泰来县| 韶关市| 肃北| 五原县| 汤阴县| 武川县| 奉节县| 府谷县| 邻水| 普格县| 凯里市| 高尔夫| 肇东市| 平顺县| 观塘区| 湘阴县| 治县。| 密云县| 华阴市| 东平县| 通州区| 来凤县| 西和县| 莱州市| 临洮县| 萍乡市| 靖西县| 新营市| 石狮市| 万州区| 南华县| 河西区| 左权县| 通化县| 三明市| 东辽县| 额济纳旗| 宝兴县| 新乡市| 华安县| 临城县|