Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Структуры.Информация о товарах 
:(
    Опции темы
b0006
  Дата 17.12.2013, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 17.12.2013

Репутация: нет
Всего: нет



Мне важно эту программу доделать под это:
Продукты питания: наименование, вес, цена, срок годности. Дополнить вывод информацией о товарах, которые следует уценить (срок годности которых истекает через 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";
        }
    }
}

PM MAIL   Вверх
akizelokro
Дата 17.12.2013, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: нет
Всего: 5



Тут надо садиться и писать, задача-то простая


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
b0006
Дата 17.12.2013, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 17.12.2013

Репутация: нет
Всего: нет



Цитата(akizelokro @ 17.12.2013,  20:53)
Тут надо садиться и писать, задача-то простая

ну да)не сложная программа)суть в том,что мне ее через 5 часов сдавать надо)поэтому и прошу помочь)
PM MAIL   Вверх
akizelokro
Дата 17.12.2013, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: нет
Всего: 5



Так тебе надо добавить пару полей в определение структуры, добавить несколько строчек в финкцию печати этой структуры, пару строчек для ввода данных, и ещё (по уже существующим шаблонам) пару опций. Работы на 2 часа.

И все заняты конкретно, я сейчас сам лобаю очередной этап проекта.

Это сообщение отредактировал(а) akizelokro - 17.12.2013, 22:11


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0420 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.