C++程序设计基础6:综合实验1

222 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

前言

本文为笔者大一《C++程序软件设计》课程章节实验报告,现将题目整理并分享,希望能够帮助正在学习C++的小伙伴!本文将回顾前面几篇文章的基础知识,将学习到的编程技能包括:条件控制、随机数生成、循环语句、数据输入输出

知识提纲

  • 条件控制语句
  • 循环语句
  • 逻辑语句
  • 随机数生成
  • I/O操作

一、掷骰子游戏(随机数版)

  • 题目:编写程序模拟掷骰子游戏。已知掷骰子游戏的游戏规则为:每个骰子有6面,这些面包含1、2、3、4、5、6个点,投两枚骰子之后,计算点数之和。如果第一次投的点数和为7或11,则游戏者获胜;如果第一次投的点数和为2、3或12,则游戏者输;如果第一次投的点数和为4、5、6、8、9或10,则将这个和作为游戏者获胜需要掷出的点数,继续投骰子,直到赚到该点数时算是游戏者获胜。如果投掷7次仍未赚到该点数,则游戏者输。
  • 代码
#include "pch.h"
#include <iostream>
#include<ctime>
using namespace std;

int T()
{
	srand((int)time(NULL));
	cout << "是否开始投骰子[是(T)or否(F)]:";
	char choose;
	int t1, t2, t;
	cin >> choose;
	if (choose == 'F' || 'f') ;
	if (choose == 'T' || 't')
	{
		t1 = rand() % 6 + 1;
		t2 = rand() % 6 + 1;
		t = t1 + t2;
		cout << "骰子点数为:" << t1 << '\t' << t2 << '\n';
		cout << "点数之和:" << t;	
	}
	return t;
}

	int main()
	{
		
		int t;
		t=T();
		if (t == 7 || t == 11)	cout << "你赢了!";
		if (t == 2 || t == 3 || t == 12)	cout << "你输了!";
		if (t == 4 || t == 5 || t == 6 || t == 8 || t == 9 || t == 10)
		 {
			int i = 1;	int a;
			cout << "你将继续投骰子\n" << "若你在接下来七轮内投的点数之和为" << t << ",则获胜;否则失败,游戏结束\n";
			for (; i <=7; ++i)
		    {
				a = T();
				if (a == t) { cout << "你赢了!\t投骰子次数:" << i ; i=8; }
			
		    }
			if (i == 8 && a != t) cout << "投骰子达到7次,你输了,游戏结束!";
	     }
		return 0;
	}

  • 结果 在这里插入图片描述

二、掷骰子游戏(随机数+手工输入版)

  • 题目:如果将游戏规则改为:计算机“想”一个数作为一个骰子掷出的点数(在用户输入数据之前不显示该点数),用户从键盘输入一个数作为另一个骰子掷出的点数,再计算两点数之和。其余规则相同,然后请重新编写该程序。
  • 代码
#include "pch.h"
#include <iostream>
#include<ctime>
using namespace std;

int T()
{
	srand((int)time(NULL));
	cout << "请输入你要投的点数(1-6):";
	int t1, t2, t;
	cin >> t1;
	t2 = rand() % 6 + 1;
	t = t1 + t2;
	cout << "骰子点数为:" << "玩家:"<<t1 << '\t' << "电脑:"<<t2 << '\t';
	cout << "点数之和:" << t;
	return t;
}

int main()
{

	int t;
	t = T();
	if (t == 7 || t == 11)	cout << "你赢了!";
	if (t == 2 || t == 3 || t == 12)	cout << "你输了!";
	if (t == 4 || t == 5 || t == 6 || t == 8 || t == 9 || t == 10)
	{
		int i = 1;	int a;
		cout << "你将继续投骰子\n" << "若你在接下来七轮内投的点数之和为" << t << ",则获胜;否则失败,游戏结束\n";
		for (; i <= 7; ++i)
		{
			a = T();
			if (a == t) { cout << "你赢了!\t投骰子次数:" << i; i = 8; }

		}
		if (i == 8 && a != t) cout << "投骰子达到7次,你输了,游戏结束!";
	}
	return 0;
}

  • 结果 在这里插入图片描述