DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Робота з масивами структур.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра інформаційних систем та мереж

Інформація про роботу

Рік:
2012
Тип роботи:
Лабораторна робота
Предмет:
Інші
Група:
КН

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА” Кафедра інформаційних систем та мереж Лабораторна робота №9 на тему: Робота з масивами структур. Львів-2008р. Назва роботи: Робота з масивами структур Мета роботи: Здобути практичні навички використання масивів структур для опрацювання таблиць різнотипних даних мови Сі. Завдання лабораторної роботи: У завданнях першої частини необхідно: Кількість елементів масиву оголосити за допомогою макроконстант, визначених директивою #define. Верхню межу індексів масиву у циклах задавати за допомогою макроконстант; Введення масивів структур з клавіатури та їх виведення на екран здійснювати у вигляді таблиць. Введення вхідних даних та виведення результатів супроводжувати відповідними до умови задачі текстовими повідомленнями. Після введення вхідних даних виконувати ехо-виведення їх значень на екран; Для звернення до елементів масивів використати індекси; У завданнях другої частини необхідно: Кількість елементів масиву ввести з клавіатури, після чого виділити необхідний об’єм динамічної пам’яті для розміщення масиву структур; Занести у динамічну пам’ять введені з клавіатури дані; для звернення до елементів масиву перевагу надати використанню вказівників замість індексів; Введення та виведення масивів структур здійснювати у вигляді таблиць. Після введення вхідних даних виконувати ехо-виведення їх значень на екран. Введення вхідних даних та виведення результатів супроводжувати відповідними до умови задачі текстовими повідомленнями. Перед виходом з програми звільнити зайняту динамічну пам’ять. Текст програми: Програма 1 #include <conio.h> #include <stdio.h> #include <string.h> #define n 3 struct Tvlasn { char imja[15]; char prizv[15]; }; struct TCar { char marka[15],kolir[15]; long int nomer; int rik; Tvlasn vl; }; int RZ(TCar a[n]); void main() { TCar car[n],temp; int i,j; clrscr(); for (i=0; i<n; i++) { printf("Введiть марку авто %d => ",i+1); scanf("%s",&car[i].marka); printf("Введiть колiр авто %d => ",i+1); scanf("%s",&car[i].kolir); printf("Введiть номер авто %d => ",i+1); scanf("%ld",&car[i].nomer); printf("Введiть рiк випуску авто %d => ",i+1); scanf("%d",&car[i].rik); printf("\nВведiть iнформацiю про власника авто %d:\n",i+1); printf("Введiть iм'я власника авто %d =>",i+1); scanf("%s",&car[i].vl.imja); printf("Введiть прiзвище власника авто %d =>",i+1); scanf("%s",&car[i].vl.prizv); strcat(car[i].vl.prizv," "); puts("--------------------------------------------------------------------------"); } for (j=0; j<n-1; j++) for (i=0; i<(n-1)-j; i++); if ((car[i].marka)<(car[i+1].marka)) { temp=car[i+1]; car[i+1]=car[i]; car[i]=temp; } puts("№ Марка Колiр Номер Рiк Данi про власника"); puts("--------------------------------------------------------------------------"); for (i=0; i<n; i++) printf("%-6d %-13s %-10s %-11ld %-11d %-s\n",i+1,car[i].marka,car[i].kolir,car[i].nomer,car[i].rik,strcat (car[i].vl.prizv, car[i].vl.imja)); puts("--------------------------------------------------------------------------"); //printf("Кiлькiсть рiзних кольрiв кожної марки=%d\n",RZ(car)); getch(); } int RZ(TCar a[n]) {int z=0,k=1,i,j; for (j=0; j<n; j++) { for (i=0; i<j; i++) if(i!=j) if(strcmpi(a[j].kolir,a[i].kolir)) z=1; else {z=0; break;} k+=z; } return k;}   Програма 2 #include <conio.h> #include <stdio.h> #include <string.h> #include <stdlib.h> struct Tdata { int mis,den,rik; }; struct TKl { char *pr[]; Tdata *data; long int nom; int botr,bper,gotr,gper,zl; }; void main() {TKl *kl; int i,n,d1,d2,m1,m2,r1,g; char *st; clrscr(); printf("Введiть кiлькiсть клiєнтiв банку: "); scanf("%d",&n); clrscr(); kl=(TKl*)malloc(n*sizeof(TKl)); for (i=0;i<n; i++) { clrscr(); printf("Введiть iнформацiю про клiєнта %d: \n\n",i+1); gets(st); printf("Прiзвище та iнiцiали клiєнта: ");gets(*(kl+i)->pr); printf("№ рахунку: "); scanf("%ld",&(kl+i)->nom); printf("Сума безготiвкового отримання: "); scanf("%d",&(kl+i)->botr); printf("Сума безготiвкового переведення: "); scanf("%d",&(kl+i)->bper); printf("Сума отримана готiвкою: "); scanf("%d",&(kl+i)->gotr); printf("Сума видана готiвкою: "); scanf("%d",&(kl+i)->gper); puts("--------------------------"); printf("\nДата проведення операцiї:\n"); printf("День: "); scanf("%d",&(kl+i)->data->den); printf("Мiсяць: "); scanf("%d",&(kl+i)->data->mis); printf("Рiк: "); scanf("%d",&(kl+i)->data->rik); } clrscr(); printf("Введiть критерiї вiдбору:\n"); printf("День: (вiд/до) "); scanf("%d/%d",&d1,&d2); printf("Мiсяць: (вiд/до) "); scanf("%d/%d",&m1,&m2); printf("Рiк: "); scanf("%d",&r1); printf("Граничне значення: "); scanf("%d",&g); for(i=0; i<n; i++) { (kl+i)->zl=(rand()*100)+(kl+i)->botr+(kl+i)->gotr-(kl+i)->bper-(kl+i)->gper; } puts("\n№ рахунку Безгот. отр. Безгот. пер. Отр. гот. Вид. гот. Залишок"); puts("-----------------------------------------------------------------------------"); for(i=0; i<n; i++){ if (((kl+i)->data->den<=d2)&&((kl+i)->data->den>=d1&&(kl+i)->data->mis<=m2)&&(((kl+i)->bper+(kl+i)->gper)>=g)&&(kl+i)->data->mis>=m1&&(kl+i)->data->rik==r1)//&&kl[i].bper>1000) printf("%-13ld %-15d %-14d %-11d %-10d %d \n",(kl+i)->nom,(kl+i)->botr,(kl+i)->bper,(kl+i)->gotr,(kl+i)->gper,(kl+i)->zl); } getch(); }   Результати виконання програми: Програма 1  Програма 2  Висновки: Я здобув практичні навички використання масивів структур для опрацювання таблиць різнотипних даних мови Сі. Блок-схеми: Програма 1  Програма 2 
Антиботан аватар за замовчуванням

10.12.2012 21:39

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!