Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
 Аватар для Mr.Fox
1 / 1 / 1
Регистрация: 27.03.2011
Сообщений: 53

что и зачем следует, а так же как работет

03.05.2011, 13:11. Показов 2150. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int askInteger()
{
        int ret = 0;
        char cnt = getch();
        while(cnt >= '0' && cnt <= '9')
        {
                ret *= 10;
                ret += cnt - '0';
                cout << cnt;
                cnt = getch();
        }
        cout << "   ";
        return ret;
};
Объясните пожалуйста что и зачем следует, а так же как работет..
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.05.2011, 13:11
Ответы с готовыми решениями:

сегодня наконец то понял что такое КЛАСС, и ОБЪЕКТ. понято всё, кроме одного - зачем всё это? в смысле, можно же без этого? так зачем жизнь усложнять?
сегодня наконец то понял что такое КЛАСС, и ОБЪЕКТ. понято всё, кроме одного - зачем всё это? в смысле, можно же без этого? так зачем жизнь...

Перестановка строк в двумерном массиве работает не так как следует
Ребят, всем привет, у меня такая проблема, не могу с ней справится. Дана целочисленная прямоугольная матрица. Определить количество...

Зачем нужна конвертация чисел в текст (TO_CHAR) и текст в число (TO_NUMBER). Так же зачем нужен оператор NULLIF?
Описывают как очень удобные функции, только я как видел то что было число 193, так оно и осталось 193, только СУБД эти числа видит как...

14
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
03.05.2011, 13:20
Это функция ввода с клавиатуры последовательности цифр и получение целого числа
Цитата Сообщение от Mr.Fox Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int askInteger()
{
        int ret = 0;                          
        char cnt = getch();                       // -- получить символ с клавиатуры
        while(cnt >= '0' && cnt <= '9')         // -- пока символ = цифра
        {
                ret *= 10;                            // -- то, что было в ret до этого - умножаем на 10  
                ret += cnt - '0';                    // -- добавляем полученную цифру
                cout << cnt;                        // -- выводим цифру - для проверки ?
                cnt = getch();                     // -- получаем следующую цифру
        }
        cout << "   ";                              // -- выводим пробелл
        return ret;                                  // -- возвращаем полученное число
};

Объясните пожалуйста что и зачем следует, а так же как работет..
Проверьте хотя бы на последовательности цифр 3412
1
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
03.05.2011, 13:20
Не знаю, что Вы хотели сделать, но это бред:
C++
1
2
int ret = 0;
ret *= 10;
2
 Аватар для kazak
3601 / 2742 / 355
Регистрация: 11.03.2009
Сообщений: 6,300
03.05.2011, 13:23
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int askInteger()
{
        int ret = 0;
        char cnt = getch(); // считали символ с клавиатуры
        while(cnt >= '0' && cnt <= '9') // пока считанный символ является цифрой
        {
                ret *= 10; // умножаем ret на 10
                ret += cnt - '0'; // прибавляем к ret число соответствующее цифре
                cout << cnt; // выводим считанный символ
                cnt = getch(); // считываем новый символ с клавиатуры
        }
        cout << "   "; // выводим пробел
        return ret; // возвращаем ret, который содержит число, соответствующее введенной строке
};
1
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
03.05.2011, 13:24
Нет. Это не бред. Подумайте как следует, и прикиньте для второй цифры...
0
 Аватар для kazak
3601 / 2742 / 355
Регистрация: 11.03.2009
Сообщений: 6,300
03.05.2011, 13:24
mimicria, это не бред
0
18 / 18 / 7
Регистрация: 07.11.2010
Сообщений: 136
03.05.2011, 13:24
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int askInteger() //функция которрая возвращает переменную типа инт
{
        int ret = 0; // создаем переменную типа инт и инициализируем нулём
        char cnt = getch(); //считываем символ с консоли ( getch()) и записываем в пеерменную цнт типа чар
        while(cnt >= '0' && cnt <= '9')//цикл пока цнт меньше равнои 9 и больше равно 0
        {
                ret *= 10;// умножаем переменную рет на 10 равносильно ret=ret*10
                ret += cnt - '0';// к переменной рет плюсуем разницу символов (cnt - '0')
                cout << cnt;//выводим на екран переменную цнт
                cnt = getch();// опят считываем с клавиатуры символ и записываем в цнт
        }
        cout << "   ";//выводим пробел на екра
        return ret;//возвращаем переменную рет
};
1
03.05.2011, 13:25

Не по теме:

однако, синхронность

0
 Аватар для Mr.Fox
1 / 1 / 1
Регистрация: 27.03.2011
Сообщений: 53
03.05.2011, 13:28  [ТС]
большое спасибо господа программисты за помощь
раскрою замысел: мне надо было осуществлять ввод чисел с клавиатуры в одну строку, т.е. число - enter и т.д., а по нажатию enter осуществляется переход на строку вниз, что мне и хотелось избежать. вот...
0
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
03.05.2011, 13:29
Цитата Сообщение от kazak Посмотреть сообщение
mimicria, это не бред
А по-моему бред, ибо:
C++
1
2
3
 int ret;
 cin >> ret;
 return ret;
0
 Аватар для kazak
3601 / 2742 / 355
Регистрация: 11.03.2009
Сообщений: 6,300
03.05.2011, 13:32
Цитата Сообщение от mimicria Посмотреть сообщение
А по-моему бред, ибо:
C++
1
2
3
 int ret;
 cin >> ret;
 return ret;
вы не внимательны, товарищ.
0
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
03.05.2011, 13:33
Не бред.
Задание такое.
0
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
03.05.2011, 13:35
Про работу со второй цифрой я понял. Вся программа бред =) Озвучьте задание дословно
0
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
03.05.2011, 13:39
Цитата Сообщение от mimicria Посмотреть сообщение
Про работу со второй цифрой я понял. Вся программа бред =) Озвучьте задание дословно
Это не к нам. Чел просил откомментить, мы откомментили. Чел все понял, его удовлетворило.
Еще раз: эта функция вводит с клавиатуры последовательность клавиш-цифр и выдает соответствующее целое число (без знака).
Кстати, почти что именно так реализован сам cin...
0
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
03.05.2011, 13:44
Цитата Сообщение от kazak Посмотреть сообщение
вы не внимательны, товарищ.
Точно! Более правильной реализацией будет:
C++
1
2
3
 unsigned int ret=0;
 cin >> ret;
 return ret;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.05.2011, 13:44
Помогаю со студенческими работами здесь

Как показать, что из первого утверждения следует второе?
Как показать, что из первого утверждения следует второе?

Как сделать так что я мог умножать не на два числа а на 3,4,5 и так далее?
Вот код: #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main(){ float a,c; char b; skip: ...

FLAC - что, как и зачем?
Расскажите кто нить поподробнее что это за формат FLAC. FLAC — это аббревиатура от Free Lossless Audio Codec (свободный аудио кодек...

Что в коде ни так? while не работает так, как ожидаю
Написанный код, как я думаю, должен выдавать цифры от 0 до 1000, столбиком. Но выдает начиная от 702 до 1000. Что ни так понимаю, где...

регистрация домена. что, как, зачем
подскажите с делегированием зоны... зарегистрировал домен VETER.IN whois публичный: на своей машине поднял primary dns ...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru