Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Стуктуры данных.doc
Скачиваний:
4
Добавлен:
24.11.2018
Размер:
91.65 Кб
Скачать

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();

}