|
|||
ЛАБОРАТОРНАЯ РАБОТА №8. Программирование с использованием структур. Теоретические сведения. Пример выполнения работыСтр 1 из 2Следующая ⇒ ЛАБОРАТОРНАЯ РАБОТА №8 Программирование с использованием структур Цель работы:овладение практическими навыками в организации ввода/вывода значений комбинированных типов данных, получение практической навыков программирования задач с использованием структур. 8.1. Теоретические сведения Структура– это составной тип данных, в котором под одним именем объ-единены данные различных типов. Отдельные данные структуры называются полями. Объявление структуры осуществляется с помощью ключевого слова struct, за которым идет ее имя и далее список элементов, заключенных в фигурные скобки: structимя { тип_элемента_1 имя_элемента_1; тип_элемента_2 имя_элемента_2; ... тип_элемента_n имя_элемента_n; } ; Правила работы с полями структуры идентичны работе с переменными со-ответствующих типов. К полям структуры можно обращаться через составное имя. Формат обращения: имя_структуры.имя_поля или указатель_на_структуру–>имя_поля 8.2. Пример выполнения работы Создать массив структур, содержащий информацию о студентах: ФИО, номер группы, оценки за последнюю сессию. Вывести информацию о студентах гр. 610205 в порядке убывания среднего балла. #include<iostream.h> #include<string.h> intmain () { struct strc{ charfio[40]; charngr[7]; intotc[4]; doublesb; } mstud[100]; intnst, i, j; cout << "Vvedite kol-vo studentov" << endl; cin >> nst; for(i=0; i < nst; i++) { cout << "Vvedite FIO"; cin >> mstud[i].fio; cout << "Vvedite nomer gr."; cin >> mstud[i].ngr; cout << "Vvedite 4 otcenki" << endl; mstud[i].sb = 0; for(j=0; j<4; j++) {
cin >> mstud[i].otc[j]; mstud[i].sb += mstud[i].otc[j]/4.; } cout << endl; } strc stemp; for(i=0; i < nst-1; i++) for(j=i+1; j<nst; j++) if(mstud[i].sb < mstud[j].sb && !strcmp(mstud[i].ngr,"610205") && !strcmp(mstud[j].ngr,"610205")) { stemp = mstud[i]; mstud[i] = mstud[j]; mstud[j] =stemp; } for(i=0; i < nst; i++) if(!strcmp(mstud[i].ngr,"610205")) cout << mstud[i].fio << " " << mstud[i].ngr << " " << mstud[i].sb << endl; return0; }
|
|||
|