2 / 1 / 0
Регистрация: 01.12.2011
Сообщений: 45
|
||||||
1 | ||||||
Учусь умножать03.08.2013, 17:07. Показов 2198. Ответов 36
Метки нет (Все метки)
Здравствуйте, дорогие обитатели CyberForum
Есть небольшая просьба, прошу подтолкнуть меня к правильному решению задачи. Изначально мне нужно было написать программу, которая считывает с клавиатуры имя и возраст, и потом их выводит на экран, но после выполнения этого задания возникло новое, тяжело дающееся мне задание: Нужно вводить возраст в годах и выводить его в месяцах. Нужного материала для решения этой задачи я не смог найти, поэтому обращаюсь к знающим: Помогите, пожалуйста Еще мне интересно, почему возраст выводится не в скобках, как я пытался сделать. Если кто поймет в ходе просмотра кода, укажите на мою ошибку, пожалуйста.
0
|
03.08.2013, 17:07 | |
Ответы с готовыми решениями:
36
Учусь ли я? Учусь c ++ Создать независимую функцию, которая будет умножать две матрицы Написать функцию которая будет умножать любую строку на уже заданную матрицу |
Discoverer
|
03.08.2013, 17:41
Учусь умножать
#21
|
Не по теме: Вот меня умиляют эти трогательные советы насчет "попроще". Автор спрашивал кого-нибудь об этом?
0
|
Даниил
|
03.08.2013, 17:41
#22
|
Не по теме: На будущее, чтоб писать чей-то ник не нужно вручную всё делать, просто нажимаете по нику и всё :)
0
|
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,235
|
|
03.08.2013, 17:45 | 23 |
Учение и бой, это физические упражнения, тут это закономерно, программирование это уже работа головой, и тут главное понять, и чем проще, тем лучше, потому что если ты что то не так понимаешь, то это потом может печально закончиться, а если у тебя возникают такие вопросы:
то ты явно много понимаешь не так, причем на столько элементарные вещи.
0
|
2 / 1 / 0
Регистрация: 01.12.2011
Сообщений: 45
|
|
03.08.2013, 18:06 [ТС] | 24 |
Спасибо, Даниил, теперь буду кликать по нику
VLK, не нужно на меня давить, пожалуйста. Я хочу попробовать свои силы именно с этой книжкой, ибо мне она понравилась. Приятный автор Обещаю, если я почувствую, что эта книга, которую Страуструп написал именно для новичков, покажется мне сложной, то я обращусь к Вам за более легкой литературой по программированию, либо полезу в поисковик, если у Вас не будет на меня времени/желания А на счет понимания, часто само понимание приходит во время выполнения/попытки выполнить чего-либо. Никому зла не желаю, поэтому без обид, пожалуйста.
0
|
15 / 15 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
|
||||||
03.08.2013, 18:37 | 25 | |||||
Полчаса думал над строкой
Так ли я понимаю, что он образуют некую последовательность? Ведь это наверно так можно и нужно понимать. Тогда как происходит ввод std::cin >> name; Как машина определяет, какая буква куда попадет, и главное, как выходит, что при выводе буквы выводятся не кучей, а в той же последовательности? Добавлено через 11 минут Скомпилировал. При попытке выполнить вместо вменяемых слов, символы, весьма напаминающие кирилицу 16 века...
0
|
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,235
|
|
03.08.2013, 18:42 | 26 |
char - это значит что тип данных символы
name[100] - это значит массив из 100 элементов char name[100] - массив символов из 100 элементов, если опустить что цифры, плюсы и минусы тоже являются символами, и мы будем вводить только буквы, то это массив из 100 букв [100] - начинается этот массив с 0 и заканчивается 99, т.е. name[0] - name[99] std::cin >> name; каждая введенная буква будет записываться в массив, т.е. если ты введешь - Batonov, то name[0] - B name[1] - a name[2] - t name[3] - o name[4] - n name[5] - o name[6] - v Все остальные элементы ([7] - [99]) заполнятся пустотой (или пробелами, я уже точно не помню) если при вводе ты введешь больше 100 элементов, то 101, 102 и т.д. символы будут проигнорированы Что бы вывести определенной элемент массива, надо написать std::cout << name[5]; что бы вывести весь массив, соответственно: std::cout << name; Добавлено через 2 минуты Вводить надо латинские буквы, до кириллицы еще рано.
1
|
15 / 15 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
|
|
03.08.2013, 18:45 | 27 |
СПАСИБО!!!!!!!!!!!!!!!!!!!!!
0
|
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,235
|
|
03.08.2013, 18:54 | 28 |
Кстати программа работает довольно интересно если попробовать ввести по мимо имени еще и фамилию, например Batonov Anton
Добавлено через 7 минут Да, наверное даже сейчас создам отдельную тему, почему так, самому стало интересно
0
|
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,235
|
|
03.08.2013, 19:01 | 30 |
Хотя нет, у меня косяк в коде
std::cout << "Имя: " << name << " возраст: " << age << " месяцев \n";
0
|
03.08.2013, 19:03 | 31 |
>> читает до пробельного символа. Используйте istream::getline
0
|
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,235
|
|
03.08.2013, 19:11 | 32 |
точно? (это вопрос), а в каком случае будет игнорироваться?
на сколько я помню если писать name[101] вот тогда действительно будет выходить, и если выводить, std::cout << name[101] тоже будет выводить значения из других ячеек памяти, за пределами программы. Добавлено через 1 минуту Хотя да, дейвительно, будет выходить за придел массива Добавлено через 3 минуты И насчет мусора верно. Добавлено через 1 минуту не, у меня был косяк в программе за место возраста имя выводило, а за место имени возраст, и я минут 5 не мог найти ошибку, жесть.. свои ошибки тяжело увидеть. Ну в смысле в этом заключалась интересность работы программы.
1
|
03.08.2013, 19:11 | 33 | |||||
Можно явно указать длину вводимой строки, с помощью setw:
2
|
15 / 15 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
|
|
03.08.2013, 19:24 | 34 |
А прикиньте, что в исходном варианте при вводе пробела возникает вобще тупо глюк!! Вот
0
|
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,235
|
|
03.08.2013, 19:25 | 35 |
хотя не знаю что у тебя за ошибки, ладно, мне пора..
0
|
Schizorb
|
03.08.2013, 19:27
#36
|
0
|
15 / 15 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
|
|
03.08.2013, 20:09 | 37 |
Как имено это происходит. Прога дальше не ждет ввода возраста, а исполняет все дальше без паузы, выдавая то самое. Как-то так.
Добавлено через 32 секунды Ну, да. Добавлено через 38 минут Простите, а как это все работает? И что это std::setw(size)?
0
|
03.08.2013, 20:09 | |
03.08.2013, 20:09 | |
Помогаю со студенческими работами здесь
37
Шаблон класса массив, который будет выводить матрицы, а также складывать/вычитать/умножать Учусь программированию на языке с++ самостоятельно Перегрузка операторов. Учусь. Ошибка учусь разбирать чужой код Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |