Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- using std::cin;
- using std::cout;
- using std::cerr;
- using std::endl;
- using std::flush;
- using std::string;
- int _tmain(int argc, _TCHAR* argv[])
- {
- setlocale(LC_ALL, "Russian");
- int kolvoChel=0;
- int m=0;
- int w=0;
- int k=0;
- string yn;
- string pol;
- string kid;
- string names;
- cout << "Здравствуйте, вас приветствует \"Собиратор - 1000\". \nПоговорите со мной пожалуйста, а взамен я вам скажу приятные вещи.\n" << endl;
- cout << "Введите количество мужчин в семье: " << flush;
- while (cin >> m, !cin.eof()){
- if(cin.fail()){
- cerr << "Ошибка! Введите количество мужчин в семье (целое число): " << flush;
- cin.clear();
- cin.get();
- fflush(stdin);
- continue;
- }
- fflush(stdin);
- break;
- }
- cout << "Введите количество женщин в семье: " << flush;
- while (cin >> w, !cin.eof()){
- if(cin.fail()){
- cerr << "Ошибка! Введите количество женщин в семье (целое число): " << flush;
- cin.clear();
- cin.get();
- fflush(stdin);
- continue;
- }
- fflush(stdin);
- break;
- }
- kolvoChel = m + w; // Общее кол-во человек в семье
- cout << "Введите количество детей в семье (до 18 лет): " << flush;
- while (cin >> k, !cin.eof()){
- if (k > kolvoChel){
- cerr << "Ошибка! Детей в семье не может быть больше общего кол-ва человек!\n"
- << "Введите количество детей в семье (целое число): " << flush;
- cin.clear();
- cin.get();
- fflush(stdin);
- continue;
- }
- if(cin.fail()){
- cerr << "Ошибка! Введите количество детей в семье (целое число): " << flush;
- cin.clear();
- cin.get();
- fflush(stdin);
- continue;
- }
- fflush(stdin);
- break;
- }
- cout << "\n" << endl;
- //Имя
- cout << "Введите ваше имя: " << flush;
- cin >> names;
- //Пол
- while (1)
- {
- cout << "Какого вы пола (M (мужского) или W (женского))?: " << flush;
- cin >> pol;
- switch (pol[0])
- {
- case 'M':
- case 'W':
- case 'm':
- case 'w':
- break;
- default:
- cout << "Ошибка! Введите M или W" << endl;
- continue;
- }
- break;
- }
- // Вопрос про главного
- while (1)
- {
- cout << "Вы главный человек в доме (Y (да) или NO (нет))?: " << flush;
- cin >> yn;
- switch (yn[0])
- {
- case 'n':
- case 'y':
- case 'N':
- case 'Y':
- break;
- default:
- cout << "Ошибка! Введите Y или N" << endl;
- continue;
- }
- break;
- }
- // Если главный в семье
- while(1){
- if (yn[0] == 'y' || yn[0] == 'Y') {
- if (pol[0] == 'M' || pol[0] == 'm')
- cout << endl << "Да вы просто молодец, настоящий полковник ;)\n" << endl;
- else cout << endl << "Да вы амазонка, настоящая воительница ;)\n" << endl;
- break;
- // Если не главный в семье
- } else {
- if (pol[0] == 'M' || pol[0] == 'm')
- cout << endl << "Понимаю, в жизьни всё бывает" << endl;
- else cout << endl << "Ну и правильно, вы умница! Мужчина капитан, а вы его компас ;)" << endl;
- break;
- }
- }
- // Вопрос, являитесь ли вы ребёнком
- if (k>0) {
- while (1)
- {
- cout << "\nПродолжаем дальше...\n" << endl;
- cout << "Ах да, чуть не забыл! Вам меньше 18 лет (Y (да) или N (нет))?: " << flush;
- cin >> kid;
- cout << endl;
- switch (kid[0])
- {
- case 'Y':
- case 'N':
- case 'y':
- case 'n':
- break;
- default:
- cout << "Ошибка! Введите Y или N" << endl;
- continue;
- }
- if ((kid[0] == 'Y' || kid[0] == 'y')&&(pol[0] == 'M' || pol[0] == 'm')&&(yn[0] == 'y' || yn[0] == 'Y'))
- cout << "ООООО, да вы юный император, принц так сказать ;).\n" << endl;
- else if ((kid[0] == 'Y' || kid[0] == 'y')&&(pol[0] == 'W' || pol[0] == 'w')&&(yn[0] == 'y' || yn[0] == 'Y'))
- cout << "Ничего себе, юная императрица, принцесса так сказать ;)\n" << endl;
- break;
- }
- }
- // Итоги
- cout << "Подведём итоги: " << "У вас в семье " << kolvoChel << " человек\n" << endl;
- cout << "Мужчин: " << m << " " << "Женщин: " << w << " " << "Детей: " << k << "\n" << endl;
- if(yn[0] == 'y' || yn[0] == 'Y')
- cout << "Вы глава семейства" << endl;
- else
- cout << "Вы не глава семейства" << endl;
- if(kid[0] == 'Y' || kid[0] == 'y')
- cout << "Вам < 18 лет\n" << endl;
- else
- cout << "Вам 18 или более лет\n" << endl;
- cout << "Спасибо за ваше внимание, я теперь ваш электронный друг!\n"
- << "С уважением, \"Собиратор - 1000\" \n"
- << "\nЕвгений Осипов (www.fastandclever.ru), 2011\n" << std::endl;
- system ("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment