Question #99435

Modify songVerse to play "The Name Game" (see OxfordDictionaries.com), by replacing "(Name)" with userName but without the first letter.

Ex: If userName = "Katie" and songVerse = "Banana-fana fo-f(Name)!", the program prints:
Banana-fana fo-fatie!
Ex: If userName = "Katie" and songVerse = "Fee fi mo-m(Name)", the program prints:
Fee fi mo-matie
Note: You may assume songVerse will always contain the substring "(Name)".
#include <iostream>
#include <string>
using namespace std;

int main() {
string userName;
string songVerse;

getline(cin, userName);
userName = userName.substr(1, userName.size() - 1); // Remove first character

getline(cin, songVerse);

// Modify songVerse to replace (Name) with userName without first character

/* Your solution goes here */

cout << songVerse << endl;

return 0;
}

Expert's answer

#include <iostream>
#include <string>
using namespace std;

int main() {
    string userName;
    string songVerse;
    getline(cin, userName);
    userName = userName.substr(1, userName.size() - 1); // Remove first character
    getline(cin, songVerse);
    // Modify songVerse to replace (Name) with userName without first character
    /* Your solution goes here */
    string rep = "(Name)";
    size_t pos = songVerse.find(rep);
    songVerse = songVerse.substr(0, pos) + userName + songVerse.substr(pos + rep.size()),
    cout << songVerse << endl;
    return 0;
}
LATEST TUTORIALS
APPROVED BY CLIENTS