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 Мета роботи: Здобути практичні навички використання масивів структур для опрацювання таблиць різнотипних даних мови Сі. 1. Написати програму, яка перевiряє чи заданий масив структур (автор, назва книги, рiк видання) є впорядкованим по одному із полів. Вивести масив на екран у формі таблиці. 2. Сформувати масив структур з даними про успішність групи студентів:прізвище та ін., № залікової книжки, оцінки з п’яти предметів. Впорядкувати масив у порядку зростання кількості задовільних та незадовільних оцінок і вивести його на екран у формі таблиці. Визначити відсоток студентів, що мають задовільні або незадовільні оцінки. Тексти програм: 1) #include<stdio.h> #include<conio.h> #include<stdlib.h> #define n 2 void main() { struct tbook { char autor[20]; char nazva[20]; int rik; }; int ch,i,j; struct tbook a[n]; printf("vvedit\' %d elementiv tupy : autor nazva rik\n",n); for(i=0;i<n;i++) { gets(a[i].autor); gets(a[i].nazva); scanf("%d",&(a[i].rik)); getchar(); } clrscr(); printf("%-20s%-20s%s\n\n","AVTOR","NAZVA","RIK"); for(i=0;i<n;i++) { printf("%-20s%-20s%d\n",a[i].autor,a[i].nazva,a[i].rik); } getch(); printf("\n\nvuberit\' po 4omy shykatu\n"); scanf("%d",&ch); switch(ch) { case 1: { for(i=0;i<n-1;i++) if(strcmp(a[i].autor,a[i+1].autor)>0) { puts("ne vporiadkovan"); getch(); exit(1); } puts("vporiadkovan"); getch(); exit(1); } case 2: { for(i=0;i<n-1;i++) if(strcmp(a[i].nazva,a[i+1].nazva)>0) { puts("ne vporiadkovan"); getch(); exit(1); } puts("vporiadkovan"); getch(); exit(1); } case 3: { for(i=0;i<n-1;i++) if(a[i].rik>a[i+1].rik) { puts("ne vporiadkovan"); getch(); exit(1); } puts("vporiadkovan"); getch(); exit(1); } } getch(); } 2) #include<stdio.h> #include<conio.h> #include<stdlib.h> #include<alloc.h> #define n 3 void main() { struct tstudent { char pib[30]; int nzk; int mova, mat, ist, fiz, oit; int z,nez; }; struct tstudent *kn[n],*tmp; int i,j,h; for(i=0;i<n;i++) kn[i]=(struct tstudent *)malloc(sizeof(struct tstudent)); puts(" pib[30]; int nzk, mova, mat, ist, fiz, oit;"); for(i=0;i<n;i++) { printf("Student %d :\n",i+1); gets(kn[i]->pib); scanf("%d%d%d%d%d%d",&kn[i]->nzk, &kn[i]->mova, &kn[i]->mat, &kn[i]->ist, &kn[i]->fiz, &kn[i]->oit); getchar(); } for(i=0;i<n;i++) { kn[i]->nez=kn[i]->z=0; if(kn[i]->mova>2)kn[i]->z++; else kn[i]->nez++; if(kn[i]->mat>2)kn[i]->z++; else kn[i]->nez++; if(kn[i]->ist>2)kn[i]->z++; else kn[i]->nez++; if(kn[i]->fiz>2)kn[i]->z++; else kn[i]->nez++; if(kn[i]->oit>2)kn[i]->z++; else kn[i]->nez++; } clrscr(); puts("uporiadkovatu za:"); puts(" 1. zadov."); puts(" 2. nezadov."); scanf("%d",&h); getchar(); if(h==1) for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(kn[i]->z>kn[j]->z) { tmp=kn[i]; kn[i]=kn[j]; kn[j]=tmp; } if(h==2) for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(kn[i]->nez>kn[j]->nez) { tmp=kn[i]; kn[i]=kn[j]; kn[j]=tmp; } clrscr(); printf("\n\n%-30s%-6s%-6s%-6s%-6s%-6s%-6s\n\n","pib","# zal","mova","mat","ist","fiz","oit"); for(i=0,j=0,h=0;i<n;i++) { if(kn[i]->z>0)h++; if(kn[i]->nez>0)j++; printf("%-30s%-6d%-6d%-6d%-6d%-6d%-6d\n",kn[i]->pib,kn[i]->nzk, kn[i]->mova, kn[i]->mat, kn[i]->ist, kn[i]->fiz, kn[i]->oit); } h=(h*100)/n; j=(j*100)/n; printf("\nstydentiv jaki majiyt\' zadovil\'no - %d\nstydentiv jaki majiyt\' nezadovil\'no - %d",h,j); getch(); } Відлагодження програм: 1)   2)  
Антиботан аватар за замовчуванням

02.12.2012 20:35

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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