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.  Вывод о проделанной работе.


 

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

40538. Аффиксация как грамматический способ, типы аффиксов 27.5 KB
  Бопп склеивание 1 Индоевропейская семья 1 Тюркская финноугорская семья кавказские языки 2 Аффиксы многозначны 2 Аффиксы однозначны. 3 Аффиксы нестандартны 3 Аффиксы стандартны 4 Без аффиксов слово не является оформленным 4 Без аффиксов слово может функционировать 5 Аффиксы сливаются с корнем хорошо видно на фонетическом уровне 5 Морфемный шов четко виден В русском языке агглютинирующий аффикс постфикс ся Классификация аффиксов: по положению относительно корня: префиксы постфиксы по значению обычно постфиксы: ...
40539. Баски 33.5 KB
  Vscones о чем свидетельствует обилие имен собственных баскского происхождения в этом районе. Праязыком баскского является аквитанский в котором было насчитано 400 имён собственных и 70 богословных названий. Не увенчались успехом попытки установления родства баскского языка с кавказскими хамитскими и дравидийскими языками с лигурским и тем более японским. Французский филолог принц ЛуиЛюсьен Бонапарт 18131891 выделил следующие диалекты баскского языка: бискайский гипускоанский южный и северный варианты верхненаваррского...
40540. Генеалогическая классификация языков. Структура индоевропейской языковой семьи. Важнейшие языковые семьи 22 KB
  Генеалогическая классификация языков. Генеалогическая классификация изучение и группировка языков мира на основании определения родственных связей между ними отнесения их к одной семье группе т.
40541. Грамматические способы в языках мира (кроме аффиксации) 29.5 KB
  Полное или частичное повторение корня основы или целого слова возможно изменение звукового состава. Супплетивизм использование разнокоренных слов разноосновных для образования нового слова лексическое значение не меняется. формы степени сравнения: хороший лучше виды глагола: брать взять временные формы: быть буду был формы местоимений: я меня мною формы числа: человек люди Способ ударения образует формы слова передвижением ударения. Служебные слова: предлоги союзы частицы артикли: признак имени...
40542. Предмет фонетики. Три аспекта изучения звуков речи. Акустические свойства звуков речи 11.08 KB
  Свойства звуковой волны: высота звука частота колебаний в единицу времени Гц. сила амплитуда колебаний. тон результат периодических ритмических колебаний. шум результат непериодических ритмических колебаний.
40544. Лексико-семантическая система языка, ее организация и особенность изменения. Фразеологизмы 12.09 KB
  Слова любого языка упорядоченное явление. Система основана на разных типах отношений между словами: экстралингвистические факторы машина велосипед агрегаты для перемещения внутрилингистическое единство. Важные лексические группировки слов: тематические группы слов семантические поля на основе экстралингвистических связей. Гипоним слово обозначающее подчиненное понятие Гипероним слово обозначающее более общее понятие.
40545. Словосочетание как единица синтаксиса. Классификация словосочетаний по разным признакам 13.29 KB
  Словосочетание типовое соединение словоформ синтаксическая конструкция которая образуется соединением двух или более знаменательных слов на основе подчинительной связи. По виду связи: согласование вид подчинительной связи при котором форма зависимого слова повторяет форму стержневого проявляет те же грамматические категории. управление вид подчинительной связи при котором форма зависимого компонента определяется свойствами главного слова. примыкание вид подчинительной связи при котором не используются специальные средства...
40546. Грамматическая форма, грамматическое значение и грамматическая категория как основные понятия морфологии 11.58 KB
  Грамматическая форма грамматическое значение и грамматическая категория как основные понятия морфологии. Грамматическое значение общее отвлеченное свойственное многим словам значение в отличие от лексического относит данную словоформу к определенному грамматическому классу. Каждая морфема несет какоелибо грамматическое значение. Столикам Стол корень передает вещественное значение.