1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Структуры.информация О Товарах

Тема в разделе "Вопросы новичков и не только", создана пользователем b0006, 17 дек 2013.

  1. b0006

    b0006 New Member

    Репутация:
    0
    Регистрация:
    17 дек 2013
    Сообщения:
    2
    Симпатии:
    0
    Мне важно эту программу доделать под это:
    Продукты питания: наименование, вес, цена, срок годности. Дополнить вывод информацией о товарах, которые следует уценить (срок годности которых истекает через 2 дня или ранее).


    Код:
    #include <stdafx.h>
    #include <iostream>
    #include <cctype>
    #include <cstring>
    #include <cstdlib>
    #include <windows.h>
    using namespace std;
    
    const int SIZE = 150;
    
    struct inv_type
    {
    char item [40]; // наименование товара.
    double cost;	// стоимость. 
    double retail; // розничная цена.
    int on_hand;	// имеющееся в наличии количество.
    int lead_time; // число дней до пополнения запасов.
    } invtry [SIZE];
    
    void enter ();
    void init_list ();
    void display ();
    void update ();
    void input (int i);
    int menu ();
    
    int main ()
    {
    SetConsoleCP (1251);
    SetConsoleOutputCP (1251);
    
    char choice;
    
    init_list ();
    
    for(;;) 
    {
    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 << "\nВ розницу: $";
    cout << invtry[t].retail << '\n';
    cout << "В наличии: " << invtry[t].on_hand;
    cout << "\nДо пополнения осталось: ";
    cout << invtry[t].lead_time << " дней\n\n";
    }
    }
    }
     
Загрузка...

Поделиться этой страницей