简体   繁体   English

如何将用户字符串输入存储在数组中,C ++

[英]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[]. 因此,基本上,在用户输入名称之后,我希望playerList开关语句存储输入到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. 同样,如果要运行此程序,则在输入名称后必须单击向下箭头才能进入playerList菜单,因为它存在多种故障。

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);
 }
 }
 }

尝试从程序中删除语句cin.get() ,因为cin >> name输入name ,因此对于cin.get()无效。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM