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

Cin: проверка ввода данных - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Инвертирование цветов в палитре RGB http://www.cyberforum.ru/cpp-beginners/thread1527503.html
Выполнить инвертирование цветов на изображении по системе RGB: R′ = 255 − R, G′ = 255 − G, B′ = 255 − B. имеется вот такой вот пример, но как из него сделать под себя ума не приложу int...
C++ Как реализовать конструктор с параметрами для инициализации полей класса? Подскажите как реализовать конструктор с параметрами для инициализации полей класса. http://www.cyberforum.ru/cpp-beginners/thread1527499.html
C++ Генератор случайных кубических графов
К теме прикреплен файл с алгоритмом и .doc . В программе есть ошибка не могу исправить, она вычисляет за какое время генерирует граф, а сам граф(матрицу) на экран не выводит. В работе есть скрин, где...
C++ Реализация простейшего чата: как избежать ошибок?
Я пишу штото типа чата, написал - шду ответа, но на одном компе запущу один клиент, роботает норм, запущу другой выдает ошибку. С етого и следует вопрос: будут ли работать на разных компах, тоисть 1...
C++ Округление чисел при решении СЛАУ http://www.cyberforum.ru/cpp-beginners/thread1527465.html
Добрый день! Подскажите, пожалуйста, программа решает систему линейных алгебраических уравнений вида AX=B методом Гаусса. Но в конце матрица X получается не точной. Сначала выводило(double *x): ...
C++ Почему функция может не завершаться после выполнения return? В одном из моих проектов есть рекурсивная функция поиска элемента в дереве по ключу: node* ownTree::findNode(node* tempRoot, char* value) { if (tempRoot->key == atoi(value)) { return... подробнее

Показать сообщение отдельно
ajohnny
0 / 0 / 0
Регистрация: 24.07.2015
Сообщений: 22

Cin: проверка ввода данных - C++

09.09.2015, 11:23. Просмотров 445. Ответов 2
Метки (Все метки)

Выполняю одну задачку, с проверкой на ввод данных типа int/double, ошибка, если - введены данные типа char.
Внизу код(в разработке), ошибки код перехватывает, а вот как выйти с вводного потока:

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include "../../../std_lib_facilities.h"
 
 
int main()
{
  try{
    vector <double> v;
    double tmp;
    int cnt;
    cout << "Please enter the number of values you want to sum:" <<'\n';
    cin >> cnt;
    if (!cin)
        error("Enter type 'int' of value!");
 
    cout << "Please enter some double digits (press '|' to stop):" <<'\n';
    
bool mark = true;
 
    do{
      cin >> tmp;
      
      if(!cin)
              error("Wrong type! Enter int/double digit!");
    
        v.push_back(tmp);
     
    }
    while(mark);
      
      
    cout << "Size of vector is: " << v.size() << '\n';
    
 if(cnt <= v.size()){
    double sum=0;
    for(int y=0;y < cnt;++y)
              sum+=v[y];
          
    cout << "Sum of " << cnt << " first digits is :" << sum << '\n';        
  }
 else
    error("You enter much bigger value than vector size!");  
  }
  catch (exception & e) {
     cerr << "exception error: " << e.what() << '\n';
     return 1;   
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru