{//в версии Borland C++ версии 3.1 обнаружена ошибка при
//использовании в вычислениях и преобразованиях вывода
//вещественных значений элементов структур . Чтобы обойти ошибку, //выбираем вещественное значение элемента union в простую
//вещественную переменную f (f=z.fr;), а затем используем f в
//выражениях и наоборот.
printf ("размер z=%d байта \n",sizeof(z));
// sizeof(z) вычисляет длину переменной z и printf распечатывает
//вычисленную длину
printf ("введите значение z.ir \n"); //выдача приглашения для ввода
scanf ("%d",&z.ir);//ввод целого значения в элемент z.ir
printf ("значение ir =%d \n",z.ir);//вывод значения z.ir
printf ("введите значение z.fr \n"); //приглашение для ввода
//вещественного значения
scanf ("%f",&f); //ввод вещественного значения в переменную f и
z.fr=f;//запись в z.fr (фактически реализован ввод: scanf ("%f",&z.ir);.
printf ("значение fr=%f \n",f); //вывод значения вещественной переменной
printf ("введите значение z.cr \n"); // приглашение на ввод информации
flushall(); // очистка буферов ввода-вывода.
//Такая очистка буфера здесь необходима, так как в буфере ввода остается
//символ конца строки от предыдущего ввода, который затем введется //спецификацией %c , вместо реально набираемого символа
scanf ("%c",&z.cr); //чтение символа, введенного с клавиатуры
printf ("значение сr=%c;\n",z.cr);//вывод значения символа
}
Пример сеанса работы с программой («Enter» - это нажатие этой клавиши):
размер z= 4 байта
введите значение z.ir
7 «Enter»
значение ir=7
Введите значение z.fr
З8.345678«Enter»
Значение fr=8.345678
Введите значение z/cr
P«Enter»
Значение cr= P;
Варианты задания (в программе использовать структуры, битовые поля и смеси; все логически законченные части программы оформить в виде отдельных функций):
1.Разработать программу учета покупок ювелирного магазина. Данные о покупках хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по стоимости ювелирного украшения.
2. Разработать программу учета жилищного фонда. Данные о жилом фонде хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру жилищного договора.
3. Разработать программу учета стройматериалов. Данные о стройматериалах хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру договора.
4. Разработать программу учета посадок на участке в ботаническом саду. Данные о участках хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру участка.
5. Разработать программу расчета закупки сырья промышленного предприятия. Данные о закупках хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по типу сырья.
6. Разработать программу расчета прибыли от выполняемых работ по ремонту офиса многофилиального концерна. Данные о выполняемых работах хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по сумме выполненных работ.
7. Разработать программу расчета деталей, использованных при изготовлении какого-либо изделия. Данные о деталях хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по стоимости деталей, используемых в данном изделии.
8. Разработать программу расчета закупки сырья промышленного предприятия. Данные о закупках хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру накладной
9. Разработать программу определения затрат рабочего времени на выполнение строительных работ. Данные о строительных работах хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру заказа.
10. Разработать программу определения пробега автомобиля на основе путевых листов. Данные о путевых листах хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру путевого листа.
11. Разработать программу определения величины таможенных сборов на базе контрактов коммерческой фирмы. Данные о таможенных сборах хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру контракта.
12. Разработать программу определения процента выхода годных изделий на основе актов приема ОТК. Данные о тестируемых партиях хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру заказа.
13. Разработать программу оценки экспорта фирмы. Данные об экспортных операциях хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру контракта.
14. Разработать программу оценки роста промышленного предприятия по данным за последние годы. Данные о финансовых отчетах хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру финансового документа.
15. Разработать программу оценки продаж театральных билетов от времени года. Данные о продажах хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по величине прибыли.
16. Разработать программу определения суммарной продажи проездных билетов за определенный месяц. Данные о продажах хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по величине прибыли.