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

Лабораторная работа 8 структуры

ЦЕЛЬ РАБОТЫ: Изучить правила создания произвольного типа данных с

помощью структуры и правила работы с этим типом.

1. Порядок выполнения работы

1.1. Выполнить программу 1.

1.2. В программе 1 вывести на экран наименования граф выход-

ной таблицы и начальное значение реквизита Итого.

2. Текст программ

/* Программа 1. */ // Структуры

#include <stdio.h>

void main(void)

{

char label[20];

int entries = 0;

int loop ;

double salar;

float summa;

struct Entry_struct // Описание структуры

{

char name[20];

int time;

float salary_1;

} entry[20];

printf("%d",sizeof(entry)); // Определение размера памяти

printf("\n\nВведите наименование таблицы : ");

scanf("%20s", label);

printf("Введите количество записей (меньше чем 20) ");

scanf("%d", &entries);

for (loop=0;loop<entries;++loop)

{

printf("Запись %d\n", loop);

printf(" Имя : ");

scanf("%20s", entry[loop].name);

printf("Количество отработанных часов (целое число) :");

scanf("%d", &entry[loop].time);

printf(" Зарплата : ");

scanf("%f", &entry[loop].salary_1);

}

printf("Введите начальное значение реквизита 'Итого' :");

scanf("%f", &summa);

/* Вывод введенных данных */

printf("\n\nТаблица %s\n",label);

printf("----------------------------------------------\n");

for (loop=0;loop<entries;++loop)

{ printf("%4d | %-20s | %5d | %15.2f\n",

loop + 1,

entry[loop].name, Лист 8-2

entry[loop].time,

entry[loop].salary_1);

printf("- -- - - - - - - - - - - - - - - - - - - - - -\n");

}

for (loop=0;loop<entries;++loop)

summa+=entry[loop].salary_1;

printf (" Итого | %10.4f",summa);

}

2. Индивидуальные задания

1. Общие требования. В каждом задании необходимо создать ис-

ходный массив структур. Количество записей массива является вход-

ным параметром. Исходный массив необходимо вывести на экран для

контроля введенных данных.

Полученные результаты (результирующий массив) необходимо вы-

вести на экран.

Реквизит ДАТА представлять в виде структуры из трех реквизи-

тов: ДЕНЬ, МЕСЯЦ, ГОД.

Реквизит ФИОстудента представлять в виде структуры из двух

реквизитов: ИМЯ, ФАМИЛИЯ.

2. Наименования и структуры записей исходных массивов:

2.1."Ведомость расходов студентов группы 901".Реквизиты записи: ФИОстудента, Дата_рождения, Расходы(руб.). 2.2."Ведомость приходов и расходов студентов группы 901". Реквизиты записи: ФИОстудента, Дата_рождения, Приход (руб.), Расход(руб.).

2.3."Ведомость инвентаризации материалов по цеху 9". Реквизиты записи: Наименование_материала, Единица_измерения, Цена(руб.), Результаты_инвентаризации. Реквизит Результаты_инвентаризации представлять в виде двух реквизитов: Недостачи и Излишки. Каждый из последних двух реквизитов представлять в виде двух реквизитов: Количество и Сумма(руб). Значение реквизита Сумма для Недостачь (Излишков) равно произведению Цены на Количество Недостачь (Излишков).

2.4."Ведомость приходов и расходов студента А за 1 квартал 1998г.". Реквизиты записи: Наименование_прихода_или_- расхода, Дата_прихода, Приход(руб.), Дата_расхода, Расход(руб.).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]