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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создать собственный библиотечный файл констант, типов и функций для реализации указанных задач и программу, которая использует его возможности http://www.cyberforum.ru/cpp-beginners/thread874381.html
задача решения задач по теории вероятности возможная реализацыя Перестановки, комбинации и т.д.
C++ Выполнить над файлом действия (Заменить все пробелы символом "*") Заменить все пробелы символом "*". http://www.cyberforum.ru/cpp-beginners/thread874378.html
Составление программ с использованием массива структур C++
задача Составить программу, которая формирует массив структур и обрабатывает его согласно соответствующего условия. Вариант 6. Ввести информацию о группе туристов в количестве 10 человек, состоит из фамилии, возраста, пола каждого. найти: а) количество мужчин; б) средний возраст; в) фамилия младшей из женщин; г) фамилия старшего мужчины; д) максимальный возраст.
Сложные типы данных в языке С: строки. Обработка символов символьных строк. задача C++
1. Ввести с клавиатуры строка. 2. Выполнить указанные в задании преобразования. 3. Вывести входные и преобразованы данные, предоставил им соответствующие комментарии. 4. Оформить отчет. Примечание: Слова в текстовой строке отделены пробелами или группами пробелов. 1)Дзеркально відбити всі слова текстового рядка есть код с паскаля нужно просто переписать на с++uses crt; var a:string;...
C++ Сложные типы данных в языке C: массивы. Программы с использованием основных алгоритмов поиска и сортировки элементов массива http://www.cyberforum.ru/cpp-beginners/thread874368.html
задача 1. Сформировать массив указанной размерности и типа. 2. Выполнить необходимые преобразования. 3. Вывести входные и преобразованы данные, предоставив им соответствующие комментарии. 4. Отсортировать полученный массив и вывести результат на экран. 4. Проанализировать полученные результаты. Составить отчет. 1) В массиве X найти номер первого положительного элемента и произведения...
C++ Поделить каждый элемент матрицы на номер строки этого элемента. Вывести на печать 4 первые строки матрицы, а затем 3 последних столбца матрицы Собственно такая задачка... Заранее благодарен!!!! (с++ в форме надо сделать) подробнее

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

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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru