C++ 猜拳游戏程序代码解析:功能、设计思路和结构说明
C++ 猜拳游戏程序代码解析:功能、设计思路和结构说明
**程序功能:**根据输入的字符串判断猜拳的结果,并输出对应的结果。
设计思路:
- 首先读取一个整数 n,表示每 n+1 次为一个周期。
- 使用一个循环,不断读取输入的字符串。
- 如果输入的字符串以字母'E'开头,则跳出循环。
- 判断当前是第几次猜拳,如果是周期的最后一次,则输出平局的结果。
- 否则根据猜拳规则判断并输出对应的结果。
- 每次循环结束后,递增计数器 i。
- 循环结束后,程序结束。
程序结构说明:
- 首先包含 iostream 和 string 头文件。
- 使用命名空间 std。
- 定义主函数 main。
- 声明整型变量 n 和计数器变量 i,并初始化 i 为 1。
- 声明字符串变量 str。
- 从标准输入读取整数 n。
- 使用 while 循环,不断从标准输入读取字符串 str。
- 在循环中,首先判断输入的字符串是否以字母'E'开头,如果是,则跳出循环。
- 判断当前是第几次猜拳,如果是周期的最后一次(即 i%(n+1)==0),则根据输入的字符串输出平局的结果。
- 否则根据猜拳规则判断并输出对应的结果。
- 每次循环结束后,递增计数器 i。
- 循环结束后,返回 0,主函数结束。
#include<iostream>
#include<string>
using namespace std;
int main()
{
int n,i=1;
string str;
cin >> n;
while(cin >> str)
{
if(str.at(0)=='E')
break;
//平局
if(i%(n+1)==0)
{
if(str.at(0)=='J')
cout << 'JianDao' << endl;
else if(str.at(0)=='C')
cout << 'ChuiZi' << endl;
else if(str.at(0)=='B')
cout << 'Bu' << endl;
}
else
{
if(str.at(0)=='J')
cout << 'ChuiZi' << endl;
else if(str.at(0)=='C')
cout << 'Bu' << endl;
else if(str.at(0)=='B')
cout << 'JianDao' << endl;
}
i++;
}
return 0;
}
代码解析:
- 头文件包含:代码包含 iostream 和 string 头文件,分别用于标准输入输出和字符串操作。
- 命名空间:使用命名空间 std,方便使用标准库中的函数和类。
- 变量声明:声明了整型变量 n 和 i,以及字符串变量 str。
- 输入 n:从标准输入读取整数 n,表示周期长度。
- while 循环:使用 while 循环不断读取字符串 str,直到遇到以 'E' 开头的字符串。
- 判断平局:如果当前是周期的最后一次(i%(n+1)==0),则输出平局的结果。
- 判断胜负:根据输入的字符串和猜拳规则判断胜负,并输出结果。
- 递增计数器:每次循环结束后,递增计数器 i。
- 返回 0:循环结束后,返回 0,表示程序正常结束。
**总结:**这段代码实现了一个简单的猜拳游戏程序,通过循环和条件判断,可以根据输入的字符串判断猜拳的结果,并输出对应的结果。代码结构清晰,易于理解和维护。
原文地址: http://www.cveoy.top/t/topic/p6ow 著作权归作者所有。请勿转载和采集!