標題:
超級金頭腦(二)
[打印本頁]
作者:
陳品肇
時間:
2019-6-1 10:08
標題:
超級金頭腦(二)
本帖最後由 陳品肇 於 2019-6-15 13:37 編輯
設計遊戲 "超級金頭腦",
讓使用者計算兩個範圍介於111~999之隨機亂數的和.
參考作法如下:
1. 要有一個起始畫面, 顯示標題與遊戲規則
[attach]6618[/attach]
2. 參賽人數
[attach]6619[/attach]
3. 參賽者姓名
[attach]6620[/attach]
4. 請就位的訊息
[attach]6621[/attach]
5. 測驗中畫面
[attach]6622[/attach]
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main()
{
int n; //n幾位
cout<<"***超腦金頭腦 v1.0 ***"<<endl;
cout<<endl;
cout<<"遊戲規則: 電腦隨機出題,比賽誰能在最短時間內算對三題!"<<endl;
system("pause");
system("cls"); //畫面清空
cout<<"有幾位挑戰者:";
cin>>n;
system("pause");
system("cls"); //畫面清空
string name[n]; //宣告姓名陣列
double sum[n]; //宣告個別總秒數陣列
srand(time(NULL));
for(int i=0;i<n;i++) //幾位要挑戰
{
cout<<"第"<<i+1<<"位挑戰者您好,請輸入你的大名:";
cin>>name[i]; //姓名存進陣列裡
system("pause");
system("cls"); //畫面清空
cout<<name[i]<<"同學請就位!"<<endl;
system("pause");
system("cls"); //畫面清空
int count =0; //儲存對的題數
while(count <3) //還沒答對三題前,持續產生題目
{
int a=rand()%889+ 111; //產生第一個亂數
int b=rand()%889+ 111; //產生第二個亂數
double start,end,pass;
int ans; //回答的答案
start = clock(); //產生題目的時間
cout<<a<<" + "<<b<<" = ";
cin>>ans; //回答的時間+題目的時間
end = clock();
pass = end - start; //實際思考的時間
if(ans ==(a+b)) //答對的話!
{
cout<<"答對了!. 本題花了"<<pass<<"毫秒思考!"<<endl;
sum[i] = sum[i]+ pass; //時間累計
count++;
}else //答錯執行下面的結果
{
cout<<"答錯了!正確答案是"<<a+b<<". 本題花了"<<pass<<"毫秒思考!"<<endl;
sum[i] = sum[i]+ pass; //時間累計
}
}
cout<<name[i]<<"同學總共花了"<<sum[i]<<"毫秒!" <<endl;
system("pause");
system("cls"); //畫面清空
}
//排序
for(int i=0;i<n-1;i++)
{
for(int j=i+1;j<n;j++)
{
if(sum[i]>sum[j])
{
string tmpName; //暫存姓名交換
double tmpSum; //暫存總秒數交換
//姓名
tmpName = name[i];
name[i] = name[j];
name[j] = tmpName;
//成績
tmpSum = sum[i];
sum[i] = sum[j];
sum[j] = tmpSum;
}
}
}
cout<<"排名\t姓名\t成績"<<endl;
cout<<"---------------------"<<endl;
for(int i =0;i<n;i++)
{
cout<<(i+1)<<"\t"<<name[i]<<"\t"<<sum[i]<<endl;
}
system("pause");
return 0;
}
複製代碼
作者:
吳孟修
時間:
2019-6-1 15:10
本帖最後由 吳孟修 於 2019-6-15 13:54 編輯
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
int n;
cout<<"***超腦金頭腦 v1.0 ***"<<endl;
cout<<endl;
cout<<"遊戲規則: 電腦隨機出題,比賽誰能在最短時間內算對三題!"<<endl;
system("pause");
system("cls");
cout<<"有幾位挑戰者:";
cin>>n;
system("pause");
system("cls");
string name[n];
double sum[n];
srand(time(NULL));
for(int i=0;i<n;i++)
{
cout<<"第"<<i+1<<"位挑戰者您好,請輸入你的大名:";
cin>>name[i];
system("pause");
system("cls");
cout<<name[i]<<"同學請就位!"<<endl;
system("pause");
system("cls");
int count =0;
while(count <3)
{
int a=rand()%889+ 111;
int b=rand()%889+ 111;
double start,end,pass;
int ans;
start = clock();
cout<<a<<" + "<<b<<" = ";
cin>>ans;
end = clock();
pass = end - start;
if(ans ==(a+b))
{
cout<<"答對了!. 本題花了"<<pass<<"毫秒思考!"<<endl;
sum[i] = sum[i]+ pass;
count++;
}
else
{
cout<<"答錯了!正確答案是"<<a+b<<". 本題花了"<<pass<<"毫秒思考!"<<endl;
sum[i] = sum[i]+ pass;
}
}
cout<<name[i]<<"同學總共花了"<<sum[i]<<"毫秒!" <<endl;
system("pause");
system("cls");
}
for(int i=0;i<n-1;i++)
{
for(int j=i+1;j<n;j++)
{
if(sum[i]>sum[j])
{
string tmpname;
double tmpsum;
tmpname = name[i];
name[i] = name[j];
name[j] = tmpname;
tmpsum = sum[i];
sum[i] = sum[j];
sum[j] = tmpsum;
}
}
}
cout<<"排名\t姓名\t成績(毫秒)"<<endl;
cout<<"====================="<<endl;
for(int i =0;i<n;i++)
{
cout<<(i+1)<<"\t"<<name[i]<<"\t"<<sum[i]<<endl;
}
system("pause");
return 0;
}
複製代碼
作者:
王瑞喻
時間:
2019-6-1 15:12
本帖最後由 王瑞喻 於 2019-6-15 15:24 編輯
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main()
{
int n; //n人數
cout<<"***超級金頭腦 v1.0***"<<endl<<endl;
cout<<"遊戲規則:電腦隨機出題,比賽誰能在最短的時間內算對三題!"<<endl;
system("pause");
system("cls"); //畫面清空
cout<<"有幾位挑戰者?";
cin>>n;
string name[n]; //姓名 不要放在n的前面
double sum[n]; //個人總秒數 不要放在n的前面
system("pause");
system("cls");
for(int i=0;i<n;i++)
{
int count=0; //count紀錄答對幾題 每個人開始時都要歸零
cout<<"第"<<i+1<<"位挑戰者您好,請輸入您的大名:";
cin>>name[i];
system("pause");
system("cls");
cout<<name[i]<<"同學請就位!"<<endl;
system("pause");
system("cls");
while(count<3)
{
srand(time(NULL));
int a,b,ans;
double start,end,pass;
a=rand()%889+111;//889+111 111-999
b=rand()%889+111;
cout<<a<<" + "<<b<<" = ";
start=clock();
cin>>ans;
end=clock();
pass=end-start;
if(ans==(a+b))
{
cout<<"答對了!本題花了"<<pass<<"毫秒思考"<<endl;
sum[i]=sum[i]+pass;
count++;
}else
{
cout<<"答錯了!正確答案是"<<(a+b)<<".本題花了"<<pass<<"毫秒思考"<<endl;
sum[i]=sum[i]+pass;
}
}
cout<<endl<<name[i]<<"同學總共花了"<<sum[i]<<"毫秒"<<endl;
system("pause");
system("cls");
}
//排序
for(int i=0;i<n-1;i++)
{
for(int j=i+1;j<n;j++)
{
if(sum[i]>sum[j])
{
string tmpName;
double tmpSum;//暫存總秒數交換
tmpName = name[i];
name[i] = name[j] ;
name[j] = tmpName;
//成績
tmpSum = sum[i];
sum[i] = sum[j];
sum[j] = tmpSum ;
}
}
}
cout<<"排名\t姓名\t成績"<<endl;
cout<<"---------------------"<<endl;
for(int i=0;i<n;i++)
{
cout<<(i+1)<<"\t"<<name[i]<<"\t"<<sum[i]<<endl;
}
system("pause");
return 0;
}
複製代碼
作者:
吳孟書
時間:
2019-6-1 15:13
本帖最後由 吳孟書 於 2019-6-15 13:55 編輯
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
int n;
cout<<"*** 超級金頭腦 v1.0***"<<endl<<endl;
cout<<"遊戲規則:電腦隨機出題,比賽誰能在最短時間內答對三題!"<<endl;
system("pause");
system("cls");
cout<<"有幾位挑戰者?";
cin>>n;
system("cls");
string name[n];
double sum[n];
for(int i=0;i<n;i++)
{
cout<<"第"<<i+1<<"位挑戰者您好,請輸入你的大名:";
cin>>name[i];
system("cls");
cout<<name[i]<<"同學請就位!";
system("pause");
system("cls");
int c=0;
while(c<3)
{
srand(time(NULL));
int num1,num2,ans,pass;
double s,e;
num1 = rand()%889+111;
num2 = rand()%889+111;
cout<<num1<<" + "<<num2<<" = "<<endl;
s=clock();
cin>>ans;
e=clock();
pass=e-s;
if(ans == (num1+num2))
{
cout<<"答對了!本題你花了"<<e-s<<"毫秒思考!"<<endl;
sum[i] = sum[i]+pass;
c++;
}else
{
cout<<"答錯了!正確答案是"<<(num1+num2)<<".本題你花了"<<e-s<<"毫秒思考!"<<endl;
sum[i] = sum[i]+pass;
}
}
cout<<name[i]<<"同學總共花了"<<sum[i]<<"毫秒!!"<<endl;
system("pause");
system("cls");
}
for(int i=0;i<n-1;i++)
{
for(int j=i+1;j<n;j++)
{
if(sum[i]>sum[j])
{
string tmpName;
double tmpSum;
tmpName = name[i];
name[i] = name[j];
name[j] = tmpName;
tmpSum = sum[i];
sum[i] = sum[j];
sum[j] = tmpSum;
}
}
}
cout<<"排名\t姓名\t成績"<<endl;
cout<<"---------------------"<<endl;
for(int i=0;i<n;i++)
{
cout<<(i+1)<<"\t"<<name[i]<<"\t"<<sum[i]<<endl;
}
system("pause");
return 0;
}
複製代碼
作者:
曲書辰
時間:
2019-6-14 19:50
本帖最後由 曲書辰 於 2019-6-16 11:15 編輯
[code][/code]#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main()
{
int c[2]={0,0};
int m[6]={0,0,0,0,0,0};
int l[6]={0,0,0,0,0,0};
string f[11]={"","","","","","","","","",""};
int b,d=0,e,sum=0,svg=0,g=0,a=-1;
double c1,c2;
srand(time(NULL));
cout<<"超級金頭腦 1.0v"<<endl;
cout<<"遊戲規則:電腦隨機出題\t看誰能在最短的時間內答對三題"<<endl;
cout<<"請輸入人數:";
cin>>e;
cout<<"準備開始喔"<<"按下enter鍵就開始吧"<<endl;
system("pause");
system("cls");
for(int i=0;i<e;i++)
{
g=0;
g++;
system("cls");
d=0;
cout<<"第"<<i+1<<"位挑戰者你好\t"<<"請輸入你的名子:";
cin>>f
;
cout<<f
<<"請就位!!!"<<endl;
system("pause");
system("cls");
sum=0;
while(sum<3)
{
svg+=d;
for(int i=0;i<2;i++)
{
c
=rand()%4;
}
c1=clock();
cout<<c[0]<<"+"<<c[1]<<"=";
cin>>b;
c2=clock();
d=c2-c1;
if(c[0]+c[1]==b)
{
cout<<"答對了!"<<endl;
cout<<"你用了:"<<d<<endl;
sum++;
}
else
{
cout<<"答錯了!"<<"正確答案是"<<b<<endl;
cout<<"你用了:"<<d<<endl;
}
m
=svg;
}
cout<<"你總共用了:"<<svg<<endl;
system("pause");
system("cls");
}
for(int i=0;i<=e;i++)
{
a=-1;
for(int j=0;j<=e;j++)
{
if(m
-m[j]<0)
a++;
}
l[a]=m
;
}
for(int k=0;k<e;k++)
{
cout<<f[k]<<"\t"<<l[k]<<endl;
}
system("pause");
return 0;
}
作者:
湯郡一
時間:
2019-6-15 13:49
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main()
{
int n;
cout<<"***超腦金頭腦 v1.0 ***"<<endl;
cout<<endl;
cout<<"遊戲規則: 電腦隨機出題,比賽誰能在最短時間內算對三題!"<<endl;
system("pause");
system("cls");
cout<<"有幾位挑戰者:";
cin>>n;
system("pause");
system("cls");
string name[n];
double sum[n];
srand(time(NULL));
for(int i=0;i<n;i++)
{
cout<<"第"<<i+1<<"位挑戰者您好,請輸入你的大名:";
cin>>name[i];
system("pause");
system("cls");
cout<<name[i]<<"同學請就位!"<<endl;
system("pause");
system("cls");
int count =0;
while(count <3)
{
int a=rand()%889+ 111;
int b=rand()%889+ 111;
double start,end,pass;
int ans;
start = clock();
cout<<a<<" + "<<b<<" = ";
cin>>ans;
end = clock();
pass = end - start;
if(ans ==(a+b))
{
cout<<"答對了!. 本題花了"<<pass<<"毫秒思考!"<<endl;
sum[i] = sum[i]+ pass;
count++;
}else
{
cout<<"答錯了!正確答案是"<<a+b<<". 本題花了"<<pass<<"毫秒思考!"<<endl;
sum[i] = sum[i]+ pass;
}
}
cout<<name[i]<<"同學總共花了"<<sum[i]<<"毫秒!" <<endl;
system("pause");
system("cls");
}
for(int i=0;i<n-1;i++)
{
for(int j=i+1;j<n;j++)
{
if(sum[i]>sum[j])
{
string tmpName;
double tmpSum;
tmpName = name[i];
name[i] = name[j];
name[j] = tmpName;
tmpSum = sum[i];
sum[i] = sum[j];
sum[j] = tmpSum;
}
}
}
cout<<"排名\t姓名\t成績"<<endl;
cout<<"---------------------"<<endl;
for(int i =0;i<n;i++)
{
cout<<(i+1)<<"\t"<<name[i]<<"\t"<<sum[i]<<endl;
}
system("pause");
return 0;
}
複製代碼
作者:
田宇任
時間:
2019-6-15 13:50
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main()
{
int n;
cout<<"***超腦金頭腦 0.0 ***"<<endl;
cout<<endl;
cout<<"遊戲規則: 電腦隨機出題,比賽誰能在最短時間內算對三題!"<<endl;
system("pause");
system("cls");
cout<<"有幾位挑戰者:";
cin>>n;
system("pause");
system("cls");
string name[n];
double sum[n];
srand(time(NULL));
for(int i=0;i<n;i++)
{
cout<<"第"<<i+1<<"位挑戰者您好,請輸入你的大名:";
cin>>name[i];
system("pause");
system("cls");
cout<<name[i]<<"同學請就位!"<<endl;
system("pause");
system("cls");
int count =0;
while(count <3)
{
int a=rand()%889+ 111;
int b=rand()%889+ 111;
double start,end,pass;
int ans;
start = clock();
cout<<a<<" + "<<b<<" = ";
cin>>ans;
end = clock();
pass = end - start;
if(ans ==(a+b))
{
cout<<"答對了!. 本題花了"<<pass<<"毫秒思考!"<<endl;
sum[i] = sum[i]+ pass;
count++;
}else
{
cout<<"答錯了!正確答案是"<<a+b<<". 本題花了"<<pass<<"毫秒思考!"<<endl;
sum[i] = sum[i]+ pass;
}
}
cout<<name[i]<<"同學總共花了"<<sum[i]<<"毫秒!" <<endl;
system("pause");
system("cls");
}
for(int i=0;i<n-1;i++)
{
for(int j=i+1;j<n;j++)
{
if(sum[i]>sum[j])
{
string tmpName;
double tmpSum;
tmpName = name[i];
name[i] = name[j];
name[j] = tmpName;
tmpSum = sum[i];
sum[i] = sum[j];
sum[j] = tmpSum;
}
}
}
cout<<"排名\t姓名\t成績"<<endl;
cout<<"---------------------"<<endl;
for(int i=0;i<n;i++)
{
cout<<(i+1)<<"\t"<<name[i]<<"\t"<<sum[i]<<endl;
}
system("pause");
return 0;
}
複製代碼
作者:
洪寬瀧
時間:
2019-6-15 13:53
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main()
{
int n; //n幾位
cout<<"***超腦金頭腦 v1.0 ***"<<endl;
cout<<endl;
cout<<"遊戲規則: 電腦隨機出題,比賽誰能在最短時間內算對三題!"<<endl;
system("pause");
system("cls"); //畫面清空
cout<<"有幾位挑戰者:";
cin>>n;
system("pause");
system("cls"); //畫面清空
string name[n]; //宣告姓名陣列
double sum[n]; //宣告個別總秒數陣列
srand(time(NULL));
for(int i=0;i<n;i++) //幾位要挑戰
{
cout<<"第"<<i+1<<"位挑戰者您好,請輸入你的大名:";
cin>>name[i]; //姓名存進陣列裡
system("pause");
system("cls"); //畫面清空
cout<<name[i]<<"同學請就位!"<<endl;
system("pause");
system("cls"); //畫面清空
int count =0; //儲存對的題數
while(count <3) //還沒答對三題前,持續產生題目
{
int a=rand()%889+ 111; //產生第一個亂數
int b=rand()%889+ 111; //產生第二個亂數
double start,end,pass;
int ans; //回答的答案
start = clock(); //產生題目的時間
cout<<a<<" + "<<b<<" = ";
cin>>ans; //回答的時間+題目的時間
end = clock();
pass = end - start; //實際思考的時間
if(ans ==(a+b)) //答對的話!
{
cout<<"答對了!. 本題花了"<<pass<<"毫秒思考!"<<endl;
sum[i] = sum[i]+ pass; //時間累計
count++;
}else //答錯執行下面的結果
{
cout<<"答錯了!正確答案是"<<a+b<<". 本題花了"<<pass<<"毫秒思考!"<<endl;
sum[i] = sum[i]+ pass; //時間累計
}
}
cout<<name[i]<<"同學總共花了"<<sum[i]<<"毫秒!" <<endl;
system("pause");
system("cls"); //畫面清空
}
for(int i=0;i<n-1;i++)
{
for(int j=0;j=i+1;j++)
{
if(sum[i]>sum[j])
{
string tmpName;
double tmpsum;
tmpName = name[i];
name[i] = name[j];
name[j] = tmpName;
tmpsum = sum[i];
sum[i] = sum[j];
sum[j] = tmpsum;
}
}
}
cout<<"排名\t姓名\t成績"<<endl;
cout<<"---------------------"<<endl;
for(int i=0;i<n;i++)
{
cout<<i+1<<"\t"<<name[i]<<"\t"<<sum[i]<<endl;
}
system("pause");
return 0;
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2