Материал: Laboratornaya_Rabota_3_условие

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

}

6. Задание № 3

Составить программу для работы с массивом структур.

1. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: код операции, тип прибора, годные, брак. Рассчитать процент выхода годных приборов и составить отчет:

Выход годных

Код операции

Тип прибора

Годные

Брак

Процент

Итого

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 структур, каждая из которых содержит следующие поля: ФИО студента, шифр группы, наименование дисциплины, общее количество занятий, количество пропущенных занятий. Рассчитать процент посещаемости и выдать ведомость такого типа:

Источник: https://studfile.net/preview/16672682/