Міністерство освіти і науки України
Національний Університет « Львівська Політехніка»
Кафедра ЕОМ
Звіт
до лабораторної роботи №2
з курсу : « Засоби Системного Програмування»
на тему: « Опрацювання структур.»
Назва роботи: Опрацювання структур.
Мета роботи: Закріпити теоретичні знання та оволодіти практичними навиками опрацювання структур даних. Засвоїти техніку створення та опрацювання складних типів даних.
Теоретична частина:
Структури- це комбінований тип даних, що об’єднує в єдине ціле дані з різними даними. Зі структурами в Сі пов’язані 2 поняття Шаблон структури та структурні змінні.
Шаблон задає форму структури, над шаблоном виконується ніякі операції і місце для нього не виділяється.
Структурні змінні – змінні з типом, що визначаються відповідним шаблоном. Для кожної структури змінної виділяється ділянка оптичної пам’яті рівна розміру даного структурного типу.
Поля структури можуть мати довільний допустимий у Сі тип, в тому числі складний або вказівниковий. Зокрема масив, символ, рядок чи вкладена структура. Структуні змінні можна оголошувати разом з оголошенням шаблону, або окремо. Відмінною рисою структур змінних Сі є те, що є звичайними змінними, а не вказівниками, тому над ними можна виконувати операції присвоєння, можна брати їх адресу, створювати вказівними на відповідні структури.
При оголошенні структур змінні можна відразу ініціалізувати.
Виконання роботи
#include<stdio.h>
#include<conio.h>
#include<string.h>
int main (void)
{
int i,y,c,k;
char np[128], dp[128],hp[128];
struct TelPersonInfo {char Name[128];char Vylusja [128]; char Tel[128];};
struct TelPersonInfo piArr[3];
for(i=0;i<3;i++){
printf("Vvedit Imja:\n");
scanf("%s", &piArr[i].Name);
printf("Vylusja:\n");
scanf("%s",&piArr[i]. Vylusja);
printf("telefon:\n");
scanf("%s",&piArr[i].Tel);
puts("");
}
printf("\n By name press 4 enter.By telnumber press 5 enter.By Vylusja press 6 enter.");
scanf("%d",&y);
if (y==4)
{
printf ("Input Name for search:");
scanf("%s",&np);
k=0;
for(i=0;i<3;i++)
{
c=strcmp(np,piArr[i].Name);
if (c==0)
{
k++;
printf("Name=%s Tel=%s Vylusja =%s\n",piArr[i].Name,piArr[i]. Vylusja, piArr[i].Tel);
}
}
if(k==0)
puts("nema takyh danyh");
}
if (y==6)
{
printf ("Input Vylusja for search:");
scanf("%s",&hp);
k=0;
for(i=0;i<3;i++)
{
c=strcmp(np,piArr[i]. Vylusja);
if (c==0)
{
k++;
printf("Name=%s Tel=%s Vylusja =%s\n",piArr[i].Name,piArr[i]. Vylusja, piArr[i].Tel);
}
}
if(k==0)
puts("nema takyh danyh");
}
if (y==5)
{
printf ("Input TelNumber for search:");
scanf("%s",&dp);
k=0;
for(i=0;i<3;i++)
{
c=strcmp(dp,piArr[i].Tel);
if (c==0)
{
k++;
printf("Name=%s Vylusja =%s Tel=%s\n",piArr[i].Name, piArr[i]. Vylusja,piArr[i].Tel,piArr[i].Name, piArr[i].Vylusja,piArr[i].Tel);
}
}
if(k==0)
puts("nema takyh danyh");
}
getch();
return 0;
}
Результат виконання:
Vvedit imja:
Lesja
Vylusja:
Shevchenka
Telefon:
123
Vvedit imja:
Mawa
Vylusja:
Mazepu
Telefon:
987
Vvedit imja:
Vasja
Vylusja:
Naykova
Telefon:
567
Press enter 4 for Imja. Press enter 5 for Vylusja.Press enter 6 for telefon. 4
Input name for serch: Lesja
Name=Vasja Vylucja= Naykova Tel=567
Висновок:
На цій лабораторній роботі я закріпив теоретичні знання та оволодів практичними навиками опрацювання структур даних. Засвоїв техніку створення та опрацювання складних типів даних.