Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 7
1

Ввод целого положительного числа

22.11.2014, 00:18. Показов 3652. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Очень нуждаюсь в помощи, не могу справиться с РГР, нужно написать программу, которая обеспечивает ввод целого положительного числа, при нажатии клавиши соответствующий символ должен появиться на экране, только если это цифра. Я использовал Getch(), но я не могу правильно написать условие, и при выводе мне нужно увидеть число, а не код символа. Вообщем такая проблема, извини что без наработок, не хочу позориться, хотя с таким вопросом я уже это сделал...((
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.11.2014, 00:18
Ответы с готовыми решениями:

3. Написать функцию, которая обеспечивает ввод с клавиатуры целого положительного числа. Функция из набора знаков должна возвращать только целые полож
Написать функцию, которая обеспечивает ввод с клавиатуры целого положительного числа. Функция из...

Найти все делители целого положительного числа
Найти все делители целого положительного числа

Функция: вернуть N-ю цифру целого положительного числа K
Описать функцию целого типа, возвращающую N-ю цифру целого положительного числа K (цифры в числе...

Определить количество цифр целого положительного числа
Описать процедуру DigitCount(K,C), находящую C — количество цифр целого положительного числа K (K —...

6
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
22.11.2014, 00:22 2
eeppbbyy, выкладывай наработки, не стесняйся, а мы будем посмотреть
1
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 7
22.11.2014, 00:57  [ТС] 3
C++
1
2
3
4
5
6
7
8
9
10
11
int n;
   
    
        for(;;)
    {
        n = getch();                                    
    if(условие)
        cout<<"Ошибка. Введите число";
    else
        return n;
        }
Если я не ошибаюсь, должно быть что-то типо этого, просто о функции getch() теории много, только вот как его применять я не могу понять

Добавлено через 4 минуты
Цикл For(;, может лучше while использовать?

Добавлено через 7 минут
Может в условии использовать функцию isdigit&
0
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
22.11.2014, 01:02 4
Лучший ответ Сообщение было отмечено eeppbbyy как решение

Решение

eeppbbyy,
C++
1
2
3
4
5
6
7
8
int n;
while(true)
{
    n = getch();
    n = n - '0';
    if (n < 0 || n > 9) cout << "Ошибка! Введите число!" << endl;
    else return n;
}
1
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 7
22.11.2014, 01:09  [ТС] 5
Спасибо огромное

Только у меня вопрос

n = n - '0'; - для чего эта строчка?

Еще раз большое спасибо, дальше надеюсь разберусь)
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
22.11.2014, 01:30 6
Лучший ответ Сообщение было отмечено eeppbbyy как решение

Решение

Тогда уж так:
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
#include <conio.h>
#include <cctype>
#include <cstdlib>
#include <iostream>
#include <string>
 
int getNumber()
{
    std::string result;
    char c;
    do
    {
        c = _getch();
        if (isdigit(c))
        {
            std::cout << c;
            result.push_back(c);
        }
    } while (c != 13 || result.empty()); // enter символ
 
    return std::atoi(result.c_str());
}
 
int main()
{
    std::cout << std::endl << getNumber() + 2;
}
1
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 7
22.11.2014, 17:14  [ТС] 7
Ребят, спасибо) Кое-то не понятно, но разберусь) Осталось решить одну проблему, редактирование числа с помощью клавиши Backspace
0
22.11.2014, 17:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2014, 17:14
Помогаю со студенческими работами здесь

Найти все делители целого положительного числа
Найти все делители целого положительного числа

Функция находящая сумму цифр целого положительного числа
Опишите функцию DigitSum(K)DigitSum(K), находящую сумму цифр целого положительного числа KK (KK —...

Найти количество C цифр целого положительного числа K, а также их сумму S
Описать функцию DigitCountSum(K, C, S), находящую количество C цифр целого положительного числа K,...

Вывести на экран все нечетные цифры целого положительного числа
Помогите решить задачу пожалуйста&quot; Вывести на экран все нечетные цифры целого положительного числа&quot;


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru