Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Программирование на с++ помощь

Тимофей Заикин Ученик (55), открыт 11 часов назад
а как сделать так что бы при вводе не правильного символа код мне предлагал повторить попытку и так пока не ввиду правильно

код:#include <iostream>
#include <string>
using namespace std;
int main() {
setlocale(LC_ALL, "rus");
cout <<"Привет"<<endl;
cout <<"Тебя приветствует бот для поиска каритинок по определённой тематике"<<endl;
cout <<"Предупреждение в прогграмме 2 цикла работы"<<endl;
cout <<"Нажмите Enter для продолжения...";
cin.get();
cout <<"вибирите категорию каритинок:"<<endl;
cout <<"cars,sea,forest,house,yacht,hotel,computer"<<endl;
cout <<"Ввод категории:";
string category;
cin >> category;
if (category == "cars") {
cout <<"спорт карт"<<endl;
}
else if (category == "sea") {
cout <<"океан"<<endl;
}
else if (category == "forest") {
cout <<"лес"<<endl;
}
else if (category == "house") {
cout <<"дом"<<endl;
}
else if (category == "yacht") {
cout <<"яхта"<<endl;
}
else if (category == "hotel") {
cout <<"отель"<<endl;
}
else if (category == "computer") {
cout <<"road"<<endl;
}
else {
cout <<"Неправильно введена категория"<<endl;
}
cout << "Для выбора следущей категории введите 'y' " << endl;
cout << "Введите 't' для прекращения работы: ";
string a;
cin >> a;
if (a == "y") {
cout <<"cars,sea,forest,house,yacht,hotel,computer,road Ввод:";
}
else if (a == "t") {
cout << "Программа завершена. До свидания!" << endl;
}
string b;
cin >> b;
if (b == "cars") {
cout <<"спорт карт"<<endl;
}
else if (b == "sea") {
cout <<"океан"<<endl;
}
else if (b == "forest") {
cout <<"лес"<<endl;
}
else if (b == "house") {
cout <<"дом"<<endl;
}
else if (b == "yacht") {
cout <<"яхта"<<endl;
}
else if (b == "hotel") {
cout <<"отель"<<endl;
}
else if (b == "computer") {
cout <<"компьютер"<<endl;
}
else {
cout <<"Неправильно введена категория"<<endl;
}
return 0;
}
1 ответ
Николай Веселуха Высший разум (368761) 9 часов назад
 #include <iostream> 
#include <unordered_map>

using namespace std;

string parse(const char* prompt = "") {
cout << prompt;
string value{};
cin >> value;
cin.ignore(0x1000, '\n');
return value;
}

int main() {
system("chcp 1251 > nul");
unordered_map<string, string> catecategories{
{ "cars", "спорт кар" },
{ "sea", "море" },
{ "forest", "лес" },
{ "house", "дом" },
{ "yacht", "яхта" },
{ "hotel", "отель" },
{ "computer", "компьютер" },
{ "road", "дорога" }
};
string category;
while (!catecategories.contains(category)) {
cout << ">>> ";
cin >> category;
}
cout << "<<< " << catecategories.at(category) << '\n';
system("pause > nul");
}
Похожие вопросы