Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 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; Нарушение авторских прав |