Разработка программы для создания и работы с двусвязным списком, состоящим из структур (Структура содержит название, цену, количество товара)

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Содержание работы

Государственный комитет Российской Федерации по телекоммуникациям

Сибирский государственный университет

телекоммуникаций и информатики

КУРСОВАЯ РАБОТА

По дисциплине

« Программирование на языках высокого уровня»

Разработка программы для создания и работы с двусвязным списком, состоящим из структур

Вариант № 5

Работу выполнил

                                                                       студент 1 курса

                                                                       группы ПДВ - 72

                                                                       Леушин Валерий Анатольевич

                                                                       Работу проверил

                                                                       Работа защищена

                                                                       «___» __________2007 г.

                                                                                                                                                                                                С оценкой «_______»

Новосибирск 2007

Задание

Разработать программу для создания и работы с двусвязным списком, состоящим из структур. Структура содержит название, цену, количество товара. Для работы со списком создать меню со следующими пунктами:

1. Создание списка.

2. Просмотр списка.

3. Добавление в конец списка новой структуры.

4. Корректировка списка (удалить из списка заданный товар).

5. Выход.

Содержание

Введение                                                                                                         4

1.  Определение и детальное рассмотрение поставленной задачи                   5

2.  Блок-схема функционирования системы                                                     6

3.  Проектный раздел                                                                                          7

4.  Исходный модуль программы                                                                      8

5.  Результаты тестирования выполнения задания                                          12

6.  Список литературы                                                                                        17

Введение

Целью данной работы явилось разработка программы для работы со списком товаров, включающим следующие функциональные возможности:

·  создание нового списка товаров;

·  просмотр списка товаров;

·  добавление нового товара в конец списка;

·  удаление любого товара из списка.

Каждый товар включает в себя следующие характеристики: название, цену и количество.

Список товаров хранится в отдельном файле, что позволяет использовать разработанную программу не создавая список каждый раз при ее запуске.

1.  Определение и детальное рассмотрение поставленной задачи

Для функционирования данной программы необходимо включение следующих заголовочных файлов:

stdio.h – включает в текст программы средства связи с библиотечными фунциями ввода-вывода (функции scanf и printf);

conio.h – включает функции для работы с терминалом в текстовом режиме (функция getch)

alloc.h – включает функции для выделения памяти (функция malloc);

string.h – включает функции обработки строк (функция strcmp).

Для создания списка товаров воспользуемся двусвязным списком структур, содержащим следующие данные – название товара, цена товара, количество товара, указатель на предыдущую и следующую структуру

При запуске программы пользователь получает доступ к пунктам основного меню, которое оформим в виде оператора – переключателя switch для определения дальнейших действий программы в зависимости от выбранного пользователем пункта: 1 – создание списка, 2 – просмотр списка, 3 – добавление в конец, 4 – удаление из списка, 0 – выход из меню:

Каждый пункт основного меню ссылается на функцию, которая определяет дальнейшие действия программы: создание списка товаров, просмотр списка товаров, добавление товара в конец списка, удаление заданного товара из списка, выход из программы.

Для сохранения данных о товарах нам потребуется указатель на файл, в котором будет храниться и обрабатываться вся информация о товарах.

2.  Блок-схема функционирования системы

Раздел описаний

 


Рис. 2.1  Блок-схема функционирования системы

3.  Проектный раздел

Программа состоит из следующих частей:

1.  Включение заголовочных файлов stdio.h, conio.h, alloc.h, string.h, необходимых для работы программы.

2.  Описание структуры типа spisok, используемых переменных и прототипов используемых в программе функций.

3.  Основная функция main (), в которой прописаны пункты основного меню и ссылки на функции для работы со списком.

4.  Функции для работы со списком:

4.1.  создание списка - sozdanie(tf);

4.2.  просмотр списка - prosmotr(tf);

4.3.  добавление в конец - dobavlenie(tf);

4.4.  удаление из списка - udalenie(tf).

4. Исходный модуль программы

#include <stdio.h>                                                  

#include <conio.h>                                        // включение заголовочных файлов

#include <alloc.h>

#include <string.h>

struct spisok                                                   // описание структуры типа spisok  

{char nazvanie[10];                              // название товара

      float cena;                                      // цена товара

      int kolich;                                      // количество товара

      struct spisok *v1;                           // указатель на предыдущую структуру списка

      struct spisok *v2;

} tovar;                                                 // tovar – имя структуры типа spisok

void sozdanie(FILE *);                       

void prosmotr(FILE *);

void dobavlenie(FILE *);                    // описание прототипов используемых функций

void udalenie(FILE *);

struct spisok *nachalo,*konec,*tekush, *predidush, dannie[99]; // описание указателей и на структуры и массива структур dannie

main()                                                  // основная функция

{

FILE *tf;

char c;                                                  // описание переменных

int i;

while (1)

{clrscr();

puts(" 1 - sozdanie spiska");

puts(" 2 - prosmotr spiska");

puts(" 3 - dobavlenie v konec");

puts(" 4 - udalenie iz spiska");

puts(" 0 - vihod");

c=getch();

switch(c)

 {case '1':sozdanie(tf);break;                          // вывод основного меню программы

  case '2':prosmotr(tf);break;

  case '3':dobavlenie(tf);break;

  case '4':udalenie(tf);break;

  case '0':return 0;

  default: puts(" neverniy rejim");

 }

 }

   clrscr();

 }

void sozdanie(FILE *tf)                      // функция создания нового списка

{ char c;

int i=1, vsego;

clrscr();

printf("\n vvod dannih: \n");               

predidush=NULL;

 do

 {

 clrscr();

  tekush=(struct spisok *)malloc(sizeof(struct spisok)); // выделение памяти для структуры

  printf("\n tovar nomer %d :\n \t \t nazvanie: ", i);

  scanf("%s", tekush->nazvanie);

  printf(" \t \t cena: ");

Похожие материалы

Информация о работе

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.