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

Проверка ввода данных в консоле - C++

Восстановить пароль Регистрация
 
miragex
1 / 1 / 0
Регистрация: 11.07.2012
Сообщений: 123
22.01.2013, 01:24     Проверка ввода данных в консоле #1
Доброй ночи
Столкнулся с такой проблемой

Написал программу "Даны натуральные n, действительное x. Вычислить: sinx + sinx^2+...+sinx^n"
Требуется ввести только цифры
Если я ввожу не цифровые символы, то программа ведет себя неадекватно
Как организовать правильно, проверку на ввод данных, т.е. если я ввел неправильно (не цифру-а букву)

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
#include<cstdio>
#include<cmath>
#include<windows.h>
 
 
char* Rus(char* s)
{
    static char buf[500];
    CharToOem(s, buf);
    return buf;
}
 
int main()
{
    int n=0;
    float x;
    double res;
 
    printf(Rus("Даны:\nДействительное число (x): "));
    scanf( "%f", &x); // Получаем значение -x
    do{
        printf(Rus("Степень (n>0): "));
        scanf( "%d", &n);
      } while(n<=0); // Получаем значение -n
    printf("\n%s\n", Rus("Вычислить: sinx + sinx^2+...+sinx^n"));
 
    for(int i=1; i<=n; i++)
        res += sin( pow(x,i) );
 
    printf("%s : %g\n", Rus("Ответ"), res);
 
    return 0;
}
Спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2013, 01:24     Проверка ввода данных в консоле
Посмотрите здесь:

C++ Ввод в консоле только чисел(запрет ввода других символов)
Проверка ввода данных C++
C++ проверка переданных данных из потока ввода
C++ Проверка ввода данных в C++
Проверка ввода данных в C++ C++
C++ проверка ввода данных
Проверка ввода данных C++
C++ Ожидание ввода строки в консоле Linux

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
22.01.2013, 03:44     Проверка ввода данных в консоле #2
посмотрите сюда.
m1Rr0r
 Аватар для m1Rr0r
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,213
Завершенные тесты: 2
22.01.2013, 04:00     Проверка ввода данных в консоле #3
записывай все в строку, затем проверяй что в строке isdigit(), isalpha(), и т.д.
Yandex
Объявления
22.01.2013, 04:00     Проверка ввода данных в консоле
Ответ Создать тему
Опции темы

Текущее время: 05:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru