==== Stringと構造体とポインタ渡し ==== ===== 9月8日3時間目 ===== === 文字列型(std::string) === よく使う便利な文字列操作関数\\ **整数の文字列**を**整数値**に変換する関数 \\ => std::stoi(整数の文字列)\\ **整数値**を**整数の文字列**に変換する関数 \\ => std::to_string(整数)\\ #include #include using std::cout; using std::cin; using std::endl; //using std::string; //stringの話をするよ int main() { //8文字の文字配列+'\0'で配列が初期化される //'\0'(終端文字)で文字列の終わりを表す char cstr[9] = "mojidayo"; std::string str = "mojidayo"; std::string str2 = "sono2"; //cout << str+str2 << endl; //cout << str+"mojimoji" << endl; //cout << str + str2 + "moji" << endl; //cout << str - "dayo" << endl; 引き算はできない for (int i = 0; i < 10; i++) { std::string tmp; tmp = str + "_" + std::to_string(i); //"mojidaho_0" ~ "mojidayo_9" cout << tmp << endl; } std::string a = "10000"; std::string b = "10"; int c; //stoi => string to int c = std::stoi(a) + std::stoi(b); cout << c << endl; } === 構造体とポインタとRPG === #include #include using std::string; using std::cin; using std::cout; using std::endl; //ドラ〇エのキャラクターを考える //HP  生命力:これが尽きると死す //MP  魔法力:これが尽きると魔法が使えない //STR  強さ:力の強さ→攻撃力に影響 //ATK  攻撃力:攻撃能力の高さ //DEF  防御力:防御能力の高さ //MGK 魔法能力:魔法を操る能力の高さ //ING かしこさ:インテリジェンスの高さ //LUK  運:運の強さ //僕のヒーローのパラメータ struct mychar { string name;//名前 int job;//職業番号 int hp; int mp; int str; float atk; float def; float mgk; int ing; int luk; }; void setCharacterStatus(mychar *_mc, string _name, int _job, int _hp, int _mp, int _str, float _atk, float _def, float _mgk, int _ing, int _luk) { //-> アロー演算子:アドレスで渡された構造体のメンバ変数を参照する _mc->name = _name; _mc->job = _job; _mc->hp = _hp; _mc->mp = _mp; _mc->str = _str; _mc->atk = _atk; _mc->def = _def; _mc->mgk = _mgk; _mc->ing = _ing; _mc->luk = _luk; } //素敵なフォーマットでキャラのパラメータを表示する関数 //引数で、キャラクターを表す構造体を渡す(ポインタでアドレス渡し) void printCharacterStatus(//ここ書く       ) { //ここ書く //アドレスで受け取った、キャラクターの構造体の各パラメータを //なまえ:XXX //HP:XXX //みたいな感じでカッコよく表示してみよう! } int main() { mychar hero; setCharacterStatus(&hero, "オルテガ", 0, 100, 10, 50, 100, 80, 10, 5, 20); cout << "なまえ:" << hero.name << endl; return 0; }