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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
igorko2-rpz-10
0 / 0 / 0
Регистрация: 08.03.2013
Сообщений: 27
#1

Создание корзины интернет магазина с использованием стека - C++

02.04.2013, 14:43. Просмотров 356. Ответов 6
Метки нет (Все метки)

помогите пожалуйста написать такую ​​программу, я в отчаянии
Если не напишу то завалю курсач, а как это написать понятия не имею
чрезвычайно сильно прошу помочь с этим!!
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2013, 14:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создание корзины интернет магазина с использованием стека (C++):

Прохождение лабиринта с использованием стека - C++
Собственно задание: Создать программу, отыскивающую проход по лабиринту. Лабиринт представляется в виде матрицы, состоящей из...

Рекурсивный вывод стека с использованием классов - C++
:'(Помогите пожалуйста написать прогу с определением класса рекурсии для вывода стека, заданного через массив, в обратном порядке(тоесть...

Переписать реализацию стека с использованием ООП - C++
Найти элемент с заданным ключом в стеке . У меня написана программа эта через структуру . Нужно переписать её через классы при этом...

Программа с использованием объектов типа стека или очередь на C. - C++
Помогите пожалуйста с написанием. Программа с использованием объектов типа стека или очередь. На стандартный ввод программы поступают...

Реализовать программу умножения чисел столбиком с использованием стека - C++
Если можно, с комментариями. Спасибо.

Вычислить значение выражения в обратной польской записи с использованием стека - C++
Вычислить значение выражения в обратной польской записи с использованием стека. например 6 2 + = 6 + 2 = 8. получается сделать только храня...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
salam
162 / 143 / 12
Регистрация: 10.07.2012
Сообщений: 726
02.04.2013, 18:12 #2
какая-то наркоманская корзина... функционал вроде "добавить товар в корзину" и "удалить последний выбранный товар"?)
igorko2-rpz-10
0 / 0 / 0
Регистрация: 08.03.2013
Сообщений: 27
02.04.2013, 19:39  [ТС] #3
не обязательно, можно просто чтоб добавлять товары в корзину
хотя если можно было бы удалять их то вообще было бы прекрасно
salam
162 / 143 / 12
Регистрация: 10.07.2012
Сообщений: 726
02.04.2013, 19:47 #4
метод push_back() - положить объект в конец, pop_back() - удалить из конца. используйте.
igorko2-rpz-10
0 / 0 / 0
Регистрация: 08.03.2013
Сообщений: 27
03.04.2013, 11:22  [ТС] #5
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
#include <cstdio>
typedef int T;
class stack{
protected:
    struct element{
        T data;
        struct element* next;
    }*begin;
    void free_stack(struct element* arg){
        if (arg){
            free_stack(arg->next);
            delete arg;
        }
    }
stack(const stack& copy){};
stack& operator=(stack& value){return *this;};
public:
    stack():begin(NULL){};
    void push(T x){
        struct element* newEl=new struct element;
        newEl->data=x;
        newEl->next=begin;
        begin=newEl;
    }
    T pop(){
        if (!begin) return -1;
        T value=begin->data;
        struct element* newEl=begin->next;
        delete begin;
        begin=begin->next;
        return value;   
    }
    void clear(){
        free_stack(begin);
        begin=NULL;
    }
    void output(){
        struct element* cur=begin;
        while(cur){
            printf("%d, ", cur->data);
            cur=cur->next;
        }
        putchar('\n');
    }
    ~stack(){
        free_stack(begin);
    }
};
int main(){
    stack st0;
    for (int i=1; i<256; i*=2)
        st0.push(i);
    st0.output();
    getchar();
    return 0;
}
помогите пожалуйста написать такую ​​программу, я в отчаянии
Если не напишу то завалю курсач, а как это написать понятия не имею
чрезвычайно сильно прошу помочь с этим!!
я вот реализовал сам стек, но как расписать это по условию задачи не представляю,
пожалуйста помогите дописать это по условию

Добавлено через 1 минуту
я сделал стек где значння берутся из цикла,
но как сделать так чтоб их вводить и они бы передавались в стек и сортировались
а затем по необходимости и удалялись я не знаю
Croessmah
Модератор
Эксперт CЭксперт С++
13133 / 7396 / 828
Регистрация: 27.09.2012
Сообщений: 18,227
Записей в блоге: 3
Завершенные тесты: 1
03.04.2013, 13:24 #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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#include <iostream> 
#include <string>
 
template<typename T>
class Stack{
private:
    template<typename Ty>
    struct Stack_Node{
        Ty data;
        Stack_Node * next;
        Stack_Node(const Ty & _data,const Stack_Node * _next):data((Ty)_data),next((Stack_Node*)_next){}
    };
    Stack_Node<T> * topnode;
    size_t count;
public:
    Stack();
    Stack(Stack&);
    ~Stack();
    T & top() const;
    void pop();
    void push(const T & _val);
    bool empty() const;
    bool nonempty() const;
    size_t size() const;
};
 
 
template<typename T>
Stack<T>::Stack():topnode(nullptr),count(0){
}
 
template<typename T>
Stack<T>::Stack(Stack & cpy):topnode(nullptr),count(cpy.count){
    Stack_Node<T> * tempcpy=cpy.topnode;
    Stack_Node<T> * temp=nullptr;
    if(!count){
        return;
    }
    temp=topnode=new Stack_Node<T>(cpy.top(),nullptr);
    tempcpy=tempcpy->next;
    while(tempcpy){
        temp->next=new Stack_Node<T>(tempcpy->data,nullptr);
        temp=temp->next;
        tempcpy=tempcpy->next;
    }
}
 
template<typename T>
Stack<T>::~Stack(){
    Stack_Node<T> * temp=topnode;
    while(topnode){
        topnode=topnode->next;
        delete temp;
        temp=topnode;
    }
}
 
template<typename T>
bool Stack<T>::empty()const{
    return !count;
}
 
template<typename T>
bool Stack<T>::nonempty()const{
    return (bool)count;
}
 
template<typename T>
void Stack<T>::push(const T & _val){
    topnode=new Stack_Node<T>(_val,topnode);
    ++count;
}
template<typename T>
void Stack<T>::pop(){
    if (!topnode){
        // STACK пуст
        return;
    }
    Stack_Node<T> * temp=topnode;
    topnode=topnode->next;
    delete temp;
    --count;
}
template<typename T>
T & Stack<T>::top()const{
    return topnode->data;
}
 
template<typename T>
size_t Stack<T>::size()const{
    return count;
}
 
 
struct DATA{
    std::string str;
    size_t price;
};
 
 
int InputInteger(const char * str, int min, int max){
    int x;
    std::cout<<str;
    bool ErrorFlag;
    do{
        std::cin.clear();
        std::cin.ignore(std::cin.rdbuf()->in_avail());
        std::cin>>x;
        ErrorFlag=!std::cin.good() || x< min|| x>max;
        if(ErrorFlag){
            std::cout<<"Error. "<<str;
        }
    }while(ErrorFlag);
    std::cin.ignore(std::cin.rdbuf()->in_avail());
    return x;
}
 
void AddProduct(Stack<DATA> & st){
    DATA temp;
    std::cout<<"Add product:\nName ->";
    std::getline(std::cin,temp.str);
    temp.price=InputInteger("Price [0...1000000] ->",0,1000000);
    st.push(temp);
}
 
int main(){
    Stack<DATA> st;
    AddProduct(st);
    AddProduct(st);
    AddProduct(st);
}

Не по теме:

Цитата Сообщение от igorko2-rpz-10 Посмотреть сообщение
я сделал стек где значння берутся из цикла,
Угу.
Стек в С++

igorko2-rpz-10
0 / 0 / 0
Регистрация: 08.03.2013
Сообщений: 27
03.04.2013, 13:32  [ТС] #7
хорошо, МНЕ СДЕЛАЛИ СТЕК где значения берутся из цикла
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.04.2013, 13:32
Привет! Вот еще темы с ответами:

создание стека - C++
Люди помогите не могу создать стек проблема в том что нельзя использовать классы и сижу как дурак в коде нужно только создание ввод и...

Создание стека структур - C++
Как мне объявить стек структур с помощью &lt;stack&gt; ? Я создал структуру и хотел сделать стек таких структур, но почему-то у меня не...

Создание стека - код не компилируется - C++
Пытаюсь разобраться с динамическими структурами данных. Списал код, но не компилируется #pragma hdrstop #pragma argsused #include...

Создание стека и проверка на палиндром - C++
Вроде как правильные функции создание и извлечение из стека, но дальше путаюсь с указателями. Подскажите по логике как дальше правильно в...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.04.2013, 13:32
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru