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

Ввод с лимитом) - C++

Восстановить пароль Регистрация
 
IamSCORPION
SysOp
 Аватар для IamSCORPION
38 / 37 / 1
Регистрация: 13.04.2009
Сообщений: 274
25.06.2009, 18:21     Ввод с лимитом) #1
У меня вот такая проблема) Нужно ввести число и добыть из него корень. При этом если пользователь ввел меньше или равное число 99999 то выполнять действия если во время ввода пользователь вводить большее число то вводить лишь до 5-ти цифровое число включительно. То есть когда вводить, например,
C++
1
2
3
char a[100];
cout<<"Enter number:";
cin>>a;
и пользователь пытается ввести число 123456789, то при вводе вводится
12345
и дальше при вводе любой цифры ничего не вводится.
Помогите плиз!
Спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.06.2009, 18:21     Ввод с лимитом)
Посмотрите здесь:

Посимвольный ввод C++
форматированный ввод C++
C++ Зависает ввод
C++ Ввод данных
C++ ввод
C++ ввод
C++ C++ Ввод
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HeddinG
 Аватар для HeddinG
0 / 0 / 0
Регистрация: 23.06.2009
Сообщений: 16
25.06.2009, 19:02     Ввод с лимитом) #2
Покажите что у Вас получилось (или неполучилось). Я к тому, что написать несложно, но чем Вам такое поможет если Вы хотите научиться?
Ultrator
11 / 7 / 1
Регистрация: 28.04.2009
Сообщений: 219
25.06.2009, 19:16     Ввод с лимитом) #3
Я, конечно, извиняюсь, а зачем char? Или, так надо?
C++
1
2
3
double i;
cin>>i;
for(;i>99999;i=(i/10));
//и всё, теперь в i - то что нужно. Осталось извлечь корень.
//отрицательные значения - не обрабатываются.
IamSCORPION
SysOp
 Аватар для IamSCORPION
38 / 37 / 1
Регистрация: 13.04.2009
Сообщений: 274
25.06.2009, 20:02  [ТС]     Ввод с лимитом) #4
Цитата Сообщение от Ultrator Посмотреть сообщение
Я, конечно, извиняюсь, а зачем char? Или, так надо?
double i;
cin>>i;
for(;i>99999;i=(i/10));
//и всё, теперь в i - то что нужно. Осталось извлечь корень.
//отрицательные значения - не обрабатываются.
Sorry! Мне нужно char)

Добавлено через 4 минуты 33 секунды
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void name()
{
    setfillstyle(SOLID_FILL,RED);
    bar(215,170,413,235);
    setcolor(YELLOW);
    line(215,170,413,170);
    line(215,170,215,235);
    line(215,235,413,235);
    line(413,170,413,235);
    setcolor(LIGHTGREEN);
    settextstyle(1,HORIZ_DIR,2);
    outtextxy(225,170,"Enter your name");
    gotoxy(32,14);
    setfillstyle(SOLID_FILL,BLACK);
    bar(240,205,390,225);
        char name[8];
    cin>>name;
    delay(2000);
}
IamSCORPION
SysOp
 Аватар для IamSCORPION
38 / 37 / 1
Регистрация: 13.04.2009
Сообщений: 274
27.06.2009, 20:21  [ТС]     Ввод с лимитом) #5
Помогите! Очень нужно....
rrrFer
Заблокирован
27.06.2009, 20:39     Ввод с лимитом) #6
IamSCORPION
C++
1
2
3
4
5
6
#include <iostream>
int main(){ 
    char c[5];
    std::cin>>c;
    return 0;
}
C++
1
2
3
4
5
6
7
8
9
#include <conio.h>
int main(){
    char c[100];
    int i=-1;
    do
        c[++i]=getche();
    while(i<4&&c[i]>47&&c[i]<58);
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.06.2009, 22:43     Ввод с лимитом)
Еще ссылки по теме:

C++ Ввод
C++ Ввод функции
C++ Скрыть ввод в консоле ввод записи?
Ввод в С++ C++
C++ Ввод строки

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

Или воспользуйтесь поиском по форуму:
IamSCORPION
SysOp
 Аватар для IamSCORPION
38 / 37 / 1
Регистрация: 13.04.2009
Сообщений: 274
27.06.2009, 22:43  [ТС]     Ввод с лимитом) #7
Цитата Сообщение от rrrFer Посмотреть сообщение
IamSCORPION
C++
1
2
3
4
5
6
#include <iostream>
int main(){ 
    char c[5];
    std::cin>>c;
    return 0;
}
C++
1
2
3
4
5
6
7
8
9
#include <conio.h>
int main(){
    char c[100];
    int i=-1;
    do
        c[++i]=getche();
    while(i<4&&c[i]>47&&c[i]<58);
    return 0;
}
Не то! Но близко...

Что-то вроде этого
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
#include "stdafx.h"
#include <conio.h>
 
const int MAX=5;
 
int main()
{
    enum keys
    {
        ENTER=13
    };
 
    int key=0;
        char c[100];
    for(int z=0; z<MAX+1; z++)
    {
        if(z==MAX)
        {
            z--;
        }
        else
        {
            if((key=getch())==13)
            {
                break;
            }
            else
                c[z]=getche();
        }
    }
    return 0;
}
Yandex
Объявления
27.06.2009, 22:43     Ввод с лимитом)
Ответ Создать тему
Опции темы

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