string name1;
cout << "'Придумай себе умопомрачительное имя': ";
while (cin.get() != '\n');
getline(cin, name1);
if (name1 == '\n') {
cout << "Ты, вроде как, имя не ввел. Так это, то самое, давай, обзови себя как-нибудь..." << endl;
goto label3;
}
#include<iostream>
#include<string>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
system("chcp 1251 > null");
string s;
cout << "Введите имя: ";
while(getline(cin, s))
{
if(s.empty())
{
cout << "Вы не ввели имя!\n"
<< "Введите имя: ";
continue;
}
break;
}
cout << "\nВаше имя: " << s
<< "\nНажмите любую клавишу...";
cin.get();
}
#include<iostream>
#include<string>
#include<algorithm>
#include<cctype>
#include<clocale>
using namespace std;
/* functions from https://code-examples.net/ru/q/34ef7 */
// trim from start (in place)
static inline void ltrim(string &s)
{
s.erase(s.begin(), std::find_if(s.begin(), s.end(), [](const auto ch) {
return !isspace(ch);
}));
}
// trim from end (in place)
static inline void rtrim(string &s)
{
s.erase(std::find_if(s.rbegin(), s.rend(), [](const auto ch) {
return !isspace(ch);
}).base(), s.end());
}
// trim from both ends (in place)
static inline void trim(string &s)
{
ltrim(s);
rtrim(s);
}
int main()
{
setlocale(LC_ALL, "Russian");
system("chcp 1251 > null");
string s;
cout << "Введите имя: ";
while(getline(cin, s))
{
//upd
replace_if(s.begin(), s.end(), [](const auto c){return iscntrl(c); }, ' ');
trim(s);
//end upd
if(s.empty())
{
cout << "Вы не ввели имя!\n"
<< "Введите имя: ";
continue;
}
break;
}
cout << "\nВаше имя: " << s
<< "\nНажмите любую клавишу...";
cin.get();
}