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

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

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

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

Рік:
2007
Тип роботи:
Лабораторна робота
Предмет:
Інші

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

МІНІСТЕРCТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Кафедра ICM Лабораторна робота №10 “ Робота з масивами структур” Мета роботи: Здобути практичні навички використання масивів структур для опрацювання таблиць різнотипних даних мови Сі. Хід виконання роботи Масиви структур у статичній пам'яті Сформувати масив структур з даними про студентів: прізвище, дата народження, місце народження. Дата народження задається у вигляді ДД:ММ:РР. Відсортувати масив за зростанням дат народження та вивести його на екран у формі таблиці. #include <stdio.h> #include <conio.h> #define n 40 struct dani { char neam[20]; char den,mis,rik; char misce[20]; }; void main() { struct dani stud[n],zmin; int k,j,i; printf("\n\nVvedit kilkist studentiv "); scanf("%d",&k); for(i=0;i<k;i++) { printf("prizvyshe %d-go studenta - ",i+1); scanf("%s",&stud[i].neam); printf("data narodzenja (dd:mm:yy)"); scanf("%2d:%2d:%2d",&stud[i].den,&stud[i].mis,&stud[i].rik); printf("misce narodzenja "); scanf("%s",&stud[i].misce); } printf("\n\n| prizvyshe | data | misce narodzenja |"); printf("\n|____________________|________|____________________|"); for(i=0;i<k;i++) printf("\n|%-20.20s|%02d:%02d:%02d|%-20.20s|", stud[i].neam,stud[i].den,stud[i].mis,stud[i].rik,stud[i].misce); for(j=0;j<k;j++) for(i=0;i<k-j-1;++i) if(stud[i].rik>stud[i+1].rik){zmin=stud[i];stud[i]=stud[i+1];stud[i+1]=zmin;} else if((stud[i].mis>stud[i+1].mis)&&(stud[i].rik==stud[i+1].rik)) {zmin=stud[i];stud[i]=stud[i+1];stud[i+1]=zmin;} else if((stud[i].den>stud[i+1].den) &&(stud[i].mis==stud[i+1].mis) &&(stud[i].rik==stud[i+1].rik)) {zmin=stud[i];stud[i]=stud[i+1];stud[i+1]=zmin;} printf("\n\n| prizvyshe | data | misce narodzenja |"); printf("\n|____________________|________|____________________|"); for(i=0;i<k;i++) printf("\n|%-20.20s|%02d:%02d:%02d|%-20.20s|", stud[i].neam,stud[i].den,stud[i].mis,stud[i].rik,stud[i].misce); getch(); }  Масиви структур у динамічній пам'яті Сформувати масив структур з даними про автомобілі: марка, колір, номер, рік випуску, дані про власника. Відсортувати масив по марках автомобілів та вивести його на екран у формі таблиці. Визначити кількість різних кольорів кожної марки. #include <stdio.h> #include <string.h> #include <alloc.h> #include <conio.h> struct dani {char marka[10],kolir[10],nomer[8],rik_v[5],dani_vla[34];}; struct mas {char marka[10]; int kil;}; void main(void) { int n,i,j,m=0; char k=1,s[34]; struct dani *a,*p,zmin; struct mas *str; printf("\nVveidt kilkist avto "); scanf("%d",&n); //vydilenja pamjati str=(struct mas*)calloc(n,sizeof(struct mas)); a=(struct dani*)calloc(n,sizeof(struct dani)); printf("\n marka | kolir |nomer |rik | DANI\n"); for(p=a;p<a+n;p++) scanf("%s %s %s %s %s",(*p).marka,(*p).kolir,(*p).nomer,(*p).rik_v,(*p).dani_vla); //sortuvanja for(i=0;i<n;i++) for(p=a;p<a+n-i-1;p++) if(strnicmp((char*)p,(char*)(p+1),10)>0){zmin=*p;*p=*(p+1);*(p+1)=zmin;} else if((strnicmp(((char*)p)+10,((char*)(p+1))+10,10)>0) &&(strnicmp((char*)p,(char*)(p+1),10)==0)) {zmin=*(p);*(p)=*(p+1);*(p+1)=zmin;} //vyvid danyh puts("\nvidsortovani dani po markah\n"); puts(" marka | kolir | nomer |rik | DANI"); puts("__________________________________________________________"); for(p=a;p<(a+n);p++) {printf("\n%-10s|%-10s|%-8s|%-4.4s|%s",(*p).marka, (*p).kolir,(*p).nomer,(*p).rik_v,(*p).dani_vla); //vyznachenja kilkosti koloriv koznoji marky if(strnicmp((char*)p,(char*)(p+1),10)!=0) { strncpy( s,(char*)p,10); strcat(str[m].marka,s); str[m].kil=k; k=1;m++; } else if(strnicmp(((char*)p)+10,((char*)(p+1))+10,10)!=0) k++; } puts("\n\n marky avto i kilkist riznyh koloriv\n"); for(i=0;i<m;i++) printf("\n|%-10.10s|%d|",str[i].marka,str[i].kil); getch(); free(str); free(a); }  Висновок: на даній лабораторній роботі я здобув практичні навички використання масивів структур для опрацювання таблиць різнотипних даних мови Сі.
Антиботан аватар за замовчуванням

31.03.2013 15:03-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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