Salut,
Au début de ton code il faut initialiser le générateur de nombres avec la fonction srand();
Pour vérifier si une string est vide tu peut utiliser la méthode std::string::empty();
Dans ton cas je remplacerai (motchoix!="\0") par motchoix.size(), parcontre je ne comprend pas trop l'intérêt de la première boucle.