Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
15 / 14 / 10
Регистрация: 22.03.2010
Сообщений: 695
1

Преобразование в число

22.06.2011, 19:18. Показов 945. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите как решить данную задачу ?

Преобразование в число


Вот эа программа у меня не работает вообще, хотя должна быть идеально решеной.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
#include <conio.h>
int main()
    {
    char ch;
    unsigned long total =0;      
    cout <<"\nВведите число:";
    while((ch=getche())!='\r ' ))
    total =total*10 +ch-'0';     
    cout <<"\nПолучилось число:" <<total <<endl;
    return 0;
    }
 Комментарий модератора 
Прикрепляйте картинки к сообщениям.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.06.2011, 19:18
Ответы с готовыми решениями:

Преобразование даты число/число в Число/Текст
Подскажите пожалуйста массив может содержать два типа даты день/месяц(число/число) или...

Преобразование в число
Здравствуйте! Новичок в программирование, подскажите как обработать посылку с дальнейшем...

Преобразование строки в число
НТовары.Нетто = Число(СокрЛП(Нетто)); не пойму почему не работает при условиях когда число...

Преобразование текста в число
Всем доброго дня! Имеется вот такие вычисляемые поля в запросе: Цена со скидкой: IIf(=Ложь;&quot;...

8
программист С++
860 / 600 / 147
Регистрация: 19.12.2010
Сообщений: 2,014
22.06.2011, 19:32 2
Цитата Сообщение от parkito Посмотреть сообщение
'\r '
можкт быть?
C++
1
'\n'
0
101 / 88 / 7
Регистрация: 17.12.2010
Сообщений: 416
22.06.2011, 20:00 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
#include <conio.h>
int main()
    {
    char ch;
    unsigned long total =0;
    cout <<"\nВведите число:";
     while(
            (ch=getche() )!=13
          )
   {
        total *= 10;
        total += ch - '0';
 
    }
 
    cout <<"\nПолучилось число:" <<total <<endl;
    return 0;
    }

Не по теме:

правда, можно ли мешать в одной программе getche() и std::cout?

у меня работает даже если проверять с '\r'. а 0x0D - это код символа возврата каретки.

походу ТС просто напутал со скобками =))

0
Эксперт С++
3071 / 1409 / 425
Регистрация: 19.01.2009
Сообщений: 3,880
23.06.2011, 13:20 4
Цитата Сообщение от no0ker Посмотреть сообщение
правда, можно ли мешать в одной программе getche() и std::cout?
no0ker,
Syntax
#include <conio.h>
int getche(void);

Description
Gets character from the keyboard, echoes to screen.
getche reads a single character from the keyboard and echoes it to the current text window using direct video or BIOS.

Note: Do not use this function for Win32s or Win32 GUI applications.

Return Value

getche returns the character read from the keyboard.
Добавлено через 6 минут
Кстати, нет защиты "от дурака". Что если пользователь введет, например, символ 'Ё' или любой другой не входящий в ['0';'9'] ?
0
101 / 88 / 7
Регистрация: 17.12.2010
Сообщений: 416
23.06.2011, 20:14 5
Кстати, нет защиты "от дурака"
эээ... думал вот этого достаточно =)
C++
1
cout <<"\nВведите число:";

Не по теме:

инструкции ведь достаточно четкие(ну прямо как в том фильме - "не давать еды после полуночи и не мочить")

0
silent_1991
23.06.2011, 20:18
  #6

Не по теме:

no0ker, это не защита от дурака, это инструкции умному))) Дурак как раз-таки не следует инструкциям))

1
101 / 88 / 7
Регистрация: 17.12.2010
Сообщений: 416
23.06.2011, 20:20 7
Note: Do not use this function for Win32s or Win32 GUI applications.
правильно ли я понимаю - что нельзя использовать getche() в win3.1 и 3.11, и в оконных приложениях windows( и действительно, как там её использовать? =) )
а при чем тут std::cout<<?
0
Эксперт С++
3071 / 1409 / 425
Регистрация: 19.01.2009
Сообщений: 3,880
23.06.2011, 21:19 8
Цитата Сообщение от no0ker Посмотреть сообщение
правильно ли я понимаю - что нельзя использовать getche() в win3.1 и 3.11, и в оконных приложениях windows( и действительно, как там её использовать? =) )
под Win32s понимается все 32-х битные версии венды.
0
101 / 88 / 7
Регистрация: 17.12.2010
Сообщений: 416
24.06.2011, 16:08 9
schdub, не понял. у меня вин хр. функцию getche() нельзя использовать? у меня всё работает и компилируется.
0
24.06.2011, 16:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.06.2011, 16:08
Помогаю со студенческими работами здесь

Преобразование строки в число
Здравствуйте. Преобразовываю строку в число с помощью функции atoi(), но есть одна проблема: ...

Преобразование к типу Число
Здравствуйте, подскажите пожалуйста, как можно исправить ошибку ...

Преобразование varchar в число
while($t = mysql_fetch_array($)) { ...... $t=$t; тип поля ar в таблице-varchar Подскажите...

Преобразование текста в число
Приветствую. Есть текст, который представляет собой шестнадцатеричное число. Возможно ли его...

Преобразование к типу число
Делаю запрос на выборку количества материалов и сырья из табличных частей. Пытаюсь перемножить...

преобразование из строки в число
как преобразовать из строки в число? если такое было то ткните в тему. в моём случае надо...


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

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