double arrow

Struct employee

3

Primer 6 Лекция 10.

Struct employee

Primer 5 Лекция 10.

#include <iostream>

#include <string.h>

using namespace std;

int main()

{

system("chcp 1251");

{

char name [64];

long employee_id;

float salary;

char phone[10];

int office_number;

} worker;

// Копировать имя в строку strcpy(worker.name, "Иванов");

worker.employee_id = 12345;

worker.salary = 25000.00;

worker.office_number = 102;

// Копировать номер телефона в строку strcpy(worker.phone, "555-1212");

cout << "Служащий: " << worker.name << endl;

cout << "Телефон: " << worker.phone << endl;

cout << "Номер служащего: " << worker.employee_id << endl;

cout << "Оклад: " << worker.salary << endl;

cout << "Офис: " << worker.office_number << endl;

system("pause");

}

highlightSyntax('cpp_12497','cpp'); Присваивание целому элементу и элементу с плавающей точкой очень просто. Программа использует оператор присваивания, чтобы присвоить значение соответствующему элементу. Функция strcpy для копирования символьной строки в элементы name и phone. Если не инициализировать элементы при объявлении переменной типа данной структуры, необходимо копировать символьные строки в символьно-строковые элементы.


10.2.2. Объявление переменных структуры.

Структуры C++ позволяют программам группировать в одну переменную связанную информацию различных типов. Структура определяет шаблон для объявлений будущих переменных вашей программы. Каждая структура имеет уникальное имя (называемое тэгом). Используя имя структуры, можно объявить переменные типа данной структуры. Биты информации, хранящиеся в структуре, называются элементами. Чтобы использовать или присвоить значение элементу, используйте оператор C++ точку:




variable.member = some_value;

highlightSyntax('cpp_18936','cpp'); Если функция не изменяет структуру, можно передать структуру в функцию по имени. Следующая программа использует функцию show_employee для вывода элементов структуры типа employee:

#include <iostream.h>

#include <string.h>

using namespace std;

{

char name[64];

long employee_id;

float salary;

char phone[10];

int office_number;

};

int 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;

}

int main()

{

system("chcp 1251");

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

system("pause");

}

highlightSyntax('cpp_15038','cpp'); Программа передает переменную типа данной структуры worker в функцию show__employee по имени. Далее функция show_employee выводит элементы структуры. Однако обратите внимание, что программа теперь определяет структуру employee вне main и до функции show_employee. Поскольку функция объявляет переменную worker типа employee, определение структуры employee должно располагаться до функции.

Если функция изменяет параметр, следует передавать этот параметр в функцию с помощью адреса. Если функция изменяет элемент структуры, вы должны передавать эту структуру в функцию с помощью адреса, Для передачи переменной типа структуры с помощью адреса вы предваряете имя переменной оператором адреса C++ (&):

some_function(&worker);

Внутри функции, которая изменяет один или несколько элементов, следует работать с указателем. Если использовать указатель на структуру, легче всего обращаться к элементам структуры, используя следующий синтаксис:

pointer_variable->member = some_value; highlightSyntax('cpp_93248','cpp'); highlightSyntax('cpp_65481','cpp');

3





Сейчас читают про: