欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

軟工課設(shè):黃金點(diǎn)游戲 - 新聞資訊 - 云南小程序開(kāi)發(fā)|云南軟件開(kāi)發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開(kāi)發(fā)/軟件開(kāi)發(fā)

知識(shí)

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X(jué)表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷(xiāo)的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷(xiāo)工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!

您當(dāng)前位置>首頁(yè) » 新聞資訊 » 技術(shù)分享 >

軟工課設(shè):黃金點(diǎn)游戲

發(fā)表時(shí)間:2020-10-19

發(fā)布人:葵宇科技

瀏覽次數(shù):72

這里寫(xiě)自定義目錄標(biāo)題

  • 課設(shè)要求
  • 設(shè)計(jì)思路及流程圖
  • 代碼
  • 結(jié)對(duì)編程感想

課設(shè)要求

分組編寫(xiě)一個(gè)滿(mǎn)足下列要求的黃金點(diǎn)游戲程序。
? 游戲規(guī)則:N個(gè)同學(xué)(N通常大于10),每人寫(xiě)一個(gè)0~100之間的有理數(shù) (不包括0或100),交給裁判,裁判算出所有數(shù)字的平均值,然后乘以0.618 (所謂黃金分割常數(shù)),得到G值。提交的數(shù)字最靠近G(取絕對(duì)值)的同 學(xué)得到N分,離G最遠(yuǎn)的同學(xué)得到-2分,其他同學(xué)得0分。
? 采用單機(jī)方式實(shí)現(xiàn),需要為用戶(hù)提供便利的輸入界面。
? 該游戲每次至少可以運(yùn)行10輪以上,并能夠保留各輪比賽結(jié)果。
? 后續(xù)在此基礎(chǔ)上迭代開(kāi)發(fā)。

設(shè)計(jì)思路及流程圖

設(shè)計(jì)語(yǔ)言:C++
設(shè)置goldgame結(jié)構(gòu)體來(lái)存放用戶(hù)的輸入數(shù)據(jù)和分?jǐn)?shù);
首先,用戶(hù)輸入?yún)⑴c人數(shù),創(chuàng)建結(jié)構(gòu)體數(shù)組存儲(chǔ)用戶(hù)信息,然后在功能選擇界面選擇開(kāi)始游戲,結(jié)束游戲,顯示分?jǐn)?shù)等功能;
開(kāi)始游戲后,用戶(hù)依次輸入數(shù)字,系統(tǒng)將計(jì)算平均值并乘以0.618,然后通過(guò)循環(huán)n次選出與這個(gè)值最近與最遠(yuǎn)的用戶(hù)編號(hào),并對(duì)其進(jìn)行加分與扣分;
跳轉(zhuǎn)至功能選擇界面,用戶(hù)繼續(xù)選擇需要執(zhí)行的功能。
在這里插入圖片描述

代碼

#include <iostream>
#include<cmath>
using namespace std;

struct goldpoint 
{
double data;
int score = 0;
}; 

int main()
{
	int n,m = 0;
	double number=0;
	cout << "請(qǐng)輸入?yún)⑴c人數(shù)";
	cin >> n;
	goldpoint student[n];
	ff1:  cout << "請(qǐng)選擇功能:1:進(jìn)行游戲;2:結(jié)束游戲;3:查看當(dāng)前分?jǐn)?shù)"<< endl;
	cin >> m;
	while(m!=2) 
	{
		if(m==1)
		{
			cout << "請(qǐng)依次輸入" << n <<"位學(xué)生的數(shù)字" << endl; 
			for(int i=0; i<n; i++)
			{
				cin>>student[i].data;
				number+=student[i].data;
			}
			double avg = number/n*0.618;
			double max=fabs(student[0].data-avg), min=fabs(student[0].data-avg);
			int flagmax=0, flagmin=0;
			for(int i=0; i<n; i++)
			{
				if(max < fabs(student[i].data-avg))
				{
					max = fabs(student[i].data-avg);
					flagmax = i;
				}
				if(min > fabs(student[i].data-avg))
				{
					min = fabs(student[i].data-avg);
					flagmin = i;
				}
			}
			student[flagmax].score-=2;
			student[flagmin].score+=2;
			cout << "本輪游戲最近者:" << flagmin+1 << "號(hào)同學(xué)" << endl;
			cout << "本輪游戲最遠(yuǎn)者:" << flagmax+1 << "號(hào)同學(xué)" << endl;
		}
		if(m==3)
		{
			for(int i=0; i < n; i++)
				cout << "stunent" << i+1 << ":" << student[i].score << endl; 
		}
		goto ff1;
	} 
	return 0;
} 

結(jié)對(duì)編程感想

結(jié)對(duì)編程是一種敏捷軟件開(kāi)發(fā)的方法,兩個(gè)程序員在一個(gè)計(jì)算機(jī)上共同工作。一個(gè)人輸入代碼,而另一個(gè)人審查他輸入的每一行代碼。輸入代碼的人稱(chēng)作駕駛員,審查代碼的人稱(chēng)作觀(guān)察員。兩個(gè)程序員經(jīng)?;Q角色。
在此次結(jié)對(duì)編程中,我們可以及時(shí)討論思路,解決了一個(gè)人思考的局限性;一個(gè)人工作時(shí),由于時(shí)間跨度較大,在編譯時(shí),之前的一些細(xì)節(jié)思路會(huì)有所遺忘,增大debug的難度,而通過(guò)結(jié)對(duì)編程,在輸入代碼的同時(shí),另一個(gè)人可以及時(shí)地作出反饋,及時(shí)改掉一些bug,在編譯之前就解決它,大大地提高了效率;最后,因?yàn)槭莾蓚€(gè)人一起編程,不會(huì)像獨(dú)自編程時(shí)那樣隨意,而是會(huì)集中注意力以免被隊(duì)友挑出漏洞,同時(shí)在代碼格式的使用上也會(huì)比較嚴(yán)謹(jǐn),這樣也在一定程度上提高了代碼質(zhì)量。

相關(guān)案例查看更多