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

Тема в разделе "C/C++/C#", создана пользователем b0006, 17 дек 2013.

  1. b0006

    b0006 New Member

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


    Код (C++):
    #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";
    }
    }
    }
     
Загрузка...
Похожие Темы - Структуры информация Товарах
  1. TSoprano
    Ответов:
    1
    Просмотров:
    1.007
  2. vlada
    Ответов:
    6
    Просмотров:
    1.457
  3. Anastasia18
    Ответов:
    1
    Просмотров:
    1.204
  4. dimat
    Ответов:
    0
    Просмотров:
    2.290
  5. ricco
    Ответов:
    3
    Просмотров:
    3.168

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