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

Как поставить ограничение на ввод только числа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проблемка с функцией gets(). Подскажите http://www.cyberforum.ru/cpp-beginners/thread616104.html
Проблема следующего характера: при первом проходе в цикле(i=0) функция store() работает корректно. При шаге i=1 и дальше строка gets(title); опускается компилятором. Подскажите пожалуйста в чем...
C++ Задача "Работа со строками" Вывести различные русские буквы трех предложений (то есть такие,какие есть только в одном из них) http://www.cyberforum.ru/cpp-beginners/thread616073.html
Подсчитать сколько слов, состоящих только из прописных букв, содержится в сообщении, и в каждом таком слове изменить все буквы на заглавные. C++
Подсчитать сколько слов, состоящих только из прописных букв, содержится в сообщении, и в каждом таком слове изменить все буквы на заглавные.
C++ Построить график зависимости
Помогите написать программу на С++ .Построить график зависимости расстояния от водной поверхности до верхней точки плавающего на воде тела от плотности материала данного тела, если это пирамида...
C++ Запустить функцию с именем из переменной http://www.cyberforum.ru/cpp-beginners/thread616047.html
Всем доброго времени суток! Можно ли вызвать функцию, имя которой написано в переменной? Например, в ЯП AutoIt такая возможность есть (выглядит так: Execute("func_name(params)")). Делаю класс...
C++ Задачка на высокосный год Дана структура, задающая дату вида: Struct date {int day; int month; int year;}; Пользуясь таким структурным типом, составить программу, определяющую: дату, которая наcтупит через m дней; ... подробнее

Показать сообщение отдельно
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.06.2012, 03:45
Цитата Сообщение от Catstail Посмотреть сообщение
Вот такой код:

C++
1
2
3
    int i;
    cin >> i;
    cout << "Input " << i << endl;
не выдаст ничего (сколько бы раз не жался ENTER), пока не будет что-либо введено. Я могу сделать, что GetInt просто не отдаст управление, пока что-либо не введешь. Это лучше?
В коде присутствует счётчик ( int c), который никак не используется. Если убрать c++, при выводе минуса, то после вызова GetInt(), если не было ничего введено, с равен 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include "conio.h"
#include "stdio.h"
 
int GetInt(int &c)
{
   int k,n=0,flgS=0;
   c = 0;
    while (1)
   {
 
        k=getch();
        if ((k == '-') && (flgS == 0)) 
       {
          flgS=-1;
          putch('-');
          //c++;
       }
 
       if ((k >= '0') && (k <= '9')) 
       {
           printf("%c",k);
           n=n*10+k-'0';
           c++;
       }
     
       if (k == 8)
       {
           putch(8);
           putch(' ');
           putch(8);
           n=n / 10;
           c--;
           if (c == 0) flgS=0;
       }
 
       if (k == 13) break;
 
    }
 
    if (flgS == -1) n=-n;
    return n;
}
 
int main(int argc, char* argv[])
{
    int c = 0;
    int m=GetInt(c);
    if (c == 0 ) printf("\nYou don't have inputted!\n");
    else printf("\nYou have inputed: %d\n",m);
    return 0;
 
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru