СТРУКТУРЫ И ФУНКЦИИ
Если функция не изменяет структуру, вы можете передать структуру в функцию по имени. Например, следующая программа SHOW_EMP.CPP использует функцию show_employee для вывода элементов структуры типа employee:
#include iostream.h
#include string.h
struct employee
{
char name[64];
long employee_id;
float salary;
char phone[10];
int office_number;
};
void show_employee(employee worker)
{
cout "Служащий: " worker.name endl;
cout "Телефон: " worker.phone endl;
cout "Номер служащего: " worker. employee_id endl;
cout "Оклад: " worker.salary endl;
cout "Офис: " worker.office_number endl;
}
void main(void)
{
employee worker;
// Копировать имя в строку strcpy(worker.name, "Джон Дой");
worker.employee_id = 12345;
worker.salary = 25000.00;
worker.office_number = 102;
// Копировать номер телефона в строку strcpy(worker.phone, "555-1212");
show_employee(worker);
}
Как видите, программа передает переменную типа данной структуры worker в функцию show__employee по имени. Далее функция show_employee выводит элементы структуры. Однако обратите внимание, что программа теперь определяет структуру employee вне main и до функции show_employee. Поскольку функция объявляет переменную worker типа employee, определение структуры employee должно располагаться до функции.