嘿大家我正试图让一个数组使用向量,所以每次运行我的程序时,我的代码都会停止输出字母“word”。我假设我需要对矢量做一些事情,但我已经阅读了一些指南,但是我很困惑,如果有人可以帮助我做一些很棒的步骤? :)
编辑:基本上我试图让我的向量使用函数playGame();所以我可以显示不同的单词,而不是每次都出现相同的单词,而不是“Word”这是我目前的代码:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int playGame(string word);
string array[]= { "apple", "banana", "orange", "strawberry" };
vector<string> word (array, array+4);
int main()
{
int choice;
bool menu = true;
do{
cout <<"Please select one of the following options: \n";
cout << "1: Play\n"
"2: Help\n"
"3: Quit\n";
cout << "Enter your selection (1, 2 and 3): ";
cin >> choice;
//*****************************************************************************
// Switch menu to display the menu.
//*****************************************************************************
switch (choice)
{
case 1:
cout << "You have chosen play\n";
//int playGame(string word);
playGame("word");
break;
case 2:
cout << "You have chosen help\n";
cout << "Here is a description of the game Hangman and how it is played:\nThe word to guess is represented by a row of dashes, giving the number of letters, numbers and category. If the guessing player suggests a letter or number which occurs in the word, the other player writes it in all its correct positions";
break;
case 3:
cout << "You have chosen Quit, Goodbye.";
break;
default:
cout<< "Your selection must be between 1 and 3!\n";
}
}while(choice!=3);
getchar();
getchar();
cout << "You missed " << playGame("programming");
cout << " times to guess the word programming." << endl;
}
答案 0 :(得分:2)
矢量不是答案的一部分。您可以使用数组或向量进行此操作。问题(据我所知)是你想从你的单词列表中选择一个随机单词。以下是使用数组
的方法int main()
{
size_t sizeOfArray = sizeof array/sizeof array[0]; // calculate the
// size of the array
srand(time(0)); // set up random number generator
...
case 1:
cout << "You have chosen play\n";
playGame(array[rand()%sizeOfArray]); // pick a random word
break;
答案 1 :(得分:1)
在高级别,假设我们决定玩,你的代码就是这样做
playGame("word");
换句话说,您始终会将单词"word"
发送到函数playGame
,因此它始终使用单词word
。从一组单词中随机选择一个不同的单词,可以清楚地在每个游戏中为您提供各种单词,而不是一遍又一遍地使用相同的单词。
你说
I'm trying to get my vectors to work with the function playGame();
我认为你的意思是playGame(string word)
功能,而不是你没有告诉我们的其他功能。
在你的向量中选择了一个随机索引后,说index
只需将你的调用更改为playGame函数,如下所示。
琐事(字[指数]);
这将索引到您称为word的数组,而不是单词"word"
当然,这意味着不需要数组,当然也不需要是全局的,并且单词的向量可以在主函数内而不是在全局范围内进行十分转换。