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

Проверка вводимых значений - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не считываются пробелы из файла http://www.cyberforum.ru/cpp-beginners/thread838660.html
Допустим пытаюсь считать из файла "ghf fk ff 123 1", а выводится/считывается "ghffkff1231" В чем может быть проблема? #include <iostream> #include <fstream> using namespace std; int razmer () {fstream f; f.open ("in.txt", ios::in);
C++ Обработка исключений Здравствуйте, мне нужно проанализировать ведённый номер телефона методом обработка исключений. Подскажите пожалуйста, почему я не могу мой код void tel_num (double n) { cout << "Please enter telephone number (+371)"; cin >> n; cout << endl; cout << "(+371)" << n << endl; http://www.cyberforum.ru/cpp-beginners/thread838658.html
Функция для чтения числа или строки в заголовке цикла while C++
ну вот мне допустим нужно написать не такой цикл cin >> n while (n != -1) { //... cin >> n }
C++ Составить программу для шифрования информации
Составить программу для шифрования информации (в любом файле) с помощью операции "исключающая или". Т.е. дан файл с данными, которые нужно зашифровать с помощью "ключа" и файл "результат", в котором записываются зашифрованные данные."Ключ" должен вводится с клавиатуры.
C++ Массивы. Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент http://www.cyberforum.ru/cpp-beginners/thread838639.html
Для заданной матрицы размером 8х8 найти такие к, что к-я строка матрицы совпадает с к-м столбцом. Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент. Добавлено через 14 часов 52 минуты uses crt; const n=8;{размер матрицы} {чтоб не маяться с вводом с клавы, зададим матрицу константой} a:array of integer=((1,2,3,4,5,6,7,-8), ...
C++ Как сделать круговую диаграмму Здравствуйте, у нас есть данные которые мы должны отобразить на круговой диаграмме. Как построить ее и произвести деление этой диаграммы на сектора. Пробовал гуглить circle с++, но решения проблемы так и не нашел. Помогите пожалуйста. подробнее

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

Проверка вводимых значений - C++

15.04.2013, 18:09. Просмотров 836. Ответов 8
Метки (Все метки)

Стоит задача не допустить ввода значений помимо чисел(0..9), точки(".") и "+" или "-".
При условии, что используется данная функция:
Кликните здесь для просмотра всего текста
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
void input()
    {
        cout<<" * umnogenie \n / delenie \n + summa \n - raznost' \n ^ vozvedenie v stepen'"<<endl;
        cout<<"vvedite celuy chast' pervogo kompleksnogo chisla  "; cin>>n1;
        cout<<"vvedite mnimuy chast' pervogo kompleksnogo chisla  "; cin>>m1;
        cout<<"vvedite deystvie --> "; cin>>z;
        if (z!='^')
        {
            cout<<"vvedite celuy chast' vtorogo kompleksnogo chisla  ";cin>>n2;
 
        cout<<"vvedite mnimuy chast' vtorogo kompleksnogo chisla  "; cin>>m2;
        
 
            if (z=='+')
            { sum(n1,n2,m1,m2);}
            else
                if (z=='-')
                {raz(n1,n2,m1,m2);}
                else
                    if (z=='*')
                    {umn(n1,m1,n2,m2);}
                    else
                        if (z=='/')
                        {del(n1,m1,n2,m2);}
                        else
                            cout<<"error"<<endl;
        }
        else {step(n1,m1);}
        
    }

последнее значение(m2) в виде: *число или /число он воспринимает его как 0. При вводе тким же образом m1, n1, n2 программа падает.
а при использовании после каждой или любой из строк
C++
1
2
3
4
5
if (scanf ("%d", &m2) != 1) 
{
 printf("ne to znachenie");
exit(500);
}
он не дает вводить "+", "-", "."
Как грамотно исправить этот баг + объясните логику почему крэшится именно на m2 ?

Заранее всем благодарен
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru