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

Получить число по введенным с клавиатуры цифрам - C++

Восстановить пароль Регистрация
 
wankstahamsta
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 45
12.02.2013, 19:44     Получить число по введенным с клавиатуры цифрам #1
Есть такая задачка:
Разработать программу, которая формирует число по введенным с клавиатуры цифрам, трактуемым как число сотен, десятков и единиц.

какими операторами пользоваться даже не знаю, вообще ничего.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2013, 19:44     Получить число по введенным с клавиатуры цифрам
Посмотрите здесь:

C++ Пользователь вводит с клавиатуры число, необходимо перевернуть его (число) и вывести на экран.
Как создать файл с именем введенным с клавиатуры. нужна помощь. C++
C++ Ввести число с клавиатуры, потом записать это число в текстовой файл
Напечатать таблицу умножения на заданное число (число вводится с клавиатуры) C++
По введенным с клавиатуры номеру месяца и дня определить, сколько дней осталось до Нового Года C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ya_noob
_
200 / 144 / 9
Регистрация: 08.10.2011
Сообщений: 432
12.02.2013, 19:51     Получить число по введенным с клавиатуры цифрам #2
C++
1
2
3
4
5
6
7
8
9
10
11
char d;
int result = 0;
 
cin >> d; // вводим сотни
result = result * 10 + ( d - '0' );
 
cin >> d; // вводим десятки
result = result * 10 + ( d - '0' );
 
cin >> d; // вводим единицы
result = result * 10 + ( d - '0' );
принцип ясен?
wankstahamsta
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 45
12.02.2013, 20:04  [ТС]     Получить число по введенным с клавиатуры цифрам #3
Не ясен.
почему result вместо переменных, это моя первая программа, нельзя ли сделать как-нибудь попроще?
Что означает оператор char?
ya_noob
_
200 / 144 / 9
Регистрация: 08.10.2011
Сообщений: 432
13.02.2013, 07:02     Получить число по введенным с клавиатуры цифрам #4
Цитата Сообщение от wankstahamsta Посмотреть сообщение
почему result вместо переменных... Что означает оператор char?
Ого, это серьезно!
Ну тогда так:
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
#include <iostream>
using namespace std;
 
int main()
{
    int result = 0;
    int x;
 
    cout << "Vvedi kol-vo soten: ";
    cin >> x;
    result = x * 100;
 
    cout << "Vvedi kol-vo desyatkov: ";
    cin >> x;
    result = result + x * 10;
 
    cout << "Vvedi kol-vo edinic: ";
    cin >> x;
    result = result + x;
 
    cout << "Ty vvel chislo: " << result << endl;
 
    return 0;
}
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
13.02.2013, 08:45     Получить число по введенным с клавиатуры цифрам #5
Цитата Сообщение от wankstahamsta Посмотреть сообщение
Не ясен.
почему result вместо переменных, это моя первая программа, нельзя ли сделать как-нибудь попроще?
Что означает оператор char?
char это не оператор а инициализируемый тип данных. Компилятор выделит определенное количество памяти для данной переменной/массива. Если не ошибаюсь, хранит в себе последовательность байтов, которые при выводе определяются компилятором как символы. переменная/ячейка типа char, может хранить в себе лишь 1 символ
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5547 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
13.02.2013, 09:49     Получить число по введенным с клавиатуры цифрам #6
Цитата Сообщение от MrGrig Посмотреть сообщение
char это не оператор а инициализируемый тип данных.
Ну если подойти философски, то char это все же в первую очередь оператор, организующий память в структуру (для char - 1 байт), которая должна будет в дальнейшем всеми механизмами программы интерпретироваться как символ.
Или даже не так. char - это тип данных, а char ch; это оператор над ch.
iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
13.02.2013, 09:51     Получить число по введенным с клавиатуры цифрам #7
SatanaXIII, что за глупости. Ваш ход мыслей понятен, но такое понимание мало того, что ничем не полезно для программиста, так и совсем не согласуется с каноническими определениями в Си.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5547 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
13.02.2013, 10:06     Получить число по введенным с клавиатуры цифрам #8
iama, я соглашусь, что начинающему программисту лучше прочитать в толковой книжке что такое тип данных, а не получать эти знания, прошедшие через интерпретатор моей больной головы.
Но отстаивая порожденные мной глупости скажу, что оператор это ведь наименьшая неделимая часть языка. Так? Какую-либо функцию можно расковырять и понять из чего, из каких операторов она состоит, оператор расковырять не получится. По крайней мере уже не средствами языка. Так вот команду, слово (не знаю, какой-нибудь синоним надо подобрать) для выделения памяти под статическую переменную нельзя назвать оператором? Это можно еще проще как-то представить?
Есть вот совсем канонический оператор присваивания. Он так и называется "оператор присваивания". А в данном контексте по такой аналогии слово "char" можно рассмотреть как "оператор отождествления куска памяти со своим конкретным символьным именем".
P.S. Не кидайтесь в меня тапками, я просто рассуждаю.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
14.02.2013, 14:00     Получить число по введенным с клавиатуры цифрам #9
SatanaXIII, вы путаете два понятия: оператор (операция, operation) и инструкция (statement). Оператор присваивания - это operation. Объявление переменной в общем виде - statement. Хотя объявление в С/С++ обычно выделяют в отдельную единицы. Но только всё объявление можно назвать statement, нельзя сказать, что char (type) - это operation над идентификатором. Не стоит рассуждать о терминологии, о ней уже порассуждали куча наших переводчиков, в результате чего два совершенно разных английских слова - statement и operation - стали называть одним русским - оператор.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.02.2013, 16:49     Получить число по введенным с клавиатуры цифрам
Еще ссылки по теме:

Пользователь вводит с клавиатуры число, необходимо перевернуть его (число) и вывести на экран C++
C++ Задача на обработку символьных данных (сравнить строку введенным с клавиатуры, и вывести результат сравнение
Пользователь вводит с клавиатуры две границы диапазона и число. Проверить, попадает ли число в диапазон C++

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

Или воспользуйтесь поиском по форуму:
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5547 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
14.02.2013, 16:49     Получить число по введенным с клавиатуры цифрам #10
silent_1991, ага! А вот без попытки таких дурацких рассуждений еще бы не скоро я пришел к осознанию разницы. Слава изобретателям велосипедов!
Вот нашел поподробнее почитать. Может кого заинтересует
Слово "statement" принято переводить на русский язык как "оператор". Мы привыкли к тому, что if, while, case и т. д. - это операторы. Увы, в контексте C++ такой перевод неприемлем. Дело в том, что в C++ слово "operator" (которое и переведено как "оператор") имеет совсем другое значение. Оно применяется для обозначения сложения (оператор +), разыменования (оператор *), выяснения размера (оператор sizeof()) и в других подобных случаях. С учетом того, что большинство операторов C++ допускает перегрузку, синтаксически и семантически напоминающую (пере)определение функций, можно сказать, что операторы в C++ сродни функциям. Кстати, автор употребляет также и термин "operation" (так и переведенный: "операция"), который в C++ не имеет какого-то специального смысла и в большинстве случаев может рассматриваться или как синоним слова "оператор", или как обозначение какого-то действия. Что же касается термина "statement", то из предлагаемых различными словарями вариантов "утверждение", "предложение" и "инструкция" мы избрали последний, так как он, по-видимому, лучше всего соответствует сущности обозначаемых словом "statement" конструкций C++ и, кроме того, периодически встречается в книгах и документации в нужном значении. Итак, if, while, case,... - это инструкции, а +, -, sizeof - операторы. В частности, = - это оператор присваивания, семантику которого можно изменить путем перегрузки, а вот запись а = 6; является инструкцией присваивания, семантика которой неизменна, фиксирована языком и состоит в вызове (возможно перегруженного) оператора присваивания с аргументами.

Не по теме:

Нашел еще для сравнения описание этих же терминов для Явы и для Ады. В принципе все тоже самое. Во всех языках проблема с путаницей в переводе этих терминов. И во всех языках, они обладают одинаковыми значениями.

Yandex
Объявления
14.02.2013, 16:49     Получить число по введенным с клавиатуры цифрам
Ответ Создать тему
Опции темы

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