Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

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

.docx
Скачиваний:
82
Добавлен:
14.12.2018
Размер:
107.61 Кб
Скачать

Одеський національний політехнічний університет

Інститут комп’ютерних систем

Кафедра інформаційних систем

Варіант №1

Лабораторна робота №10

По дисципліні “Алгоритмізація і програмування”

Тема:“ Програмування з використанням структур”

Виконав:

Студент гр. АІ-171

Анищенко М.О.

Перевірили:

Шпиньковський О.А.

Одеса 2017

Мета роботи: Набуття практичних навичок у створенні програм обробки структур даних.

Завдання:

Дано масив записів. Кожен запис містить прізвище та адресу людини (місто,

вулиця, будинок, квартира).

Вивести прізвища людей, в адресах яких є вулиця, що задається (введена з

клавіатури), або повідомити про те, що таких людей немає.

Вивести адресу людини із заданим прізвищем.

БСА:

Код програми:

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

struct Human{

char lastname[20];

char town[20];

char street[20];

int building;

int apartment;

};

int main()

{

const int L;

printf("Enter number of peoples ");

scanf("%d", &L);

struct Human people[L];

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

{

printf("Enter last name ");

scanf("%s", people[i].lastname);

printf("Enter town ");

scanf("%s", people[i].town);

printf("Enter street ");

scanf("%s", people[i].street);

printf("Enter building ");

scanf("%d", &people[i].building);

printf("Enter apartment ");

scanf("%d", &people[i].apartment);

}

int search_results = 0;

char search_string[20];

printf("Enter street that you want to find ");

scanf("%s", search_string);

printf("Peoples, who living on this street:\n");

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

if(!strcmp(search_string, people[i].street))

{

printf("%s\n", people[i].lastname);

search_results++;

}

if(!search_results)

printf("Nobody living on this street\n");

search_results = 0;

printf("Enter last name of people, that you want to find ");

scanf("%s", search_string);

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

if(!strcmp(search_string, people[i].lastname))

{

printf("t.%s s.%s b.%d ap.%d\n", people[i].town, people[i].street, people[i].building, people[i].apartment);

search_results++;

}

if(!search_results)

printf("There is no people with same last name");

return 0;

}

Приклад виконання:

жителя

1

2

3

4

Прізвище

Orwell

Turgenev

Anischencko

Someguy

Місто

London

Orel

Odessa

Sometown

Вулиця

Baker

Govorova

Govorova

Somestreet

Будинок

221

23

11

123

Квартира

2

56

413

456

Enter number of peoples 4

Enter last name Orwell

Enter town London

Enter street Baker

Enter building 221

Enter apartment 2

Enter last name Turgenev

Enter town Orel

Enter street Govorova

Enter building 23

Enter apartment 56

Enter last name Anischencko

Enter town Odessa

Enter street Govorova

Enter building 11

Enter apartment 413

Enter last name Someguy

Enter town Sometown

Enter street Somestreet

Enter building 123

Enter apartment 456

Enter street that you want to find Govorova

Peoples, who living on this street:

Turgenev

Anischencko

Enter last name of people, that you want to find Orwell

t.London s.Baker b.221 ap.2

Process returned 0 (0x0) execution time : 187.147 s

Press any key to continue.

Контрольні запитання:

  1. Дайте означення структурного типу даних 


Структура – сукупність декількох змінних, об’єднаних під одним ім’ям, яке слугує для зручного зберігання логічно пов’язаних даних у пам’яті ЕВМ.

  1. Як здійснюється доступ до компонентів структури? 


Звернення до полів структури здійснюється за допомогою операції доступу:

<ім’я змінної структурного типу>.<ім’я поля>;

  1. Як визначається обсяг пам’яті, необхідний для зберігання структури?

Додаванням заданих розмірів всіх елементів структури.

Висновки:

Під час виконання ЛР була написана програма, що обробляє структури.

Під час написання програми не виникло помилок.

Соседние файлы в предмете Алгоритмизация и программирование