0

キャラクターカスタマイズプログラムを作ろうとしています。switch文から受け取った情報をstorePlayerRace変数に格納したい。その情報を参考にしようと思っています。それがこれを行う正しい方法であるかどうかはわかりません。この問題はとても単純なはずなので、本当に気になります。これを実行するたびに、cout ステートメントは画面にテキストを出力しません。選択した種族を画面に出力したい。関連するヘルプは大歓迎です!** switch ステートメントの範囲を壊そうとしています。

#include <iostream>
    #include <Windows.h>
    #include <string>
    using namespace std;

    string characterName(string x){
        return x;
    }
    string characterRace(string &x){
        return x;
    }


    int main()
    {

        string name;
        string storePlayerName;
        string storePlayerRace;

        int race;
        cout << "<------Character Creation------->" << endl;
        cout << "\n\n Enter Character name " << endl;
        getline(cin,name);
        storePlayerName = characterName(name);

        cout << "\n Select Race " << endl;
        cout << "1: White";
        cout << "\n2: Black\n";
        cin >> race;

        switch(race){
            case 1:
                {               
                    string white;
                    storePlayerRace = characterRace(white);

                }break;
            case 2: 
                {
                    string black;
                    storePlayerRace = characterRace(black);
                }break;
        }
        cout << storePlayerRace << endl;
        cout << "End of Program" << endl;
        getchar();
        system("PAUSE");
    }
4

2 に答える 2

4
string white;
string black;

これらの 2 行は、テキストを含まない空の文字列を定義するだけです。次のような意味だったと思います。

string white = "white";
string black = "black";

また、あなたのcharacterRace()関数が実際に何を達成しようとしているのかわかりませんが、現時点ではノーオペレーションであるため、次のように単純化できます。

case 1:
    storePlayerRace = "white";
    break;
case 2:
    storePlayerRace = "black";
    break;
于 2013-09-03T02:50:40.983 に答える
0

switch ステートメント内で変数string whiteと変数を初期化する必要があります。string black

例えば:

string white = "white";
string black = "black";
于 2013-09-03T02:51:44.813 に答える