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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
m1x
5 / 5 / 0
Регистрация: 20.11.2010
Сообщений: 173
04.05.2011, 23:07     Проверрка ввода римских чисел #1
Нужна проверка ввода римских чисел в калькуляторе
Калькулятор готов, а вот как проверку ввода организовать не знаю
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
olleg90
 Аватар для olleg90
34 / 34 / 6
Регистрация: 06.01.2011
Сообщений: 90
05.05.2011, 10:23     Проверрка ввода римских чисел #2
объясните подробнее о какой именно проверке идет речь...
LineStown
 Аватар для LineStown
63 / 63 / 3
Регистрация: 04.08.2010
Сообщений: 399
05.05.2011, 10:34     Проверрка ввода римских чисел #3
+ Ко всему, непонятно как организован ввод.
olleg90
 Аватар для olleg90
34 / 34 / 6
Регистрация: 06.01.2011
Сообщений: 90
05.05.2011, 10:53     Проверрка ввода римских чисел #4
тебе нужно написать калькулятор римских чисел?
m1x
5 / 5 / 0
Регистрация: 20.11.2010
Сообщений: 173
05.05.2011, 11:26  [ТС]     Проверрка ввода римских чисел #5
Цитата Сообщение от olleg90 Посмотреть сообщение
тебе нужно написать калькулятор римских чисел?
я его уже написал
нажна именно проверка ввода

Калькулятор предоставляет выбор операции (+, -, *, / ) а потом просит ввести числа
так вот мне нужно чтобы если я введу IIIIV выводилось сообщение, что число введено некорректно
olleg90
 Аватар для olleg90
34 / 34 / 6
Регистрация: 06.01.2011
Сообщений: 90
05.05.2011, 11:40     Проверрка ввода римских чисел #6
смотри... а если ввели IIIII это тоже будет ошибкой?
LineStown
 Аватар для LineStown
63 / 63 / 3
Регистрация: 04.08.2010
Сообщений: 399
05.05.2011, 12:03     Проверрка ввода римских чисел #7
Цитата Сообщение от m1x Посмотреть сообщение
я его уже написал
нажна именно проверка ввода

Калькулятор предоставляет выбор операции (+, -, *, / ) а потом просит ввести числа
так вот мне нужно чтобы если я введу IIIIV выводилось сообщение, что число введено некорректно
Ты скинь, как ты осуществляешь ввод, что б понять как организовывать проверку
m1x
5 / 5 / 0
Регистрация: 20.11.2010
Сообщений: 173
05.05.2011, 17:04  [ТС]     Проверрка ввода римских чисел #8
код калькулятора для сложения двух чисел

C++
1
2
3
4
5
6
7
8
9
 cout<<"Please enter a number\n";
                cin>>romanian1;
                num=roman2arab(romanian1);
                cout<<"Another number to be added\n";
                cin>>romanian2;
                num2=roman2arab(romanian2);
                rezult=num + num2;
                cout<<"Rezult: "<<arab2roman(rezult);
                cout<<"\n";
где
C++
1
roman2arab
и
C++
1
arab2roman
функции перевода чисел из римских в арабские и наоборот

Добавлено через 2 минуты
Цитата Сообщение от olleg90 Посмотреть сообщение
смотри... а если ввели IIIII это тоже будет ошибкой?
ну конечно
нужно посмотреть правила написания римских чисел, в чем я тоже не особо силен
olleg90
 Аватар для olleg90
34 / 34 / 6
Регистрация: 06.01.2011
Сообщений: 90
05.05.2011, 17:06     Проверрка ввода римских чисел #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
31
#include <iostream>
#include <conio.h>
using namespace std;
void main ()
{   setlocale (LC_ALL,"");
    char s[50],ch=0,arr[]="IVXLCDM",*ptr;
    ptr=arr;
    int i=0,fl=0;
    while (ch!=13)
    {   
        if (fl==1){cout<<"недопустимый символ! Доппустимые символы: I V X L C D M"<<endl;fl=0;}
        for (int j=0;j<i; j++)
        cout<<s[j];
        ch=getch();
        switch(ch)
        {
        case 'I':s[i++]='I'; break;
        case 'V':s[i++]='V';break;
        case 'X':s[i++]='X';break;
        case 'L':s[i++]='L';break;
        case 'C':s[i++]='C';break;
        case 'D':s[i++]='D';break;
        case 'M':s[i++]='M';break;
        case 8 : if (i) i--;break;
        default : fl=1;
        }
 
        system ("cls");
    }
 
}
 Комментарий модератора 
Не забываем про теги форматирования!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2011, 18:41     Проверрка ввода римских чисел
Еще ссылки по теме:

C++ Проверка ввода чисел
Программа для перевода римских цифр С++ C++
C++ Печать римских цифр

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

Или воспользуйтесь поиском по форуму:
m1x
5 / 5 / 0
Регистрация: 20.11.2010
Сообщений: 173
05.05.2011, 18:41  [ТС]     Проверрка ввода римских чисел #10
Цитата Сообщение от olleg90 Посмотреть сообщение
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
#include <iostream>
#include <conio.h>
using namespace std;
void main ()
{   setlocale (LC_ALL,"");
    char s[50],ch=0,arr[]="IVXLCDM",*ptr;
    ptr=arr;
    int i=0,fl=0;
    while (ch!=13)
    {   
        if (fl==1){cout<<"недопустимый символ! Доппустимые символы: I V X L C D M"<<endl;fl=0;}
        for (int j=0;j<i; j++)
        cout<<s[j];
        ch=getch();
        switch(ch)
        {
        case 'I':s[i++]='I'; break;
        case 'V':s[i++]='V';break;
        case 'X':s[i++]='X';break;
        case 'L':s[i++]='L';break;
        case 'C':s[i++]='C';break;
        case 'D':s[i++]='D';break;
        case 'M':s[i++]='M';break;
        case 8 : if (i) i--;break;
        default : fl=1;
        }
 
        system ("cls");
    }
 
}
Не забываем про теги форматирования!
по-моему она работает некорректно
а точнее вообще не работает
или я чего-то не понимаю
Yandex
Объявления
05.05.2011, 18:41     Проверрка ввода римских чисел
Ответ Создать тему
Опции темы

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