mas_struct[8].code = 215;
Пример. Заполнить массив из 3 записей следующей структуры:
– ФИО студента;
– курс;
– группа;
– оценка по математике;
– оценка по программированию;
– оценка по физике.
Вывести на экран массив записей в виде таблицы следующего вида:
ФИО |
Курс |
Группа |
Матем. |
Прог. |
Физ. |
Ср. балл |
|
|
|
|
|
|
|
Средний балл рассчитать по всем трем оценкам.
Программа на C++
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
int main()
{
const int n = 3; // Размерность массива со структурами
const int m = 77; // Ширина таблицы в символах
// Понадобится для рисования таблицы
setlocale(LC_ALL, "Russian");
// Описание типа структуры
struct stud {
string fio;
int kurs;
string gruppa;
int math, prog, fiz;
};
stud mas[n]; // Массив из структур
cout << "Введите " << n << " записей" << endl;
for (int i = 0; i < n; i++)
{
cout << "Введите ФИО студента" << endl;
if (i != 0)
while (cin.get() != '\n');
getline(cin,mas[i].fio);
cout << "Введите курс" << endl;
cin >> mas[i].kurs;
cout << "Введите группу" << endl;
while (cin.get() != '\n');
getline(cin,mas[i].gruppa);
cout << "Введите оценку по математике" << endl;
cin >> mas[i].math;
cout << "Введите оценку по программированию" << endl;
cin >> mas[i].prog;
cout << "Введите оценку по физике" << endl;
cin >> mas[i].fiz;
}
// Вывод таблицы со структурами на экран
cout << " Студенты" << endl;
// Прорисовка верхней границы таблицы
for (int j = 0; j < m; j++)
cout << "-";
cout << endl;
// Прорисовка шапки таблицы
cout << "| ФИО | Курс | Группа | Матем. | Прог. | Физ. | Ср. балл |"<< endl;
// Прорисовка нижней границы шапки таблицы
for (int j = 0; j < m; j++)
cout << "-";
cout << endl;
float sr_ball; // Переменная для расчета среднего балла
// Прорисовка основной части таблицы
// В ходе итерации цикла на экран выводится строка
// таблицы содержащая все поля текущей структуры
for (int i = 0; i < n; i++)
{
// Расчет среднего балла для текущей структуры
sr_ball = (mas[i].math + mas[i].prog + mas[i].fiz) / 3.0;
cout << "| " << setw(20) << mas[i].fio;
cout << " | " << setw(4) << mas[i].kurs;
cout << " | " << setw(8) << mas[i].gruppa;
cout << " | " << setw(6) << mas[i].math;
cout << " | " << setw(5) << mas[i].prog;
cout << " | " << setw(4) << mas[i].fiz;
cout << " | " << setiosflags(ios::fixed) <<
setprecision(2) << setw(8) << sr_ball << " | " << endl;
}
// Прорисовка нижней границы таблицы
for (int j = 0; j < m; j++)
cout << "-";
cout << endl;
system("pause");
}
Составить программу для работы с массивом структур.
Выход годных
Код операции |
Тип прибора |
Годные |
Брак |
Процент |
|
|
|
|
|
Итого |
|
|||
2. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: ФИО, количество дней отпуска, среднее количество рабочих дней в месяце, средняя месячная заработная плата. Вычислить отпускные и составить ведомость такого типа:
Отпускные выплаты
Порядковый номер |
ФИО |
Кол-во дней отпуска |
Кол-во дней работы |
Зар. плата |
Отпускные |
|
|
|
|
|
|
Итого |
|
||||
3. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: изделие, план производства, фактическое количество. Рассчитать процент выполнения плана и составить ведомость такого типа:
Выполнение плана
Изделие |
План |
Факт. кол-во |
Процент |
|
|
|
|
Итого |
|
|
|
4. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: ФИО студента, количество лабораторных работ по программированию, количество сделанных работ по программированию, количество лабораторных работ по экономике, количество сделанных работ по экономике. Рассчитать процент выполнения лабораторных работ и выдать ведомость такого типа:
Выполнение лабораторных работ
ФИО |
Программирование |
Экономика |
||||||
|
План |
Факт |
Процент |
План |
Факт |
Процент |
||
|
|
|
|
|
|
|
||
Итого |
|
Итого |
|
|||||
5. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: индекс товара, наименование, сорт, количество, цена. Рассчитать стоимость товара и составить ведомость такого типа:
Товарная ведомость
Индекс товара |
Наименование |
Сорт |
Количество |
Цена |
Стоимость |
|
|
|
|
|
|
Итого |
|
||||
6. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: разряд, часовая тарифная ставка, количество отработанных часов. Рассчитать зарплату рабочих-повременщиков и составить отчет:
Ведомость на оплату
ФИО |
Разряд |
Часовая тариф. ставка |
Отработано часов |
Заработная плата |
|
|
|
|
|
Итого |
|
|||
7. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: название детали, название материала, цена за единицу материала, количество деталей, норма расхода материала на деталь. Рассчитать расход материала на все количество деталей и выдать ведомость:
Расходная ведомость
Деталь |
Материал |
Количество |
Норма |
Цена |
Стоимость |
|
|
|
|
|
|
Итого |
|
||||
8. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: номер рейса автобуса, наименование рейса, количество проданных билетов, цена за билет. Рассчитать стоимость проданных билетов и выдать ведомость такого типа:
Справка о проданных билетах
Номер рейса |
Наименование рейса |
Кол-во продан. билетов |
Цена |
Стоимость |
|
|
|
|
|
|
|
Итого |
|
||||
9. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: марка автомобиля, грузоподъемность, количество рейсов в день, количество рабочих дней в месяце. Рассчитать общее количество перевезенных грузов и составить ведомость такого типа:
Справка о перевозках
Марка автомобиля |
Грузоподъемность |
Кол-во рейсов в день |
Кол-во раб. дней в мес. |
Общее кол-во перев. грузов |
|
|
|
|
|
Итого |
|
|||
10. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: ФИО студента, шифр группы, наименование дисциплины, общее количество занятий, количество пропущенных занятий. Рассчитать процент посещаемости и выдать ведомость такого типа: