- •Записи (структуры)
- •Описание структуры
- •1. Описание шаблона структуры
- •2. Описание структурной переменной Синтаксис описания шаблона структуры:
- •Int Age; // Возраст - целое
- •Int oc[4]; // Оценки - целочис. Массив
- •Синтаксис описания структурной переменной:
- •Совмещение описания шаблона структуры и структурной переменной Синтаксис описания:
- •Совмещение описания шаблона, описания структурных переменных и инициализации полей в одном предложении
- •Использование описания пользовательского (собственного) типа данных для описания структуры
- •1. Описание пользовательского типа
- •2. Описание переменных Синтаксис описания:
- •Int Age; // Возраст - целое
- •Int oc[4]; // Оценки - целочис. Массив
- •/* Вложенные структуры. Описание. Обращение к полям */
- •1. Описание вкладываемой структуры
- •2. Описание вложенной структуры и структурных переменных
- •Int Age; // Возраст - целое
- •Int oc[4]; // Оценки - целочис. Массив
- •Int Age; // Возраст - целое
- •Int oc[4]; // Оценки - целочис. Массив
- •Массивы структурных переменных
- •Int year; // Год рождения
- •/* Примеры программ работы со структурами */
- •/* Описание шаблона структуры */
- •Int Age; // Возраст - целое
- •Int oc[4]; // Оценки - целочис. Массив
- •/*Пример 2. Совмещение описания шаблона структуры и структурной переменной*/
- •Int Age; // Возраст - целое
- •Int oc[4]; // Оценки - целочис. Массив
- •/*Пример 3. Совмещение описания структуры, структурных переменных и инициализации в одном предложении */
- •Int Age; // Возраст - целое
- •Int oc[4]; // Оценки - целочис. Массив
- •Int Age; // Возраст - целое
- •Int oc[4]; // Оценки - целочис. Массив
- •Int Age; // Возраст - целое
- •Int oc[4]; // Оценки - целочис. Массив
- •1987 Года рождения,
- •Int year; // год рожд.
1987 Года рождения,
проживающий по адресу: ул. Гагарина, имеет средний балл= 4.00
Новая фамилия? Сидоров
Для структуры S3(частично совпадает с S4):
Студент Сидоров 1984 года рождения,
проживающий по адресу: ул. Гагарина, имеет средний балл= 3.75
/* Пример 6. Поиск в массиве структур, вводимых с клавиатуры */
/* Фамилии сотрудников, имеющих оклад выше среднего */
#include <stdio.h>
#include <string.h>
#include <iostream.h>
void main()
{
const int lfio=20, lpay=5, lo=7, //длины полей фио, г.рожд., оклада
ldb=10;
struct Man
{ char fio[lfio+1]; // фио
Int year; // год рожд.
float pay; // оклад
};
Man db[ldb]; // массив структур
int i, n;
float s;
puts("Число записей?(1<n<=10)"); cin>>n;
for(i=0;i<n;i++)
{
puts("Фамилия? "); cin>>db[i].fio;
puts("Год рождения? "); cin>>db[i].year;
puts("Оклад? "); cin>>db[i].pay;
}
puts(" Список сотрудников");
puts("┌──────────┬───┬────┐");
puts("│ │ │ │");
puts("├──────────┼───┼────┤");
for(i=0;i<n;i++)
printf("|%-20s|% 5d | % 7.2f |\n", db[i].fio, db[i].year, db[i].pay);
puts("└──────────┴───┴────┘");
puts("Фамилии сотрудников, имеющих оклад выше среднего");
//Вычисление среднего оклада
s=0;
for(i=0;i<n;i++) s+=db[i].pay; s/=n;
// Определение и вывод фамилий
for(i=0;i<n;i++)
if(db[i].pay>s) printf("%-s\n",db[i].fio);
fflush(stdin); getchar();
}