Я пытаюсь взять программу Magi c 8 Ball, которая изначально использовала массивы, и изменить ее на программу, которая вместо этого использует векторы. Задача, которую мне дали, заключалась в том, чтобы взять приведенный ниже код и сделать с ним несколько вещей.
- используйте функцию push_back () для инициализации вектора
- измените подпись и прототип функции getAnswer ()
- изменить код в теле функции getAnswer ()
- удалить любой ненужный код, например вашу константу для количества ответов
#include <iostream>
#include <string>
#include <iomanip>
#include <string>
#include <stdio.h>
#include <fstream>
#include <stdio.h>
using namespace std;
string getAnswer();
const string exitString = "x";
const int SIZEOF_ANSWERS = 8;
string magicEightBallAnswers[SIZEOF_ANSWERS] = { "Yes", "No", "Maybe", "It's not certain", "The outlook is good",
"The outlook is poor", "Time will tell", "Most likely" };
int main(int argc, char *argv[])
{
bool keepGoing = true;
while (keepGoing)
{
string question;
//prompt for and get the question
cout << "What is your question? (Enter 'x' to exit)" << endl;
getline(cin, question);
//this assumes that the user enters a lower case x
if (question.compare(exitString) == 0)
keepGoing = false;
else
{
cout << getAnswer() << endl;
}
}
return 0;
}
string getAnswer()
{
int index = rand() % SIZEOF_ANSWERS;
return magicEightBallAnswers[index];
}