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

Нужен фильтр ввода данных - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Разработка и отладка алгоритмов и программ http://www.cyberforum.ru/cpp-beginners/thread1115253.html
Есть задание лабы: Разработать шаблон класса реализующего работу с матрицами переменной размерности. Тип эле- мента задается как параметр шаблона. Написать тестовую программу. Есть код задачи написаны тут: #include <iostream>//подключение библиотеки iostream #include <string>//подключение библиотеки string #include <time.h>//подключение библиотеки time.h using namespace std;//все...
C++ Рассчитать значение функции в заданной точке Есть готовый код программы #include <stdio.h> #include <math.h> #include <cmath> void main() { float z1,z2,x,y; scanf("%f",&x,&y); z1=pow(x,-1/2); z2=3-z1+2/x; http://www.cyberforum.ru/cpp-beginners/thread1115246.html
C++ Объяснить программный код построчно
Объяснить красные строки кода программы построчно #include <cstdlib> #include <stdlib.h> using namespace std; #define N 10 int main(){ int **mas = new int*; int tmp; int sum; int sumcol;
C++ Создать меню с командами Input, Work, Exit
Создать меню с командами Input, Work, Exit. При выборе команды Exit приложение завершает работу. При выборе команды Input открывается диалоговое окно, содержащее: • три поля ввода типа TextBox с метками Radius, Height, Density; • группу из двух флажков (Volume, Mass) типа CheckBox; • кнопку типа Button. Обеспечить возможность: • ввода радиуса, высоты и плотности конуса; • выбора режима с...
C++ Упорядочивание массива по методу Хора http://www.cyberforum.ru/cpp-beginners/thread1115216.html
#include <iostream> #include <cstring> using namespace std; void quicksort(char *items, int len); void qs(char *items, int left, int right); int main(){ setlocale(LC_ALL, "Russian");
C++ Как повысить приоритет программы! Здравствуйте форумчане! Нужна помощь в написании программы. Программа на подобие диспетчера задач, единственная её работа это повышать приоритет, или оставить без него какое нибудь приложения например Калькулятор. Как это реализовать в С++. С программированием туго ребята помогите. Буду рад любой помощи.! Плиззз...! подробнее

Показать сообщение отдельно
andreyananas
 Аватар для andreyananas
17 / 17 / 5
Регистрация: 15.10.2013
Сообщений: 806
10.03.2014, 17:55     Нужен фильтр ввода данных
Собственно вот моя первая программа по переводе арабских цифр в римские (она переводит не в настоящую римскую систему, но суть не в этом).

Столкнулся с проблемой проверки ввода данных, если ввести например "778gkdc8899" то считает 778 а остальное отбрасывает, и ошибку не выбивает - а нужно что бы выбивало ошибку при вводе любой НЕцифры! Также при вводе например 78.7 - не выбивает ошибку.(


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
48
49
50
51
52
53
54
55
56
#include <stdio.h> // для функций ввода/вывода
#include <conio.h> // для функции getch()
#include <cstdlib> // для функции system("cls")
 
 
int roman(int,int,char);// декларация функции.
 
int main()
{
    int a;
    char con;
    do
    {
     do
      {
        system("cls");
        printf("| 1000 - M | 500 - D | 100 - C | 50 - L | 10 - X | 5 - M | 1 - I |\n");
        printf(" ENTER NATURAL NUMBER (arabic)\n");
        /* %d - специф. формата - решает как вводить и выводить аргумент. */
        if (!(scanf("%d",&a)) || (a<=0))// проверка правильности ввода.
            {
               printf(" ERROR ENTER\a\n");
               printf(" to continue, press any key...\n");
               getch();
               a=0;
               fflush(stdin);// очистка буфера ввода.
            }
       }
     while (a==0);
     printf(" ROMAN NUMBER =>");
     a=roman(a,1000,'M');// подключает функцию roman.
     a=roman(a,500,'D');
     a=roman(a,100,'D');
     a=roman(a,50,'L');
     a=roman(a,10,'X');
     a=roman(a,5,'V');
     a=roman(a,1,'I');
     fflush(stdin);
     printf("\n to continue the program, enter => 'y'\n");
     printf(" to exit the program, enter any key...\n");
     scanf("%c", &con);
     if (con!='y')exit(0);
    }
    while (con=='y');
    getch();
    return 0;
}
int roman(int i, int j, char c) // описание функции roman (выводит результат).
{
    while (i>=j)
    {
        putchar(c);// выводит символ на экран.
        i=i-j;
    }
    return(i);// возврат значения i.
}
Добавлено через 2 часа 1 минуту
Никто не поможет?) Не может быть такого, что никто не сталкивался с этим.

Добавлено через 3 часа 53 минуты
(((((
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru