50178

Программирование задач с использованием структур

Лабораторная работа

Информатика, кибернетика и программирование

Создать и ввести массив из структур типа student размер массива произвольный и выполнить задание согласно варианту: Распечатать анкетные данные студентов отличников. Распечатать анкетные данные студентов успевающих на 4 и 5. Распечатать анкетные данные студентов имеющих одну 3. Распечатать анкетные данные студентов имеющих двойки.

Русский

2014-01-17

38 KB

15 чел.

Лабораторная Работа № 15

Тема: Программирование задач с использованием  структур.

Цель: Овладение навыками алгоритмизации и программирования задач с использованием структур.

Теоретические сведения:

  •  Структурой называется переменная, представляющая собой множество других переменных, которые могут относиться к различным типам.
  •  Переменные, которые объединены структурой, называются членами, элементами или полями структуры.
  •  Объявление структуры является оператором, и поэтому в конце должна стоять точка с запятой:

struct student{

char name[30];

int kurs;

char grup[3];

int stip;

}; // пока никакая структурная переменная не объявлена

  •  Для того, чтобы объявить конкретные переменные типа struct student, можно записать  struct student st1,st2; При такой записи компилятор автоматически выделит место в памяти компьютера. Причем, задание шаблона структуры и объявление переменных может производиться и в одном операторе.
  •  Доступ к конкретному элементу структуры осуществляется с помощью оператора «точка». Например, strcpy(st1.name, “Иванов М.С.”);
  •  Структуры, как и переменные другого типа, могут объединяться в массивы структур. Чтобы объявить массив структур, надо сначала задать шаблон структуры, а затем объявить массив: struct student studkurs[200];
  •  Для доступа к полю i-го элемента массива используем studkyrs[i].kurs;
  •  Если объявлены две переменные с одним шаблоном, то возможно присваивание st1=st2; при этом произойдет побитовое копирование каждого поля одной переменной в соответствующее поле другой структуры.
  •  Переменная типа структуры может быть глобальной, локальной переменной и формальным параметром.

Пример: Оформить данные о семье в виде массива структур. Выдать на экран данные о самом старшем члене семьи.

#includ<stdio.h>

#includ<conio.h>

struct chlens{

char fio[30];

float god;

}sem[5]; // массив структур из пяти элементов объявлен как глобальное данное

void main()

{

 int g[5],i,k,max;

 puts(”Вводите сведения о члене семьи”);

 for(i=0;i<=4;i++)

{  

puts(“Введите Ф.И.О.”);

gets(sem[i].fio);

puts(“Введите год рождения”);

scanf(“%f”,&sem[i].god);

g[i]=2008-sem[i].god;

}// for для ввода данных

for(i=0;i<=4;i++)

{

if(g[i]>-1000)

             {  max=g[i];

                 k=i;

               }

}// нахождение максимального возраста и его номера

for(i=0;i<=4;i++)

{

If(i==k)

printf(“Ф.И.О. самого старшего члена семьи:%30s”,sem[i].fio);

}

}//main

Варианты заданий: имеется структура типа student с полями: ФИО, год рождения, год поступления, оценки за 1, 2, и 3 экзамен (предметы любые). Создать и ввести массив из структур типа student (размер массива произвольный) и выполнить задание согласно варианту:

  1.   Распечатать анкетные данные студентов отличников.
  2.   Распечатать анкетные данные студентов, успевающих на 4 и 5.
  3.   Распечатать анкетные данные студентов, имеющих одну 3.
  4.   Распечатать анкетные данные студентов, имеющих двойки.
  5.   Распечатать анкетные данные студентов получивших одну 5.
  6.   Распечатать анкетные данные студентов получивших две 4.
  7.   Распечатать студентов , фамилия которых начинается с буквы А и их оценки.
  8.   Распечатать студентов , фамилия которых начинается с буквы Б и родившихся после определенного месяца.
  9.   Распечатать оценки студентов, фамилии которых начинаются с буквы В и Г.
  10.  Распечатать фамилии и даты рождения студентов, не получивших ни одной тройки и поступивших после 2003 года.
  11.  Вывести список студентов, упорядочив его по возрастанию среднего балла.
  12.  Вычислить средний балл всех студентов и распечатать список студентов, имеющих средний балл выше  общего среднего балла.
  13.  Вычислить средний балл всех студентов и распечатать список студентов, имеющих средний балл ниже  общего среднего балла.
  14.  Вычислить средний балл всех студентов и распечатать список студентов, имеющих средний балл равный  общему среднему баллу.
  15.  Распечатать фамилии и даты поступления студентов, не получивших ни одной 5 и родившихся после 1987 года.

Контрольные вопросы:

  1.  Как описываются переменные типа структура?
  2.  В каких случаях целесообразно использовать переменные типа структура?
  3.  Из каких компонентов состоит переменная типа структура?
  4.  Какие операции допустимы над полями структур?
  5.  Зачем используются массивы из структур?

Содержание отчета:

  1.  Краткие теоретические сведения.
  2.  Схемы алгоритмов.
  3.  Тексты составленных программ.
  4.  Протоколы к составленным программам.
  5.  Вывод о проделанной работе.


 

А также другие работы, которые могут Вас заинтересовать

22793. Напад Німеччини на СРСР та окупація України 30.5 KB
  ОУН. Виникають 2 фракції: ОУНМ А. Мельник; ОУНБ С. ОУН з радістю зустріли німців бо вважали що німці допоможуть створити незалежну У.
22794. Німецько-фашистський окупаційний режим в Україні 37 KB
  На землях південної України між Дністром і Південним Бугом із центром в Одесі утворено Трансністрію яку разом із Північними Буковиною та Бессарабією передано Румунії. Найбільші підприємства України були поділені між німецькими промисловими магнатами. Жодних законів на захист населення окупованої України не існувало. Керівник рейхс комісаріату Україна Еріх Кох заявив своїм підлеглим у вересні 1941 року: Наше завдання полягає в тому щоб вилучити з України все до чого дійдуть наші руки і в цьому ми не звертатимемо жодної уваги на...
22795. Окупаційний режим та Рух Опору в Україні 30.5 KB
  польські організації; сили ОУН . До початку війни ОУН співробітничала з гітлерівцями у німецькій армії був створений Легіон укр. Прагнення ОУН знайти рівновагу між власними інтересами і цілями фашистів не дали результату. ОУНБ починає формувати армію до якої були включені сили ОУНМ та всі розрізнені загони.
22796. Звільнення України від німецько-фашистських загарбників. Політичні наслідки Другої світової війни та українське питання 25.5 KB
  Гітлерівське командування втратило 73 тис. солдатів і офіцерів у тому числі 182 тис. Фашисти втратили 100 тис. солдатів і офіцерів; 615 тис.
22797. Курс на перебудову: плани та реальності його здійснення в Україні 37 KB
  Перш ніж горбачовські реформи дійшли до України тут сталася катастрофа глобального значення: 26 квітня 1986 р. Величезна радіоактивна хмара покрила багато районів України Росії Білорусії а згодом поширилася на землі Польщі та Скандинавії. Постали Українська республіканська партія Демократична партія України партія зелених та ін. На діаметрально протилежних позиціях стояла Комуністична партія України.
22798. Разработка заказной спецификации на аппаратные средства ЭВМ 30.85 KB
  Наличие хорошего сетевого адаптера, встроенного или внешнего; Наличие мощного процессора и видеоадаптера, необходимого для обработки трехмерной графической информации, а так же достаточная емкость ОЗУ.
22799. Визнання Української держави світовим співтовариством. Міжнародне співробітництво незалежної України 31 KB
  Міжнародне співробітництво незалежної України. Важливим кроком в цьому відношенні став робочий візит міністра закордонних справ України Б. Визначною подією в двосторонніх відносинах України з Канадою став офіційний візит до Києва премєрміністра Канади Ж. Важливим кроком на шляху підтвердження вірності України європейському вибору поглиблення її відносин з Францією стало проведення 1 березня 1999р.
22800. Походження назви «Україна» та «українці» 41.5 KB
  Походження назви Україна та українці Назва Україна щодо українських земель вперше зустрічається в Київському літописі 1187 р. За тих часів назва Україна поширювалася на Київщину Переяславщину Чернігівщину. Про походження назви Україна існує кілька припущень. Надєждін пояснив значення слова Україна.
22801. Ранній залізний вік на території України 63 KB
  Протягом тисячолітнього існування в Північному Причорномор'ї античні містадержави справили значний вплив на розвиток місцевих племен: скіфів сарматів слов'ян. Етногенез словян. Перші писемні згадки про словян. Існує кілька концепцій походження словян з яких найпоширеніша така: витоки слов'янської історії сягають щонайменше II тис.