Хелпикс

Главная

Контакты

Случайная статья





ЛАБОРАТОРНАЯ РАБОТА №8. Программирование с использованием структур. Теоретические сведения. Пример выполнения работы



ЛАБОРАТОРНАЯ РАБОТА №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;

}

 

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.