Форум программистов, компьютерный форум CyberForum.ru

Структуры очередь - C++

Восстановить пароль Регистрация
 
kyzavr
 Аватар для kyzavr
2 / 2 / 0
Регистрация: 22.05.2013
Сообщений: 123
22.05.2013, 19:45     Структуры очередь #1
Здравствуйте , вот собственно задание)
Кликните здесь для просмотра всего текста

2. Фирма по хранению и сбыту бытовых инструментов получает грузы с оборудованием по различным ценам и продает их затем с 20%-ной надбавкой, причем товары, полученные ранее, продаются в первую очередь (структура данных – очередь). Напишите программу, считывающую записи о торговых операциях двух типов: операции по закупке и операции по продаже. Запись о продаже содержит префикс “S” и количество товара. Запись о закупке содержит префикс “R”, количество товара и стоимость одного изделия. После считывания записи о закупке напечатайте ее с указанием стоимости всей партии. После считывания записи об операции продажи напечатайте, сколько изделий было продано, цену одного изделия в каждой продаваемой партии, стоимость каждой партии и суммарную стоимость всей сделки. Например, если фирмой были проданы 200 единиц оборудования, в которые входили 50 единиц с закупочной ценой 1.25$ и 150 единиц с закупочной ценой 1.1$, то напечатаны должны быть три строки:
50 штук по 1.50$ каждый на сумму 75.00$
150 штук по 1.32$ каждый на сумму 198.00$
Всего продано на сумму 273.00$
Если на складе отсутствует требуемое в заказе число изделий, то продайте все имеющиеся, а затем напечатайте сообщение об отсутствии остальной части изделий на складе.

кто может помочь его сделать? через классы не надо , можно просто)
там нужно чтобы вот есть товар если его не весь продали из одной ценовой категории то он заносился бы в буферную переменную из которой потом в первую очередь бы очищалось ,а потом уже следующие из очереди.
пытался написать через просто список с постепенным удалением но мне сказали над именно очередь чтобы элемент весь удалялся(( и чет не понимаю как это все((

Добавлено через 5 часов 6 минут
Помогите написать функцию буферной переменной для того чтобы туда заносилась кол товара и цена если не продана вся продукция из данного вида, и из нее же первой удалялось когда идет продажа товара а потом уже из след
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#include <stdlib.h>
#include <iostream>
#include <conio.h>
#include <math.h>
#include <stdio.h>
#include <locale.h>
using namespace std;
struct tovar
{ 
 int koll;
 double prise;
 tovar* next;
};
 
class qeye
{
public:
      tovar* begin;
 
qeye(){begin=NULL;}
~qeye(){while(begin)take();}
void add()
      {
        tovar* temp= new tovar,*temp1=begin;
        cout<<"Введите количество товара"<<endl;  
        cin>>temp->koll; 
        cout<<"Введите цену товара:)"<<endl;
        cin>>temp->prise; 
        temp->next=NULL;
        if(begin)
        {
          while(temp1->next)temp1=temp1->next;
          temp1->next=temp;
        }
        else begin=temp;
      }
void print()
      {
       tovar* temp=begin;;
       if(begin)
       {
        cout<<" Количество товара = "<<temp->koll<<" По цене = "<<temp->prise<<endl;
        temp=temp->next;
        while(temp)
        {
          cout<<" Количество товара = "<<temp->koll<<" По цене = "<<temp->prise<<endl;
          temp=temp->next;
        }
        cout<<endl;
       }
       else cout<< "Склад пуст"<<endl;  
      }
tovar take()
      {
       if(begin)
         {
         tovar* temp,temp1;
           temp=begin;
           temp1=*temp;
           free(temp);
           begin=begin->next;
           
           return temp1;
         }
       else cout<<"Склад пуст"<<endl;  
       tovar temp1;
       temp1.koll=0;
       return temp1;
      }
 
   
};
 
int main()
{   
setlocale(LC_ALL,"RUS");
int i,fl=1;
    qeye qeye1;
    double x=0,mnog=0;
    tovar temp;
while(fl)
 {
    
    cout<<"Интерфейс"<<endl;
    cout<<"1 добавить товар"<<endl;
    cout<<"2 Продать товар"<<endl;
    cout<<"3 Вывести состояние склада"<<endl;
    cout<<"0 выход"<<endl;
    cin>>i;
    system("cls");
    if(i==0){fl--;}
    if(i==1){qeye1.add();}
    if(i==2){qeye1.take();}
    if(i==3){qeye1.print();}
 
       mnog=0;
    }     
 }
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2013, 19:45     Структуры очередь
Посмотрите здесь:

Задача на очередь (вывод сообщения, что очередь пуста) C++
Структуры. Очередь (вывести на экран фамилию человека,где номер телефона введен с клавиатуры) C++
C++ Линейные динамические структуры (определить, в которой из двух очередей больше согласных букв, построить новую очередь)
C++ Очередь (сделать очередь, чтобы добавляло, удаляло, читало. Не STL.)
C++ Динамические структуры. Очередь
Создать очередь. Добавить элемент в очередь. Удалить элемент из очереди C++
Очередь, теория. Очередь на шести стеках C++
Вычислить выражения используя односвязные (стек) и двусвязные (очередь) информационные структуры C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 18:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru