Search code examples
c++arraysvariablesinputstore

How to store user string input in array, C++


I am building a choose your own adventure.

So basically, after the user inputs their name I would like the playerList switch statement to store whatever is entered into basePlayer[].

Also if you are going to run this, you will have to click the down arrow after you enter your name to get to the playerList menu, because its kind of buggy.

Help would be greatly appreciated.

Thank you, Mike

#include <iostream>
#include <string>
#include <windows.h>
#include <cmath>
#include <cstring>
#include <cstdlib>

using namespace std;

int main(){
Beep(251.63,100);
Beep(329.63,100);
Beep(392,100);
Beep(251.63,100);
Beep(329.63,100);
Beep(392,100);
Beep(251.63,100);
Beep(329.63,100);
Beep(392,100);

string playerList[6] = {"Abbot", "Sear", "Hellion", "Vagabond", "Knave","##QUIT##"};
string cityList[4] = {"city1","city2","city3","city4"};
string spiritList[4] = {"spirit1","spirit2","spirit3","spirit4",};
string yesNo[2] = {"yes","no"};
string name;
string player;
string city;
string spirit;
string basePlayer[4];
    basePlayer[0] = name;
    basePlayer[1] = player;
    basePlayer[2] = city;
    basePlayer[3] = spirit;


int pointer = 0;

while(true){

cout << "What is your name?" << endl;
cin >> name;
cout << "your name is " << name << "?" << endl;
basePlayer[0] = name;
cout << basePlayer[0];


int pointer = 0;

while(true){
    system("cls");

    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 5);
    cout << basePlayer[0]<<" please choose your Adventurer:\n*tab* for  description\n\n";

    for (int row = 0; row < 6; ++row){
        if(row == pointer){
            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 11);
            cout << playerList[row] << endl;}

        else{
            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 5);
            cout << playerList[row] << endl;}}

 while(true){

  if (GetAsyncKeyState(VK_UP) != 0){
        Beep(800,50);
    pointer -= 1;
    if (pointer == -1){
        pointer = 0;}
            break;}

 else if (GetAsyncKeyState(VK_DOWN) != 0){
        Beep(800,50);
    pointer += 1;
    if (pointer == 6){
        pointer = 0;}
            break;}

 else if (GetAsyncKeyState(VK_TAB) != 0){
        Beep(1200,50);
        Beep(1000,50);

    switch(pointer){
    case 0:{
        system("cls");
        cout << "AbbotFacts.\n\n*Enter* to become the Abbot\n*ArrowDown* to      return to TitleScreen";
        Sleep(1000);
    }
        break;
    case 1:{
        system("cls");
        cout << "SearFacts.\n\n*Enter* to become the Sear\n*ArrowDown* to  return to TitleScreen";
        Sleep(1000);
    }
        break;
    case 2:{
        system("cls");
        cout << "HellionFacts.\n\n*Enter* to become the Hellion\n*ArrowDown* to return to TitleScreen";
        Sleep(1000);
    }
        break;
    case 3:{
        system("cls");
        cout << "VagabondFacts.\n\n*Enter* to become the Vagabond\n*ArrowDown* to return to TitleScreen";
        Sleep(1000);
    }
        break;
    case 4:{
        system("cls");
        cout << "KnaveFacts.\n\n*Enter* to become the Knave\n*ArrowDown* to return to TitleScreen";
        Sleep(1000);
    }
        break;
    case 5:{return 0;}
        break;
        break;}}

else if (GetAsyncKeyState(VK_RETURN) != 0){
        Beep(1000,50);
        Beep(1200,50);


    switch(pointer){
    case 0:{
        system("cls");
        cout << "You have chosen the Abbot"<< endl;
        Sleep(1000);
    }

        break;
    case 1:{
        system("cls");
        cout << "You have chosen the Sear"<< endl;
        Sleep(1000);
    }
        break;
    case 2:{
        system("cls");
        cout << "You have chosen the Hellion"<< endl;
        Sleep(1000);
    }
        break;
    case 3:{
        system("cls");
        cout << "You have chosen the Vagabond" << endl;
        Sleep(1000);
    }
        break;
    case 4:{
        system("cls");
        cout << "You have chosen the knave"<< endl;
        Sleep(1000);
    }
        break;
    case 5:{return 0;
    break;}
    break;}}
 }
  Sleep(150);
 }
 }
 }

Solution

  • Try removing the statement cin.get() from your program because cin >> name inputs the name, hence no use for a cin.get().