Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/34: Рейтинг темы: голосов - 34, средняя оценка - 4.65
0 / 0 / 0
Регистрация: 11.10.2019
Сообщений: 7

Проверка на дурака

21.10.2019, 00:05. Показов 7797. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. На паре в универе препод предложил такой вариант проверки на дурака:
double In(const char* t)
{
double x;
cout << t;
while (!(cin >> x) || cin.get() != '\n')
{
cin.clear();
cout << "Error" << endl;
while (cin.get() != '\n');
}
return x;
}
Можете ли мне объяснить принцип работы сего творения?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.10.2019, 00:05
Ответы с готовыми решениями:

Проверка на дурака
Не могу найти нормальный код проверки на дурака, проблема в том что сhar берет все значения, а я хочу только 1 символ do { ...

Проверка правильной надписи(Дурака)
Всем привет, у меня есть некая инф-поисковая система и когда добавляешь элемент нужно вписывать в некоторых edit'ах буквы, в других цифры,...

Проверка от дурака
Ребят, только начал изучать этот язык) Подскажите, как реализовать проверку вводимых данных в текст бокс, а именно нужно чтоб если вводится...

5
531 / 180 / 39
Регистрация: 18.08.2012
Сообщений: 907
21.10.2019, 00:30
Лучший ответ Сообщение было отмечено explorerbeep как решение

Решение

Цитата Сообщение от explorerbeep Посмотреть сообщение
Можете ли мне объяснить принцип работы сего творения?
а ты сам не пробовал спросить препода на паре? Или, хотя бы запустить
Цитата Сообщение от explorerbeep Посмотреть сообщение
сего творения?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
using namespace std;
 
double In(const char* t)
{
double x;
cout << t;
while (!(cin >> x) || cin.get() != '\n')
{
cin.clear();
cout << "Error" << endl;
while (cin.get() != '\n');
}
return x;
}
 
int main() {
  cout << In("qwr") << endl;
}
console output:
clang version 7.0.0-3~ubuntu0.18.04.1 (tags/RELEASE_700/final)
 clang++-7 -pthread -std=c++11 -o main main.cpp
 ./main
qwr

a
Error
b
Error
c
Error
qwr
Error
1.3
1.3
при вводе букв или слов - выводит Error
при вводе чисел - программа останавливается c выдачей значения переменной x
1
0 / 0 / 0
Регистрация: 11.10.2019
Сообщений: 7
21.10.2019, 00:56  [ТС]
Спасибо. Разумеется я пытался спросить у него что да как, но, он сказал что вы должны сами разобраться в моём коде.
0
фрилансер
 Аватар для Алексей1153
6462 / 5670 / 1131
Регистрация: 11.10.2019
Сообщений: 15,096
21.10.2019, 09:02
Цитата Сообщение от explorerbeep Посмотреть сообщение
препод предложил такой вариант проверки на дурака
передай преподу, что его проверили
0
Злостный нарушитель
 Аватар для Verevkin
10358 / 5773 / 1274
Регистрация: 12.03.2015
Сообщений: 26,685
21.10.2019, 09:11
Цитата Сообщение от explorerbeep Посмотреть сообщение
препод предложил такой вариант проверки на дурака
От меня передай: пусть скачает учебник по Си и почитает про функцию scanf().
0
 Аватар для vlisp
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,377
21.10.2019, 14:44
тот самый момент когда с++ сел жопой в лужой и потянул за собой преподов и студентов
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.10.2019, 14:44
Помогаю со студенческими работами здесь

Проверка на дурака
Есть готовый скрипт &quot;Перевод из одной системы счисления в другую&quot;, не знаю, как написать ошибку при выводе неправильных данных. Пример: ...

Проверка ввода числа. Защита от дурака
Как сделать, чтобы я мог проверять число которое я ввожу, к примеру мне надо, чтобы в переменную х вводили именно 4-х значное число, это...

GUI. Проверка на ввод массива или «Защита от дурака»
Доброго времени суток! Осталось внести в приложение последние штрихи – проверку вводимых данных. Для понимая вот основная часть...

Проверка корректности ввода данных или "защита от дурака"
Нужно во всех формах реализовать контроль правилньости ввода данных. Не подскажете на примере, как это вообще делается? Например,...

"Проверка на дурака"
Привет,подскажите как запретить ввод цифр при вводе имени,фамилии и названии предмета, чтобы можно было вводить только символы.Иными...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru