|
1 / 3 / 0
Регистрация: 26.09.2015
Сообщений: 275
|
||||||||||||||
Объяснить почему программа уходит в бесконечный цикл (связные списки)27.12.2015, 16:19. Показов 1206. Ответов 12
Метки нет (Все метки)
Всем привет.
Собрал связанный список, он работает, но при вводе типа char, программа уходит в бесконечный цикл. Без данного типа данных, функционирует нормально. Вот основной код:
Код взят с книги Джесс Либерти, но я его немого изменил и подстроил под себя. Весь синтаксис данного кода понимаю на уровне книги. Заранее большое спасибо за понимание и помощь.
Добавлено через 1 час 30 минут краткое описание данного кода. код должен принимать данные о весе и цене продукта, а также название продукта. после завершения вписывание названий и характеристик продукта, программа должна вывести на экран список продукта по убыванию. пример. мясо вес 30 цена 400. проблемма именно с водом имени. когда я в данные вожу тип переменной char, то программа начинает глючить. после вода веса и цены, программа отображает бесконечное количество раз, прозбу вода веса
0
|
||||||||||||||
| 27.12.2015, 16:19 | |
|
Ответы с готовыми решениями:
12
Объяснить почему при заполнении матрицы программа уходит в бесконечный цикл
Почему цикл на при 1 уходит в бесконечный цикл? |
|
337 / 185 / 80
Регистрация: 22.08.2013
Сообщений: 724
|
||||
| 27.12.2015, 21:29 | ||||
|
0
|
||||
|
Модератор
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
|
|
| 27.12.2015, 21:33 | |
|
1
|
|
|
1 / 3 / 0
Регистрация: 26.09.2015
Сообщений: 275
|
|
| 27.12.2015, 22:27 [ТС] | |
|
да именно здесь, а get использую как ограничение символов.
Добавлено через 38 минут почему именно cin.get(name, 39); происходит ошибка?
0
|
|
|
337 / 185 / 80
Регистрация: 22.08.2013
Сообщений: 724
|
|||||||
| 27.12.2015, 22:46 | |||||||
И не нужно в cin.get() писать 39, пиши 40, функция сама будет читать на один символ меньше от 40.
0
|
|||||||
|
1 / 3 / 0
Регистрация: 26.09.2015
Сообщений: 275
|
|
| 27.12.2015, 22:51 [ТС] | |
|
спасибо этот код char name[40]; cin.get(name,38);
сделать так (cin>>name).get(); если не сложно можешь обяснить почему мой вариант не сработал. я свой код взял с книги. я хочу понять суть моей ошибки и в чем ошибка была Добавлено через 2 минуты и как в таком коде вести ограничения на вод символов
0
|
|
|
337 / 185 / 80
Регистрация: 22.08.2013
Сообщений: 724
|
||||||
| 27.12.2015, 23:15 | ||||||
|
Добавлено через 1 минуту Добавлено через 3 минуты Ты пишешь непонятно что. На вопрос ответь:
0
|
||||||
|
1 / 3 / 0
Регистрация: 26.09.2015
Сообщений: 275
|
|
| 28.12.2015, 00:05 [ТС] | |
|
ограничить количество символов при воде cin>>name;
к примеру если массив name[40]; то мы же должны ограничить вод не больше 39 символов. я в книге джесса либерти используется такой код. cin.(name,39); где 39 это ограничение Добавлено через 27 минут nord_v, То есть, в последнем вводе (который делается через cin >>) перед cin.get(name, 40), нужно так сделать (убрать '\n' из потока ввода). я весь код переискал и не нашел '\n' у себя, где у меня нужно убрать этот символ Добавлено через 12 минут если можно, посоветуй одну книгу где все мельчайшие детали С++ будут расписанны и разжеваны по полочкам. желательно и с STL. Я изучаю по книге Джесса Либерти. програмирование за 21. учу около 4 месяцев и только до главы 13 день дошел. я не ставлю цель выучить програмирование за один день и готов этому посвятить столько времени сколько понадобиться. буду рад, если даш полноценную книгу, которая полностью будет описана на понятном языке как у джеса либерти и охватит все нюансы. П.С. цель: Научиться писать мини инди игры на с++, для операционной системы андроид или мобильного виндовс. чтобы через год или максимум два года смог написать простые игры. примерные игры это pac man или змейка. не просто скопировать код, а полное глубокое понимание кода с ее деталями
0
|
|
|
337 / 185 / 80
Регистрация: 22.08.2013
Сообщений: 724
|
|||
| 28.12.2015, 00:22 | |||
|
Вот такая конструкция, убирает '\n' из очереди ввода, перед работой cin.get(name, 40):
0
|
|||
|
1 / 3 / 0
Регистрация: 26.09.2015
Сообщений: 275
|
|
| 28.12.2015, 00:31 [ТС] | |
|
nord_v,
большое спасибо за помощь. теперь все заработало. реально спасибо. ты потратил свое ценное время, на обучение меня, хотя мог посмотреть какой нибудь фильм. спасибо. посоветуй мне книгу какую нибудь. чтобы там все было подробно написанно и обяснянно. с++11 на руском я не нашел.
0
|
|
|
337 / 185 / 80
Регистрация: 22.08.2013
Сообщений: 724
|
|||
| 28.12.2015, 00:35 | |||
|
Есть популярные: Прата "Язык Программирования C++", Липман "Язык программирования С++. Вводный курс", Липман "Язык программирования C++. Базовый курс", Харви М. Дейтел, Пол Дж. Дейтел "Как программировать на C++" Список литературы есть здесь: Литература C++ Можешь в поиске по форму набрать: литература для начинающего (или что-то подобное) и почитать разные мнения на этот счёт.
0
|
|||
|
1 / 3 / 0
Регистрация: 26.09.2015
Сообщений: 275
|
|
| 28.12.2015, 00:58 [ТС] | |
|
спасибо большое, а ты по какой книге сам учился? и если не секрет, то сколько времени потратил на обучение.
что нужно знать, чтобы писать мини игры на с++ для анодроид и мобильный виндовс. я сам предполагаю, что нужно знать с++, stl tнаверно opengl, может еще QT хотя даже понятия не имею что это qt есть ли книги где учат писать игры
0
|
|
|
337 / 185 / 80
Регистрация: 22.08.2013
Сообщений: 724
|
|||||
| 28.12.2015, 01:11 | |||||
|
Добавлено через 1 минуту Добавлено через 5 минут
0
|
|||||
| 28.12.2015, 01:11 | |
|
Помогаю со студенческими работами здесь
13
Метод Ньютона - программа уходит в бесконечный цикл
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|