Форум программистов, компьютерный форум CyberForum.ru

Корректный ввод с cin - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ вывод слов в алфавитном порядке http://www.cyberforum.ru/cpp-beginners/thread888332.html
/*Написать программу, которая выполняет следующие действия: • вводит с клавиатуры данные в массив, состоящий из десяти структур; записи должны быть размещены по алфавиту; • выводит на дисплей фамилии работников, чей стаж работы в организации превышает значение, введенное с клавиатуры; • если таких работников нет, вывести на дисплей соответствующее сообщение.*/ #include <iostream>...
C++ Выдает ошибку invalid conversion from "int*" to "int" Добрый вечер! Что за ошибка?invalid conversion from "int*" to "int" #include <cstdlib> #include <iostream> #include <string> #include <sstream> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread888313.html
C++ Нужно найти строки в фале, которые заканчиваются на восклицательный знак, как это сделать?
Вот код, нужна строчка, которая будет искать строки с восклицательными знаками #include <stdio.h> #include <conio.h> int main(void) { char s; /*Символьный массив*/ FILE *fl1, *fl2; /*Указатель на файл*/
Как из нескольких чисел сделать одно? C++
Есть например int a=1, b=2, c=3; Как бы их так собрать в int x=123
C++ Создать массив и открыть поочередный доступ одного потока к нему http://www.cyberforum.ru/cpp-beginners/thread888303.html
Значит дано следующие задание: Создайте разделяемый ресурс в виде глобального массива типа int и обеспечьте при помощи семафоров, единовременный доступ к элементам массива только одного потока. Другие потоки должны дожидаться очереди для доступа к общему ресурсу. И к нему дана следующая программа: #include "stdafx.h" #include "windows.h" #include "process.h" HANDLE hSemaphore; LONG...
C++ Перегрузка операторов. Инкапсуляция. Сделать так, чтобы оператор >> находил разницу между датами. Задание: Сделать так чтобы оператор >> находил разницу между датами. Программа рабочая. Написана на С++ Возникли проблемы с инкапсуляцией (это мое мнение) или я просто что-то не так делаю... Вот класс: class CSemCalendar { int m_year; подробнее

Показать сообщение отдельно
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11811 / 6790 / 767
Регистрация: 27.09.2012
Сообщений: 16,840
Записей в блоге: 2
Завершенные тесты: 1
02.06.2013, 18:42     Корректный ввод с cin
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
int InputNumber(const int min,const int max,const char * szMessage){
    int x;
    if(szMessage)
        std::cout<<szMessage;
    else
        std::cout<<"Please, enter number ["<<min<<","<<max<<"] ->";
    bool ErrorFlag;
    do{
        std::cin.clear();
        std::cin.ignore(std::cin.rdbuf()->in_avail());
        std::cin>>x;
        ErrorFlag=!std::cin.good() || x>max || x<min;
        if(ErrorFlag){
            if(szMessage)
                std::cout<<"Error. "<<szMessage<<std::endl;
            else
                std::cout<<"Error. Enter number ["<<min<<","<<max<<"] ->"<<std::endl;
        }
    }while(ErrorFlag);
    std::cin.ignore(std::cin.rdbuf()->in_avail());
    return x;
}
int main(){
    int a = InputNumber(1,9,NULL);
    int b = InputNumber(17,18,"Enter b: ");
}
 
Текущее время: 02:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru