Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Различных, но логически связанных переменных. По тем же причинам их иногда называют





Составными или конгломератными типами данных.

Член структуры — это переменная, которая является частью структуры.

Имя структуры — это ее спецификатор типа.

struct имя_типа_структуры {

Тип имя_элемента1;

Тип имя_элемента2;

Тип имя_элемента3;

.

.

.

Тип имя_элементаN;

} структурные_переменные;

К отдельным членам структуры доступ осуществляется с помощью оператора "точка".

Например, при выполнении следующего кода значение 10.39 будет присвоено полю cost

Структурной переменной inv_var, которая была объявлена выше.

inv_var.cost = 10.39;

Чтобы обратиться к члену структуры, нужно перед его именем поставить имя структурной

переменной и оператор "точка". Так осуществляется доступ ко всем элементам структуры.

Общий формат доступа записывается так.

Имя_структурной_переменной.имя_члена

Оператор "точка" (.) позволяет получить доступ к любому члену любой структуры.

Следовательно, чтобы вывести значение поля cost на экран, необходимо выполнить

Следующую инструкцию.

cout << inv_var.cost;

Аналогичным способом можно использовать символьный массив inv_var.item в вызове

Функции gets().

Если вам нужно получить доступ к отдельным элементам массива inv_var.item, используйте

Индексацию. Например, с помощью этого кода можно посимвольно вывести на экран

Содержимое массива inv_var.item.

Int t;

for(t=0; inv_var.itern[t]; t++)

cout << inv_var.item[t];

23. const int SIZE = 100;

struct inv_type {

char item[40]; // наименование товара

double cost; // стоимость

double retail; // розничная цена

int on_hand; // имеющееся в наличии количество

int lead_time; // число дней до пополнения запасов

} invtry[SIZE];

Void enter(), init_list(), display();

Void update(), input(int i);

Int menu();

Int main()

{

Char choice;

Init_list();

fоr (;;) {

choice = menu();

switch(choice) {

case 'e': enter();

Break;

case 'd': display();

Break;

case 'u': update();

Break;

case 'q': return 0;

}

}

}

// Инициализация массива структур.

Void init_list()

{

Int t;

// Имя нулевой длины означает пустое имя.

for(t=0; t<SIZE; t++) *invtry[t].item = '\0';

}

//Получение команды меню, выбранной пользователем.

Int menu()

{

Char ch;

cout << '\n';

do {

cout << "(E)nter\n"; // Ввести новый элемент.

cout << "(D)isplay\n"; // Отобразить всю ведомость.

cout << " (U) pdate\n"; // Изменить элемент.

cout << " (Q) uit\n\n"; // Выйти из программы.

cout << "Выберите команду: ";

cin >> ch;

}while(!strchr("eduq", tolower(ch)));

Return tolower(ch);

}

//Ввод элементов в инвентарную ведомость.

Void enter()

{

Int i;

// Находим первую свободную структуру.

for(i=0; i<SIZE; i++)

if(!*invtry[i].item) break;

// Если массив полон, значение i будет равно SIZE.

if(i==SIZE) {

cout << "Список полон.\n";

Return;

}

Input(i);

}

// Ввод информации.

Void input(int i)

{

cout << "Товар: ";

cin >> invtry[i].item;

cout << "Стоимость: ";

cin >> invtry[i].cost;

cout << "Розничная цена: ";

cin >> invtry[i].retail;

cout << "В наличии: ";

cin >> invtry[i].on_hand;

cout << "Время до пополнения запасов (в днях): ";

cin >> invtry[i].lead_time;

}

// Модификация существующего элемента.

Void update()

{

Int i;

char name[80];

cout << "Введите наименование товара: ";

cin >> name;

for(i=0; i<SIZE; i++)

if(!strcmp(name, invtry[i].item)) break;

if(i==SIZE) {

cout << "Товар не найден.\n";

Return;

}

cout << "Введите новую информацию.\n";

Input (i);

}

// Отображение на экране инвентарной ведомости.

Void display()

{

Int t;

for(t=0; t<SIZE; t++) {

if(*invtry[t].item) {

cout << invtry[t].item << '\n';


cout << "Стоимость: $" << invtry[t].cost;

cout << "\nB розницу: $";

cout << invtry[t].retail << '\n';

cout << "В наличии: " << invtry[t].on_hand;

cout << "\nДо пополнения осталось: ";

cout << invtry[t].lead_time << " дней\n\n";

}

}

}







Date: 2016-07-25; view: 308; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.012 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию