Board logo

標題: 超級金頭腦(二) (還缺乏排名) [打印本頁]

作者: 陳品肇    時間: 2019-3-23 13:13     標題: 超級金頭腦(二) (還缺乏排名)

本帖最後由 陳品肇 於 2019-3-30 18:17 編輯

設計遊戲 "超級金頭腦",
讓使用者計算兩個範圍介於111~999之隨機亂數的和.
參考作法如下:
1. 要有一個起始畫面, 顯示標題與遊戲規則
[attach]6134[/attach]

2. 參賽人數
[attach]6135[/attach]

3. 參賽者姓名
[attach]6136[/attach]

4. 請就位的訊息
[attach]6137[/attach]

5. 測驗中畫面
[attach]6138[/attach]

6. 排名
[attach]6139[/attach]
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.         int n; //n幾位
  8.         cout<<"***超腦金頭腦 v1.0 ***"<<endl;
  9.         cout<<endl;
  10.         cout<<"遊戲規則: 電腦隨機出題,比賽誰能在最短時間內算對三題!"<<endl;
  11.         system("pause");
  12.         system("cls"); //畫面清空
  13.         
  14.         cout<<"有幾位挑戰者:";
  15.         cin>>n;
  16.         system("pause");
  17.         system("cls"); //畫面清空
  18.         
  19.         string name[n];  //宣告姓名陣列
  20.         double sum[n];   //宣告個別總秒數陣列
  21.         srand(time(NULL));
  22.         
  23.         for(int i=0;i<n;i++)   //幾位要挑戰
  24.         {
  25.            cout<<"第"<<i+1<<"位挑戰者您好,請輸入你的大名:";
  26.            cin>>name[i];  //姓名存進陣列裡
  27.            system("pause");
  28.            system("cls"); //畫面清空
  29.            
  30.            cout<<name[i]<<"同學請就位!"<<endl;
  31.            system("pause");
  32.            system("cls"); //畫面清空
  33.            
  34.            int count =0;  //儲存對的題數
  35.            while(count <3) //還沒答對三題前,持續產生題目
  36.            {
  37.                int a=rand()%889+ 111; //產生第一個亂數
  38.                int b=rand()%889+ 111; //產生第二個亂數
  39.                double start,end,pass;  
  40.                
  41.                int ans; //回答的答案
  42.                start = clock();  //產生題目的時間
  43.                cout<<a<<" + "<<b<<" = ";
  44.                cin>>ans;  //回答的時間+題目的時間
  45.                end = clock();
  46.                pass = end - start; //實際思考的時間
  47.                
  48.                if(ans ==(a+b))  //答對的話!
  49.                {
  50.                    cout<<"答對了!. 本題花了"<<pass<<"毫秒思考!"<<endl;  
  51.                    sum[i] = sum[i]+ pass;   //時間累計
  52.                    count++;  
  53.                }else   //答錯執行下面的結果
  54.                {
  55.                    cout<<"答錯了!正確答案是"<<a+b<<". 本題花了"<<pass<<"毫秒思考!"<<endl;
  56.                    sum[i] = sum[i]+ pass;    //時間累計  
  57.                }
  58.                
  59.            }
  60.            cout<<name[i]<<"同學總共花了"<<sum[i]<<"毫秒!" <<endl;
  61.            
  62.            system("pause");
  63.            system("cls"); //畫面清空
  64.             
  65.         }
  66.         
  67.         
  68.         
  69.         system("pause");
  70.         return 0;
  71. }
複製代碼

作者: 譚詩澐    時間: 2019-3-23 17:32

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.    srand(time(NULL));
  7.       int n;
  8.    cout<<"*** 超級金頭腦 v1.0 ***"<<endl;
  9.    cout<<endl;
  10.    cout<<"遊戲規則:電腦隨機出題,比賽誰能在最短時間內算對三題!"<<endl;
  11.    system("pause");
  12.    system("cls");
  13.    cout<<"請問有幾位挑戰者?";
  14.    cin>>n;
  15.    string name[n];
  16.    double sum[n];
  17.    system("cls");
  18.    for(int i=0; i<n; i++)
  19.    {
  20.            cout<<"第"<<i+1<<"位挑戰者你好,影輸入大名: ";
  21.            cin>>name[i];
  22.            system("pause");
  23.            system("cls");
  24.            cout<<name[i]<<"同學請就位!"<<endl;
  25.            system("pause");
  26.            system("cls");
  27.            
  28.            int cout=0
  29.            while (cout<3)
  30.            {
  31.                   int a, b, ans;
  32.                   double start, end, pass;
  33.                   a = rand ()%889+111;
  34.                   b = rand ()%889+111;
  35.                   cout<<a<<"+"<<b<<"=";
  36.                   start = clock();
  37.                   cin>>ans;
  38.                   end = clock();
  39.                   pass= end - start;
  40.                  if (ans==(a+b))
  41.    {
  42.    cout<<"答對了!本題你花了"<<pass<<"毫秒思考"<<endl;
  43.    }else
  44.    {
  45.         cout<<"答錯了!請從新作答"<<endl;
  46.    }
  47.    system("pause");
  48.    goto re;
  49.     system("pause");     
  50.     return 0;   
  51. }
複製代碼

作者: 蔡依宸    時間: 2019-3-23 17:33

本帖最後由 蔡依宸 於 2019-3-29 22:39 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.    srand(time(NULL));  
  8.    int n;
  9.   
  10.    cout<<"*** 超級金頭腦 v1.0 ***"<<endl;
  11.    cout<<endl;
  12.    cout<<"遊戲規則: 電腦隨機出題,比賽誰能在最短時間內算對三題!"<<endl;
  13.    system("pause");  
  14.    system("cls");  
  15.    cout<<"有幾位挑戰者? ";
  16.    cin>>n;
  17.    string name[n];
  18.    double sum[n];   
  19.    
  20.    system("cls");
  21.                  
  22.    for(int i=0;i<n;i++)   
  23.    {
  24.       cout<<"第"<<i+1<<"位挑戰者您好,請輸入您的大名:";
  25.       cin>>name[i];
  26.       system("pause");
  27.       system("cls");
  28.       cout<<name[i]<<"同學請就位!"<<endl;
  29.       system("pause");
  30.       system("cls");
  31.       
  32.       int count=0;   
  33.       while(count<3)  
  34.       {
  35.            int a,b,ans;
  36.            double start,end,pass;  
  37.            a = rand()%889+111;   
  38.            b = rand()%889+111;
  39.            cout<<a<<" + "<<b <<" = ";
  40.            start = clock();  
  41.            cin>>ans;
  42.            end = clock();  
  43.            pass = end-start;  
  44.            if(ans == (a+b))
  45.            {
  46.                cout<<"答對了!本題你花了"<<pass<<"毫秒思考!"<<endl;
  47.                sum[i] += pass;   
  48.                count++;
  49.            }else
  50.            {
  51.                cout<<"答錯了!經過"<<pass<<"毫秒!"<<endl;
  52.                sum[i] += pass;  
  53.            }
  54.       }
  55.       cout<<name[i]<<"同學總共花了"<<sum[i]<<"毫秒!"<<endl;
  56.       system("pause");
  57.       system("cls");
  58.    }
複製代碼

作者: 蔡季庭    時間: 2019-3-29 23:05

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.    srand(time(NULL));
  8.    int n;
  9.   
  10.    cout<<"*** 超級金頭腦 v1.0 ***"<<endl;
  11.    cout<<endl;
  12.    cout<<"遊戲規則: 電腦隨機出題,比賽誰能在最短時間內算對三題!"<<endl;
  13.    system("pause");
  14.    system("cls");
  15.    cout<<"有幾位挑戰者? ";
  16.    cin>>n;
  17.    string name[n];
  18.    double sum[n];  
  19.    
  20.    system("cls");
  21.    for(int i=0;i<n;i++)  /
  22.    {
  23.       cout<<"第"<<i+1<<"位挑戰者您好,請輸入您的大名:";
  24.       cin>>name[i];
  25.       system("pause");
  26.       system("cls");
  27.       cout<<name[i]<<"同學請就位!"<<endl;
  28.       system("pause");
  29.       system("cls");
  30.       
  31.       int count=0;
  32.       while(count<3)  
  33.       {
  34.            int a,b,ans;
  35.            double start,end,pass;  
  36.            a = rand()%889+111;  
  37.            b = rand()%889+111;  
  38.            cout<<a<<" + "<<b <<" = ";
  39.            start = clock();  
  40.            cin>>ans;
  41.            end = clock();  
  42.            pass = end-start;
  43.            if(ans == (a+b))
  44.            {
  45.                cout<<"答對了!本題你花了"<<pass<<"毫秒思考!"<<endl;
  46.                sum[i] += pass;  
  47.                count++;  
  48.            }else
  49.            {
  50.                cout<<"答錯了!經過"<<pass<<"毫秒!"<<endl;
  51.                sum[i] += pass;
  52.            }
  53.       }
  54.       cout<<name[i]<<"同學總共花了"<<sum[i]<<"毫秒!"<<endl;
  55.       system("pause");
  56.       system("cls");
  57.    }
  58.    
  59.   
  60.     double tmp;
  61.     string tmp2;
  62.     cout<<"*** 金頭腦風雲榜 ***"<<endl<<endl;
  63.     for(int i=0; i<n-1; i++)
  64.     {
  65.         for(int j=i+1; j<n; j++)
  66.         {
  67.              if(sum[j]<sum[i])
  68.              {
  69.                  tmp=sum[i];
  70.                  sum[i]=sum[j];
  71.                  sum[j]=tmp;                 
  72.                  tmp2=name[i];
  73.                  name[i]=name[j];
  74.                  name[j]=tmp2;                  
  75.              }
  76.         }     
  77.     }
  78.     for(int i=0; i<n; i++)
  79.         cout<<"第 "<<i+1<<"名\t"<<name[i]<<"\t"<<sum[i]<<"毫秒"<<endl;
  80.     cout<<endl;
  81.    

  82.    system("pause");
  83.    return 0;

  84. }
複製代碼

作者: 戴偉宸    時間: 2019-3-30 18:29

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.         int n;
  8.         cout<<"超腦金頭腦 v1.0 "<<endl;
  9.         cout<<endl;
  10.         cout<<"遊戲規則: 電腦隨機出題,比賽誰能在最短時間內算對三題!"<<endl;
  11.         system("pause");
  12.         system("cls");
  13.         
  14.         cout<<"有幾位挑戰者:";
  15.         cin>>n;
  16.         system("pause");
  17.         system("cls");
  18.         string name[n];
  19.         for(int i=0;i<n;i++)
  20.         {
  21.             cout<<"第"<<i+1<<"位挑戰著好,請輸入你的大名:";
  22.             cin>>name[i];
  23.             system("pause");
  24.             system("cls");
  25.             
  26.             int cout=0
  27.             while(count<3)
  28.             {
  29.                 int a=rand()%889+111;
  30.                 int b=rand()%889+111;
  31.                 double start,end,pass;
  32.                
  33.                 int ans;
  34.                 start=clock();
  35.                 cout<<a<<"+"<<b<<"=";
  36.                 cin>>ans ;
  37.                 end=clock();
  38.                 pass=end-start;
  39.                
  40.                 if            
  41.             }
  42.         }
  43.         
  44.                
  45.     system("pause");
  46.     return 0;
  47. }
複製代碼

作者: 戴唯陞    時間: 2019-3-30 18:30

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<string>
  4. using namespace std;
  5. int main()
  6. {

  7.    int n;
  8.    cout<<"超級金頭腦v1.0"<<endl;
  9.    cout<<"遊戲規則:電腦隨機出題 最短時間內答對三題獲勝"<<endl;
  10.    system("pause");
  11.    system("cls");
  12.    
  13.    
  14.    cout<<"有幾位挑戰者"<<endl;
  15.    cin>>n;
  16.    system("pause");
  17.    system("cls");
  18.    
  19.    string name[n];
  20.    for(int i=0;i<n;i++)
  21.    {
  22.     cout<<"第"<<n+1<<"挑戰者 你好 請輸入你的大名"<<endl;
  23.     cin>>name[i];
  24.    }
  25.    system("pause");
  26.    system("cls");
  27.    
  28.    int count=0;
  29.    while(count<3)
  30.    {
  31.    int a =rand()899%+111;
  32.    int b =rand()899%+111;
  33.     double start,end,pass;
  34.    
  35.     int ans;
  36.     start clock();
  37.     cout<a<"+"<b<"="<<endl;
  38.     cin>>ans;
  39.     end=clock();
  40.     pass=end-start;
  41.    

  42.    
  43.    
  44.    
  45.    
  46.    
  47.    
  48.    
  49.    }
  50.    
  51.    



  52.    system("pause");
  53.    return 0;


  54. }
複製代碼

作者: 陳柏霖    時間: 2019-3-30 18:31

本帖最後由 陳柏霖 於 2019-4-2 20:28 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     int x;
  8.     cout<<"***超級金頭腦 v1.0***"<<endl;
  9.     cout<<"遊戲規則: 電腦隨機出題, 比賽誰能在最短的時間內做完!"<<endl;
  10.     system("pause");
  11.     system("cls");
  12.    
  13.     cout<<"有幾位挑戰者?";
  14.     cin>>x;
  15.     system("cls");
  16.    
  17.     string name[x];
  18.     double done[x];
  19.     srand(time(NULL));
  20.    
  21.     for(int i=0; i<x; i++)
  22.     {
  23.         cout<<"第"<<i+1<<"位挑戰者你好, 請輸入你的大名:";
  24.         cin>>name[i];
  25.         system("pause");
  26.         system("cls");
  27.         
  28.         cout<<name[i]<<"同學請就位!"<<endl;
  29.         system("pause");
  30.         system("cls");
  31.         
  32.         int yes=0;
  33.         while(yes<3)
  34.         {
  35.             int a=rand()%889+111,
  36.                 b=rand()%889+111;
  37.             double star, end, pass;
  38.             
  39.             int ans;
  40.             star=clock();
  41.             cout<<a<<"+"<<b<<"=";
  42.             cin>>ans;
  43.             end=clock();
  44.             pass=end-star;
  45.             
  46.             
  47.             if(ans==a+b)
  48.             {
  49.                     cout<<"答對了!本題花了"<<pass<<"毫秒"<<endl;
  50.                                 done[i]=done[i]+pass;
  51.                                 yes++;
  52.                         }else
  53.                         {
  54.                                 cout<<"答錯了!正確答案是"<<a+b<<",本題花了"<<pass<<"毫秒"<<endl;
  55.                                 done[i]=done[i]+pass;
  56.                         }
  57.                        
  58.         }
  59.             cout<<endl<<endl;
  60.                     cout<<name[i]<<"同學總共花了"<<done[i]<<"毫秒"<<endl;
  61.                        
  62.                         system("pause");
  63.                         system("cls");
  64.     }
  65.     system("pause");
  66.     return 0;
  67. }
複製代碼

作者: 譚詩澐    時間: 2019-4-2 20:49

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     re:
  8.     srand(time(NULL));
  9.     int n, a, b, ans;
  10.    
  11.     double start, end, pass;
  12.     cout<<"*** 超級金頭腦 v1.0 ***"<<endl<<endl;
  13.     cout<<"遊戲規則:電腦隨機出題,比賽誰能在最短時間內算對三題!"<<endl;
  14.     system("pause");
  15.     system("cls");
  16.     cout<<"請問有幾位挑戰者?";
  17.     cin>>n;
  18.     string name[n];
  19.     long sum[n];
  20.     system("cls");
  21.     for(int i=0; i<n; i++)
  22.     {
  23.         cout<<"第"<<i+1<<"位挑戰者你好,影輸入大名: ";
  24.         cin>>name[i];
  25.         system("pause");
  26.         system("cls");
  27.         cout<<name[i]<<"同學請就位!"<<endl;
  28.         system("pause");
  29.         system("cls");
  30.         
  31.         int count=0;
  32.         while (count<3)
  33.         {
  34.             a = rand()%889+111;
  35.             b = rand()%889+111;
  36.             cout<<a<<"+"<<b<<"=";
  37.             start = clock();
  38.             cin>>ans;
  39.             end = clock();
  40.             pass= end - start;
  41.             if(ans==(a+b))
  42.             {
  43.                 cout<<"答對了!本題你花了"<<pass<<"毫秒思考"<<endl;
  44.                 count++;
  45.             }else
  46.             {
  47.                 cout<<"答錯了!請從新作答"<<endl;
  48.             }
  49.         }
  50.     }
  51.             cout<<"*** 金頭腦風雲榜 ***"<<endl<<endl;
  52.     string tmp1;
  53.     long tmp2;
  54.     for(int i=0; i<n-1; i++)
  55.     {
  56.         for(int j=i+1; j<n; j++)
  57.         {
  58.              if(sum[j]<sum[i])
  59.              {
  60.                  tmp1=name[i];
  61.                  name[i]=name[j];
  62.                  name[j]=tmp1;
  63.                  tmp2=sum[i];
  64.                  sum[i]=sum[j];
  65.                  sum[j]=tmp2;                    
  66.              }     
  67.         }     
  68.     }
  69.     for(int i=0; i<n; i++)
  70.         cout<<"第"<<i+1<<"名\t"<<name[i]<<"\t"<<sum[i]<<"毫秒"<<endl;
  71.     cout<<endl;
  72.         system("pause");
  73.         system("cls");

  74.     goto re;
  75.     system("pause");     
  76.     return 0;   
  77. }
複製代碼

作者: 戴安利    時間: 2019-4-3 20:23

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.    re:
  8.    long start, end, pass;   
  9.    int n;
  10.    int a;
  11.    int b;            
  12.    int ans;
  13.    cout<<"----------超級金頭腦-----------"<<endl;
  14.    cout<<endl;
  15.    cout<<"遊戲規則: 電腦隨機出題,比賽誰能在最短時間答對三題!"<<endl;
  16.    system("pause");
  17.    system("cls");
  18.    
  19.    cout<<"有幾位挑戰者: ";
  20.    cin>>n;
  21.    system("pause");
  22.    system("cls");  
  23.    
  24.    string name[n];
  25.    long sum[n];
  26.    srand(time(NULL));
  27.    
  28.    for(int i=0;i<n;i++)
  29.    {
  30.            sum[i]=0;
  31.       cout<<"第"<<i+1<<"挑戰者你好,請輸入大名: ";
  32.       cin>>name[i];
  33.       system("pause");
  34.       system("cls");
  35.       
  36.       cout<<"同學請就位!"<<endl;
  37.       system("pause");
  38.       system("cls");
  39.       
  40.       int count=0;
  41.       while(count<3)
  42.       {
  43.                   
  44.           a=rand()%9+1;
  45.           b=rand()%9+1;
  46.          start = clock();
  47.          cout<<a<<" + "<<b<<" = ";
  48.          cin>>ans;
  49.          end = clock();
  50.          pass = end-start;
  51.          
  52.          if(ans == (a+b))
  53.          {
  54.             cout<<"答對ㄌ!!!本題花ㄌ"<<pass<<"豪秒思考!"<<endl;
  55.             sum[i] = sum[i] + pass;
  56.             count++;
  57.          }
  58.          else
  59.          {
  60.             cout<<"答錯了!正確答案是"<<a+b<<". 本題花了"<<pass<<"毫秒思考!"<<endl;
  61.             sum[i] = sum[i] + pass;
  62.          }  
  63.       }
  64.    }
  65.           cout<<"----------超級金頭腦-----------"<<endl;
  66.           string tmp1;
  67.           long tmp2;
  68.           for(int i=0;i<n-1;i++)
  69.           {
  70.              for(int j=i+1;j<n;j++)
  71.              {
  72.                 if(sum[j]<sum[i])
  73.                 {
  74.                    tmp1 = name[i];
  75.                    name[i] = name[j];
  76.                    name[j] = tmp1;
  77.                    tmp2 = sum[i];
  78.                    sum[i] = sum[j];
  79.                    sum[j] = tmp2;
  80.                 }
  81.              }
  82.           }
  83.    for(int i=0; i<n; i++)
  84.       cout<<"第"<<i+1<<"名\t"<<name[i]<<"\t"<<sum[i]<<"毫秒"<<endl;
  85.       cout<<endl;
  86.       system("pause");
  87.       system("cls");
  88.      
  89.    goto re;
  90.    system("pause");
  91.    return 0;
  92. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/) Powered by Discuz! 7.2