Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2017, 22:07   #21
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Сколько раз ты нажал?
Увидев чёрные экран (без информации), ты нажал несколько раз...

Один раз нажимаешь - желтая стрелка появляется (желтая стрелка наполняемости кода).

1.jpg

так программа ещё не дошла до "вывод на экран". Понимаешь - остановить выполнения программы (в любой её точке) и посмотреть на значения переменных.
Это начало ОТЛАТКИ. Отладка - это поиск логических ошибок, при этом (в VisuaL STUDIA) можно останавливать программу в любом месте простая точка останова);
есть возможность останавливать по условию (каких-то переменных); выполнять программу по-шагам (анализируя переменные на каждом шаге); просмотр стека вызова функций....

Но тебе из всего этого нужно будет только простая точка останова.

p.s.: если точка останова уже не нужна, то её можно удалить:

0.jpg

Ну поставь сюда

103.jpg


Главное - после формирования всего списка!

Последний раз редактировалось ura_111; 30.03.2017 в 23:05.
ura_111 вне форума Ответить с цитированием
Старый 30.03.2017, 22:13   #22
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Ты уже понял, чтобы продолжить выполнения программы (например, для следующей точки останова - их можно ставить несколько штук), то надо нажать "ПРОДОЛЖИТЬ":

0.jpg
ura_111 вне форума Ответить с цитированием
Старый 30.03.2017, 22:19   #23
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Хотя нет.
Когда я говорю: "останови программу после формировании списка", то это означает СРАЗУ, ПОСЛЕ ФОРМИРОВАНИИ.
Т.к. дальше в коде (в выводе на экран) ты можешь ошибиться и повлиять на переменную "head"....

Останавливай программу как в первый раз говорил.
ura_111 вне форума Ответить с цитированием
Старый 30.03.2017, 23:14   #24
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

И ещё одно, у тебя после ввода "...Jenya Sidorov" нужно:
Код:
h->next = NULL;
(как на скрине в следующем, в "... Volkov".
Правда, я не вижу что там выше по коду, но надо тоже самое: после ввода имени - "h->next = NULL;").
ura_111 вне форума Ответить с цитированием
Старый 30.03.2017, 23:53   #25
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

А где у тебя:
Код:
cin.get(); // что бы консоль не закрывалаьс.
это когда есть меню, тогда его не надо, а когда меню в программе нет - то надо.
ura_111 вне форума Ответить с цитированием
Старый 02.04.2017, 15:25   #26
pocheto
Пользователь
 
Регистрация: 30.11.2016
Сообщений: 23
Радость

Извиняюсь за долгий ответ, вот сделал как ты и просил.
Изображения
Тип файла: jpg 66.jpg (99.6 Кб, 153 просмотров)
pocheto вне форума Ответить с цитированием
Старый 02.04.2017, 15:57   #27
pocheto
Пользователь
 
Регистрация: 30.11.2016
Сообщений: 23
По умолчанию

Я так честно говоря пока и не понял, как мне меню со списком связать?
pocheto вне форума Ответить с цитированием
Старый 02.04.2017, 17:34   #28
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Что это за информация?

В ней же ничего не понятно...
И анализировать тоже не возможно...

А раскрыть, а разрисовать.

p.s.: нажимай на "белый, левый треугольничек head" (присматривать, на фотке видно). Особо меня интересует "next" в этом "head".
Разрисуй (в Paint) всё, чтобы было понятно.

___________________________________ _________________

В смысле, ты не понял меню?

Что в меню есть, то и должна делать программа. Например, выберешь п.меню просмотр, и на экране появится таблица из данных списка;
а выберешь "создания нового узла" - то и создаться новый узел в списке и попросит заполнить данными с консоли...
А сам список хранится в памяти компьютера...

Покамисть ты ни один пункт меню не реализовал, поэтому и меню не работает...

Последний раз редактировалось ura_111; 02.04.2017 в 18:02.
ura_111 вне форума Ответить с цитированием
Старый 02.04.2017, 21:26   #29
pocheto
Пользователь
 
Регистрация: 30.11.2016
Сообщений: 23
По умолчанию

вот
Изображения
Тип файла: png 99.png (17.8 Кб, 130 просмотров)
pocheto вне форума Ответить с цитированием
Старый 03.04.2017, 02:34   #30
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Уже кое что, можно анализировать.
Правда я думал, что ты мне нарисуешь что-то вроде такого:

Вложение 87256

где чёрный квадрат - экземпляр структуры со значениями (у тебя не числа, а текстовые данные), а чёрная стрелка - это эквивалент "твоего перехода между экземплярами".
Ну ладно, пусть дальнейшем будет в таком виде (в принципе тоже понятно).

Единственное, обрати внимание я дошёл до "NULL" и всё. А то, что у тебя дальше - это неопределённое значение и если попытаться считать информацию с тех красных запретительных знаков - то сама программа аварийно завершиться. Например, у тебя в программе идёт реагирования на "NULL" (хотя бы при передвижении по списку на вывод):

0 (2).jpg

видишь, дальше не пойдёт - своеобразная защита...
А когда же список пустой, тогда "head=NULL".

Переделай свой скрин только до "NULL" и перезалей сюда...

___________________________________ ______________________________
___________________________________ ______________________________

Видно, что последовательность здоровая, - а значит все условия её формирования выполнены. Приведу примеры когда что-то пошло не то:

3.jpg

ошибка ссылки и ошибка данных, - это единственные ошибки в списках.

___________________________________ ______________________________
___________________________________ ______________________________

Нужны эксперименты (много экспериментов и ответов на вопросы) чтобы можно было переходить к п.меню "Добавить узел" (дело в том, что это самое легкое в твоей задачи). После этого пункта логичней сделать вывод не экран всего списка (чтобы пользователь мог убедиться, что нормально добавляет в список).
___________________________________ ______________________________
___________________________________ ______________________________

1) Итак, для начала покажи, что происходит с "head" в динамике:

1.jpg

(когда будешь собирать информацию, обращай внимание на "жёлтую стрелку выполнимости программы").
Покажи, что происходит с "head" в каждой точке останова.

2) Второй момент, надо узнать что делает каждая строчка (поставь точки останова на каждой строчке и, нажимая ПРОДОЛЖИТЬ, собери информацию о переменных, участвующих в строчках: до и после каждой строчки):
Код:
	h = new accounting;
	h->surname = "pppp"; 
	h->next = NULL;
	temp->next = h;
	temp = h;//переход по списку
Поверь я делал бы это тоже самое;
разве что, может быть, у меня получилось бы быстрей,
ну, но а ты зачем?

3) Я попытался ввести данные (простое слово) с консоли, но мне ошибку вывело:

4.jpg

я использовал твой метод (если я его, конечно, правильно понял)...

Так дело не пойдёт - у тебя целая куча слов которые нужно будет вводить с консоли (фамилия, страна....), а я не могу ввести даже одного слова.

Покажи, как ввести слово.

Надо разобраться с этим. В интернете поищи как в С++ ввести слово (строку).
p.s.: не переживай, это не сложно - в каждой второй программе используются слова, поэтому и найти будет не сложно. Поищи примеры и сделай, чтобы работало...

Покажи скрин на фоне кода.

___________________________________ ___________________________
___________________________________ ____________________________

Пока всё.

Последний раз редактировалось ura_111; 03.04.2017 в 02:49.
ura_111 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Структуры данных на С. art1es23 Общие вопросы C/C++ 3 05.11.2015 14:42
Динамические структуры данных, списковые структуры (надо разобраться что делает программа) _4Alex4_ Помощь студентам 1 14.11.2012 07:39
Структуры данных LimPIK49 Паскаль, Turbo Pascal, PascalABC.NET 6 17.03.2012 00:07
Структуры данных alex-soft Паскаль, Turbo Pascal, PascalABC.NET 0 17.01.2012 19:10
Структуры данных Shadow94 Общие вопросы C/C++ 8 22.04.2011 11:50