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

Проверка числовой ли ввод - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дано число t, означающее время в минутах прошедшее с начало очередного часа. Определить цвет сигнала светофора http://www.cyberforum.ru/cpp-beginners/thread1134948.html
Вобщем, задача такая: Работа светофора для водителей запрограммирована следующим образом: начиная с начала каждого часа в течении 3 минут горит зеленый цвет, затем в течении одной минуты горит желтый цвет, затем в течении 2 минут горит красный цвет, потом в течении 3 минут опять зеленый и т.д. Дано вещественное число t, означающее время в минутах прошедшее с начало очередного часа. Определить...
C++ Поиск совпадений в файле Здравствуйте. Есть текстовый документ с названиями файлов, каждое в своей строке. Нужно найти все совпадения и либо вывести их на экран, либо в другой файл. Подскажите в какую сторону смотреть. Спасибо. http://www.cyberforum.ru/cpp-beginners/thread1134946.html
C++ Создать массив структур, содержащих сведения о различных товарах в магазинах города
Создать массив структур, содержащих сведения о различных товарах в магазинах города. Каждая запись содержит поля: -название товара; -название массива, в котором продаётся товар; -стоимость товара в грн. Предусмотреть в программе следующие действия: а) вывод информации о товаре, название которого введено с клавиатуры; если таких товаров нет, выдать на экран соответствующее сообщение; б)...
Найти произведение/ С++ для начинающих C++
Вычислить П(в числителе n, в знаменателе i-1) (2+1/i!)
C++ Организовать класс натуральной дроби http://www.cyberforum.ru/cpp-beginners/thread1134912.html
Поле first — целое положительное число, числитель; поле second — целое положительное число, знаменатель. Реализовать метод ipart() — выделение целой части дроби first/second. Метод должен проверять неравенство знаменателя нулю
C++ Определить, какая из фигур имеет большую площадь / С++ для начинающих Определить какая из двух фигур круг или квадрат имеет большую площадь.Значение стороны квадрата a и радиус круга r вводится через файл imput.txt.Вывести в выходной файл output.txt название и значение площади большей фигуры. подробнее

Показать сообщение отдельно
Snickers077
7 / 7 / 2
Регистрация: 12.01.2014
Сообщений: 33

Проверка числовой ли ввод - C++

31.03.2014, 16:55. Просмотров 662. Ответов 4
Метки (Все метки)

Здравствуйте! Задача такая. Написать программу, читающую в массив double до 10 значений пожертвований. ПРограмма должна прекращать ввод при получении нечисловой величины. Она должна выдавать среднее значение полученных чисел. А так же количество значений в массиве превышающих среднее.

Написал программу, вот что получилось:
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
#include "stdafx.h"
#include <cctype>
#include <iostream>
const int Razm = 10;
int _tmain(int argc, _TCHAR* argv[])
{
    using namespace std;
    double mpog [Razm];
    int i = 0, j, kb = 0;
    double sum = 0, sred;
    cout << "vvedite 10 znachenii pogertvovanii: ";
    while (i < Razm)
    {
        cin >> mpog[i];
        if (!(isdigit(mpog[i])))// проверка что ввод цифровой
        {
            sum += mpog[i];
                    
        }
        [COLOR="Red"]else {
            cout << "vi vveli ne chislo!"; //прерывание программы в случае нецифрового ввода
            break;
        }[/COLOR]
    
    i = i++;
    
    
    
    }
sred = sum/i;
for (j=0; j < i; j++)
    if (mpog[j] > sred)
        kb = kb++;
 
cout << "Srednee poluchennix chisel ravno: " << sred << endl;
cout << "Kolichestvo chisel vishe srednego ravno: " << kb;
 
 
 
cin.get();
cin.get();
    return 0;
}
Проблема в том, что при введении нечисловой величины (например буквы) компилятор сам прерывает программу и код выделенный красным не выполняется. Как сделать так, чтобы компилятор не прерывал программу, а выполнялась моя проверка на предмет цифрового ввода или это невозможно?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru