这是我的一个作品请大家给点建议

#include <bits/stdc++.h>

using namespace std;

const int MAX_QUESTIONS = 10; // 最多题目数
int fenshu = 0; // 初始化玩家分数
int right_text = 0; // 已回答题目数
string startTime,backTime, s1,s2, s3;
// 定义问题和答案结构体
struct Question {
	string text, answer, right;
};

// 假设我们有预定义的题目集合
vector <Question> questions = {
	{"什么是海洛因?", "A. 致幻剂 B. 麻醉剂 C. 兴奋剂 D. 解热镇痛药\n", "B"},
	// ...其他题目...
};

void start() {
	cout<<"本作品目的为:传播毒品危害、防范知识,激发公众尤其是青少年的学习兴趣,增强防毒拒毒意识与技能,营造全社会共同参与禁毒的氛围,有效提升毒品预防教育效果。";
	cout << "规则如下:\n1.答错一题立刻结束\n2.答对一题加五分\n您准备好了吗?"<<endl;
	cout << "禁毒知识问答游戏开始!\n";
	time_t now = time(0);// 基于当前系统的当前日期/时间
	char* dt = ctime(&now);// 把 now 转换为字符串形式
	startTime = dt;
}

void ynxing() {
	while (1) {
		// 随机选择一个问题
		int index = rand() % questions.size();
		const Question& flag = questions[index];
	
		cout << flag.text << endl << flag.answer << endl;
	
		string huida;
		cin >> huida;
	
		if (huida == flag.right) {
			cout << "回答正确!\n";
			fenshu += 5;
		} else {
			cout << "回答错误。正确答案:" << flag.right << "\n";
			cout <<"答题结束" << endl;
			return ;
		}
		right_text++;
	}
}

void over() {
	cout << "\n游戏结束!您共回答了" << right_text << "题,得分:" << fenshu << "\n";

	if (fenshu >= 100) {
		cout << "您的禁毒知识非常丰富,继续保持警惕!\n";
	} else if (fenshu >= 50) {
		cout << "您的禁毒意识非常好,建议进一步学习相关知识。\n";
	} else if(fenshu >= 30){
		cout << "您的禁毒知识有点匮乏,请积极参与禁毒教育活动。\n";
	}else {
		cout << "您的禁毒知识有不足,请警惕。\n";
	}
	time_t now = time(0);// 基于当前系统的当前日期/时间
	char* dt = ctime(&now);// 把 now 转换为字符串形式
	backTime = dt;
	cout << "您从" << startTime << "学习到" << backTime << "真了不起" << endl << "期待与您下次相遇";
}

int main() {
	start();

	ynxing();

	over();

	return 0;
}

1 条评论

  • 1