39288

Односвязные списки

Лабораторная работа

Информатика, кибернетика и программирование

Пользователь вводит информационные поля в массив структур. Условия для обработки – поиск элементов списка по значению одного из полей, вывод информационных полей структур Описание структуры для формирования списка приведено в следующем пункте.

Русский

2013-10-02

131.45 KB

16 чел.

Федеральное государственное бюджетное образовательное учреждение высшего

профессионального образования

«Санкт-Петербургский государственный электротехнический

университет «ЛЭТИ» им. В.И.Ульянова (Ленина)»

Факультет компьютерных технологий и информатики

Кафедра вычислительной техники

Отчет

по лабораторной работе № 2

на тему «Односвязные списки»

по дисциплине «Программирование»

Выполнил:

студент группы № 2306 Титков Евгений

Проверила:

к.т.н.,  доцент Сискович Т.И.

 

Санкт-Петербург

2013 г.

Цель работы

Получение практических навыков в работе со структурами.

                                                    Задание

Написать программу для создания массива структур, ввода данных в поля структур, вывода и обработки.

Уточнение задания

Пользователь вводит информационные поля в массив структур. Условия для обработки –

поиск элементов списка по значению одного из полей, вывод информационных полей структур

Описание структуры для формирования списка приведено в следующем пункте.

Описание структуры

Шаблон:

struct games

{

   char name[30];//Название продукта

 int year; //год выпуска

 int rating;  //рейтинг товара

};

Имя структур: x,y.

Контрольные примеры

Контрольные примеры обработки приведены в таблице 1 «Контрольные примеры обработки».

Таблица 1. Контрольные примеры обработки

До обработки

После обработки

п/п

Название товара

Год выпуска

Рейтинг

Название товара

Год выпуска

Рейтинг

1

Crysis

2013

8

Crysis

2013

8

2

Kinect

2012

4

Hather

2010

7

3

Hather

2010

7

                  Описание переменных главной функции

          Описание переменных главной функции приведено в таблице 3.

Таблица 2. Описание переменных главной функции

 

Имя переменной

Тип переменной

Назначение

x,y

games

Структурные переменные

z

int

Переменная для выбора пункта меню

f1,f2,f3,ch

int

вспомогательные переменные

Краткое описание алгоритма

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

1) Пользователь выбирает один из пунктов меню:

1 – ввод данных;

2 – вывод данных;

3 –обработка списка и вывод данных;

4 - выход.

2) Если пользователь выбирает 1 пункт меню,  выполняется ввод данных в структуру. Данные вводятся многократно по желанию пользователя. (Пользователь будет предупрежден о вводе некорректных данных)

3) Если пользователь выбирает 2 пункт меню, происходит вывод данных, затем, переход к пункту 1.

4) Если пользователь выбирает 3 пункт меню, выполняется обработка и вывод данных . Переход к пункту 1.

5) Если выбран 4 пункт меню, завершение программы.

6) Если не выбран ни одни из 1-4 пунктов, вывод сообщения «Ошибка, выберите пункт меню снова».

Блок схема алгоритма

Код программы на языке С/С++

#include "stdafx.h"

#include "stdio.h"

#include "string.h"

#include "conio.h"

#include "iostream"

struct games

{

 char name[30];

 int year;

 int rating;

};

struct games* memory(struct games*  x,int n)

{

 x=(struct games*) realloc(x, (n+1)*sizeof(struct games));

 return (x);

}

struct games* input(struct games* x ,int n)

{

     fflush(stdin);

     puts("");

     printf("ENTER GAME NAME %d = ",n+1);

     gets(x[n].name);

     puts("");

     printf("ENTER GAME YEAR %d = ",n+1);

     scanf("%d",&x[n].year);

     puts("");

     printf("ENTER GAME RATING %d = ",n+1);

     scanf("%d",&x[n].rating);

     puts("");

  

  return x;

}

void print(struct games* x,int n)

{

 printf("\n-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-\n");

 printf("\n*%30s%5s%7s*\n", "NAME", "YEAR", "RATING");

 printf("\n-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-\n");

 for(int i=0; i<n; i++)

   {

    printf("\n*%30s%5d%7d \n",x[i].name,x[i].year,x[i].rating);

    printf("\n*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\n");

   }

puts("\nDone! Please enter any key.\n");

getch();

}

int _tmain(int argc, _TCHAR* argv[])

{

 int z,n = 0, l,ch,fl1,fl2,fl3;

 

struct games* x = NULL;

struct games* y = NULL;

do

 {

  puts("**********MENU*************");

  puts("** 1.Input structur      **");

  puts("** 2.Print struct        **");

  puts("** 3.Confirming          **");

  puts("** 4.Exit                **");

  puts("***************************");

  puts("");

  do{

  scanf("%d",&z);

  if (z>=5) puts(“You wrong please enter correct z 1-4”);

  }while(z>=5);

  switch(z)

          {

           case 1:

     do

       {

                    x = memory(x,n);

                    x = input(x,n);

        n++;

     puts("Do you want continued enter 1-yes 0-no?");

     scanf("%d",&ch);

     if (ch==0)

       {

                    puts("\nDone! Please enter any key.\n");

                    getch();

                    system("cls");

       }

    }

    while(ch==1);

    fl1=1;

    break;

           case 2:

     if (fl1==1)

       {

        system("cls");

                    print(x,n);

        system("cls");

       }

     else puts("Please enter struct");

                 break;

           case 3:

     if (fl1==1)

       {

        l =0;

                    for(int i=0;i<n;i++)

                       {

      if (x[i].rating >7)

        {

          y = memory(y, l);

          y[l] = x[i];

                l++;

        }

      

           }

     print(y,l);

     getch();

     system("cls");

        }

     else puts("Please enter struct");

     break;

           case 4:

                   z=0;

                   break;

         }

 }

 while(z!=0);

return 0;

}

Результаты выполнения программы

При выполнении программы полученные результаты совпадают с приведенными в таблице 1 "Контрольные примеры". Ошибок не обнаружено.

Выводы

При выполнении лабораторной работы получены практические навыки в работе со структурами С/С++.


 

А также другие работы, которые могут Вас заинтересовать

24682. Господарська діяльність підприємств 32.5 KB
  Специфіка цих факторів і методика їх дослідження залежить від особливостей технології а також від використання видів сировини матеріалів палива та енергії. Також в будьякому випадку та за будьяких умов необхідно виявити вплив двох факторів : 1 зміни питомої витрати сировини і матеріалів на одиницю продукції фактор норми; 2 зміни собівартості заготівлі одиниці сировини та матеріалів фактор цін. Собівартість заготовлення матеріалів складається з наступних трьох частин: [21 с. Зміна питомих витрат сировини й матеріалів може...
24683. Стандартні витрати 36 KB
  Стандарти відображають заплановані витрати на одиницю продукції величина яких базується на обґрунтованих нормах витрат ресурсів.Система калькулювання стандартних витрат це система яка застосовується для:1 контролю витрат;2 прийняття рішень щодо цін;3 оцінка виконання бюджетів;4 усвідомлення витрат;5 управління за відхиленнями.Система калькулювання стандартних витрат включає:1.
24684. Система директ - костинг 34 KB
  Маржинальний дохід розраховується:Маржинальний дохід =Виручка відреалізаціїЗмінні витратиОпераційнийприбуток =Маржинальний дохід Постійні витратиКоли маржа з змінних витрат тільки відшкодовує суму постійних витрат досягається €œмертва точка€ або точка критичного обсягу коли фінансовий результат дорівнює нулю Переваги системи €œдирект костинг€: дана система дає можливість розмежувати змінні та постійні витрати визначити релевантність витрат та вплив на них; спрощується калькулювання собівартості за центрами відповідальності....
24685. Управлінський облік, будучи продовженням фінансового обліку, має з ним реальний, справжній взаємозв’язок і певні відмінності 28.5 KB
  Взаємодія управлінського і бухалтерського обліку досягається на основі наступності послідовності і комплексного використання первинної інформації єдності норм і нормативів а також єдності нормативнодовідкової інформації в цілому доповнення інформації одного виду обліку даними другого одноразової фіксації всієї вихідної змінної інформації в первинному обліку взаємопроникнення методів або їх елементів наближення облікової інформації до місць прийняття рішень єдиного підходу до розробки задач управлінського і фінансового обліку...
24686. Управлінський облік. Предмет управлінського обліку 26.5 KB
  управлінського персонала різного рівня для плануванняоцінки та контролю всередині підприємства Предметом управлінського обліку виступає сукупність обєктів в процесі всього циклу управління підприємством.Обєктами обліку виступають виробничі ресурси запаси обладнання трудові ресурси та господарські процеси.Методом управлінського обліку виступає сукупність різних прийомів і способів за допомогою яких відображаються обєкти управлінського обліку в інформаційній системі підприємства. КонтрольМетою управлінського обліку є оптимізація витрат...
24687. Організація обліку за центрами відповідальності 42.5 KB
  Центри відповідальності організуються шляхом делегування відповідним підрозділом підприємства певних повноважень і відповідальності. Основними принципами організації системи обліку за центрами відповідальності є: визначення контрольованих статей витрат і доходів за умови що менеджер керівник повинен відповідати тільки за ті витрати і доходи які він може контролювати і на величину яких може впливати; персоніфікація облікових документів тобто зазначення в документах керівника який відповідає за конкретні статті витрат і доходів; ...
24688. Користувачі інформації 24 KB
  Внутрішні керівники різних рівнів управліннязабезпечується інформацією на всіх рівнях управління для прийняття поточних рішень 2. Зовнішні акціонерикредиторипостачальникипокупціінвесториподаткові і державні организабезпечується інформацієюяка характеризує результати яких досягло підприємство за минулі звітні роки.
24690. Класифікація витрат 37 KB
  За центрами відповідальності місцем виникнення Витрати виробництва цеху дільниці технологічного переділу служби. За видами продукції Витрати на вироби типові представники виробів групи однорідних виробів одноразові замовлення напівфабрикати. За єдністю складу витрат Одноелементні витрати і комплексні витрати. Наприклад: одноелементні сировина матеріали прямі витрати на оплату праці; комплексні витрати їх облік ведуть окремо за елементами та статтями: 919293 4.