本文已参与「新人创作礼」活动,一起开启掘金创作之路。
前言
本文为笔者大一《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;
}
- 结果