Создание списковых структур данных
Цель работы: Написать программу формирования и печати двусвязного списка Ваших друзей с указанием их телефонов и адресов. Признаком окончания списка является нулевое значение номера телефона. Распечатать список в обратном порядке (печать с конца списка до его начала).
Блок-схема
Листинг программы:
#include <stdio. h>
#include <stdlib. h>
#include <conio. h>
#include <string. h>
#include <iostream>
#include <windows. h>
Using namespace std;
/* Определение структурного типа "звено двусвязного списка"*/
Struct tn{
Char name [20];
Char address[30];
Int telephone;
Struct tn *pc1; /* указатель на предшествующее звено */
Struct tn *pc2; /* указатель на следующее звено */
};
Int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
Int i;
/* Указатель для перебора звеньев списка: */
Struct tn *rex;
Struct tn *beg=NULL; /* Начало списка */
Struct tn *end=NULL; /* Конец списка */
Cout " "Введите данные о друзьях через Enter.""endl;
Cout " "Список не формируется, если телефон = 0.""endl;
Cout " "Для указания адреса вместо пробела используйте _ .""endl;
Cout " "Чтобы закончить формирование списка, укажите телефон 0.""endl;
Printf(" Введите данные: ");
/* Цикл ввода и формирования списка */
Do
{
/* Выделить память для очередного звена списка: */
Rex=(tn*)malloc(sizeof(tn));
/* Ввести значения элементов звена: */
Printf("Имя: ");
Scanf("%s",&;rex->name);
Printf("Адрес: ");
Scanf("%s",&;rex->address);
Printf("Телефон: ");
Scanf("%d",&;rex->telephone);
If(rex->telephone==0)
{
Free(rex);
Break; /* Выход из цикла ввода списка */
}
If(beg==NULL &;&; end==NULL)
/* Список пуст - включить введенный элемент в список первым*/
{
Beg=rex;
Beg->pc1=NULL; /* указатель на предшествующее звено для первого элемента списка равен NULL */
}
Else /* Включить звено в уже существующий список */
{
End->pc2=rex; /*Бывший последний ссылается на включенное звено */
Rex->pc1=end; /*Включенное звено ссылается на предшествующий элемент */
}
End=rex; /*Включенное звено стало последним*/
End->pc2=NULL;
}while(1); Конец ввода списка */
/* Напечатать список */
Printf(" Введенные данные:");
Cout"endl;
Rex=end;
While(rex!=NULL)
{
Cout""Имя: ""rex->name"" Адрес: ""rex->address""Телефон:""rex->telephone"endl;
Rex=rex->pc2;
}
Rex=beg;
Cout""Имя: ""rex->name"" Адрес: ""rex->address"" Телефон: ""rex->telephone"endl;
Cin"i;
Return 0;
}
Пример выполнения программы:
Вывод: было предложено. Написать программу формирования и печати двусвязного списка Ваших друзей с указанием их телефонов и адресов. Признаком окончания списка является нулевое значение номера телефона. Распечатать список в обратном порядке (печать с конца списка до его начала). программа листинг двусвязный
Данную задачу выполнили, реализовав программу на языке С/С++, также предоставили алгоритм решения задачи в виде блок-схемы и листинг самой программы. Данная работа помогла приобрести навыки, связанные с использованием односвязных списков в программировании на ЯВУ.
Похожие статьи
-
ОПИСАНИЕ ПРОГРАММЫ, ОСНОВНЫЕ ПЕРЕМЕННЫЕ И СТРУКТУРЫ - Структуры и алгоритмы обработки данных
ОСНОВНЫЕ ПЕРЕМЕННЫЕ И СТРУКТУРЫ Struct BD { char FIO[32]; // фоpмат <Фамилия>_<Имя>_<Отчество> int numberO; char dolzhnost[32]; char dateB[8]; }...
-
Самым традиционным и широко известным из структурированных типов данных является массив (иначе называемый регулярным типом) - однородная упорядоченная...
-
Рисунок 10. Архитектура программы В структуре программы обработки сложноструктурированных данных для научного эксперимента в ИИС "Шлаковые расплавы"...
-
Второй этап истории развития БД. - Технология создания и управления баз данных
Второй этап - эпоха персональных компьютеров Персональные компьютеры стремительно ворвались в нашу жизнь и буквально перевернули наше представление о...
-
"WWWSQLDesigner" позиционируется как абсолютно бесплатный, доступный для пользователей, универсальный веб-редактор, значительно упрощающий процесс...
-
Начинать следует с определения структуры таблицы, соответствующей предметной области, т. е. с определения полей, которые надо включить в таблицу, типов...
-
Технология создания баз данных в программе Microsoft Access
Введение Базы данных играют особую роль в современном мире. Любой из нас многократно начиная с детства, сталкивался с "базами данных". Это - всевозможные...
-
Для написания АИС использовались следующие языки программирования, программные средства и библиотеки: - Язык программирования PHP 5.4; -...
-
Построение ER диаграмм - Модернизация структуры базы данных на основе анализа требований предприятия
При построении моделей информационных систем важнейшей методикой является ER-моделирование или построение диаграмм сущность-связь. Сущность представляет...
-
Программный интерфейс для базы данных я разрабатывал в объектно-ориентрованной среде Delphi, с помощью Embarcadero RAD Studio. Конструктор форм Delphi в...
-
В связи с увеличением числа сотрудников, работающих в компании, а также с расширением рабочего проекта, возникла проблема, связанная с версионностью...
-
Физические модели хранения данных определяют методы размещения данных в памяти компьютера или на соответствующих носителях информации, а также способы...
-
Этапы жизненного цикла БД включают: -Планирование БД - определяются принципы, задачи создания БД. -Проектирование БД. -Материализация БД -...
-
ОПИСАНИЕ ПОДПРОГРАММ - Структуры и алгоритмы обработки данных
Процедуры начальной обработки базы данных: 1. void Read() - считывает базу данных и формирует индексный массив. 2. void PrintMas(void) - осуществляет...
-
Математическое и программное обеспечение (МО, ПО)- совокупность математических методов, моделей, алгоритмов и программ для реализации целей и задач...
-
Создание форм 1. Для создания формы Биатлонисты совершаем следующие действия Таблицы > Биатлонисты > Создание> Форма, как показано на рисунке...
-
Создание запросов - Разработка системы управления базой данных "Судоходство"
Для дальнейшего формирования отчетов необходимо создать два запроса на выборку это "Кто и где находится" и "Страны где были корабли". Для создания...
-
Гражданский кодекс Российской Федерации в части четвертой регулирует вопросы охраны результатов интеллектуальной деятельности и средств индивидуализации....
-
Структура SQL - Банки и базы данных. Системы управления базами данных
Широкое развитие информационных систем и связанная с этим унифицированность информационного пространства привело к необходимости создания стандартного...
-
Результаты проведенных экспериментов содержатся во внутреннем серверном файловом хранилище (Рис. 2). Представляют собой документы формата "*.DAT". В них...
-
Для создания банка данных использовали пошаговый алгоритм, последовательно фотографируя картотеки встреч видов птиц с отметкой карточек, которые были...
-
Классификация команд языка. - Технология создания и управления баз данных
Команды SQL Команда Назначение Описание данных CREATE TABLE Создает структуру таблицы Манипулирование данными INSERT Добавляет новые записи в таблицу...
-
Создание базы данных, Телекоммуникационные экскурсии - Мультимедиа в обучении
Некоторые проекты обмена информацией используют не только сбор информации, но и ее организацию в базу данных, которую участники проекта могут...
-
Алгоритм работы. В результате работы АИС генерируются три xml документа - два со структурой сравниваемых баз данных и один с результатами сравнения. В...
-
Классической моделью или образцом инструментального приема, полностью ориентированного на объект при создании программных систем, служит набор функций...
-
Постановка задачи Имеющаяся база данных SQL имеет недостаточное количество полей и таблиц, не имеет упорядоченной структуры пользователей для работы с...
-
SimpleXML. В PHP версии 5.0 и выше появилось расширение для работы с xml структурой. Библитека SimpleXML содержит большое количество методов для работы с...
-
2.1 Описание структуры базы данных Реляционная схема базы данных для ЦЗН представлена следующими таблицами: "ПО" - содержит список единиц программного...
-
UML - унифицированный язык моделирования, призванный упростить построение больших информационных систем. Состоит из диаграмм, связей и сущностей....
-
Создание кнопочной формы - База данных, хранящая в себе информацию о командах NBA
1. Наводим курсором мыши на значок Диспетчер кнопочных форм, расположенный в верхнем левом углу и нажимаем, как показано на рисунке 53. Рисунок 53-...
-
Наиболее распространенная форма - ЭВМ. Раньше чаще использовались вычислительные центры (ВЦ). Вычислительный центр - организуется и специализируется на...
-
Информационное обеспечение - совокупность единой системы классификации и кодирования информации, унифицированных систем документации, схем информационных...
-
Структурная схема терминов Структуру АИС составляет совокупность отдельных ее частей, называемых подсистемами. АС состоит из двух подсистем:...
-
Функциональное назначение программы Основной функцией программы "AdressBook. exe" является ведение справочника. Имеется возможность добавлять и удалять...
-
ОСОБЕННОСТИ РЕАЛИЗАЦИИ АЛГОРИТМОВ - Структуры и алгоритмы обработки данных
В ходе выполнения курсовой работы, помимо основных алгоритмов, потребовалось реализовать также несколько вспомогательных, необходимых для корректной...
-
ДВОИЧНЫЙ ПОИСК, АВЛ-Дерево - Структуры и алгоритмы обработки данных
Алгоритм двоичного поиска в упорядоченном массиве сводится к следующему. Берем средний элемент отсортированного массива и сравниваем с ключом X. Возможны...
-
МЕТОДОВ МЕТОД СОРТИРОВКИ Пирамидальная сортировка Пирамидальная сортировка основана на алгоритме построения пирамиды. Последовательность aI, aI+1,...,aK...
-
Определение методов реинжиниринга информационных систем Основные задачи, которые стоят перед проектировщиком, занимающимся реинжинирингом информационных...
-
При работе над проектом разрабатывались два основных компонента системы: база данных (далее - БД) и интерфейс клиентского приложения. Затем необходимо...
-
Постановление Правительства Российской Федерации №1119 "Об утверждении требований к защите персональных данных при их обработке в информационных системах...
Создание списковых структур данных