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

Создать массив структур, содержащих сведения о различных товарах в магазинах города - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти произведение/ С++ для начинающих http://www.cyberforum.ru/cpp-beginners/thread1134917.html
Вычислить П(в числителе n, в знаменателе i-1) (2+1/i!)
C++ Организовать класс натуральной дроби Поле first — целое положительное число, числитель; поле second — целое положительное число, знаменатель. Реализовать метод ipart() — выделение целой части дроби first/second. Метод должен проверять неравенство знаменателя нулю http://www.cyberforum.ru/cpp-beginners/thread1134912.html
Определить, какая из фигур имеет большую площадь / С++ для начинающих C++
Определить какая из двух фигур круг или квадрат имеет большую площадь.Значение стороны квадрата a и радиус круга r вводится через файл imput.txt.Вывести в выходной файл output.txt название и значение площади большей фигуры.
Нумерация битов в битовых полях C++
Здравствуйте! У меня есть битовое поле и юнион: struct bitfield{ bool b0:1; bool b1:1; bool b2:1; bool b3:1; bool b4:1; bool b5:1; bool b6:1;
C++ Интегрированные структуры данных, записи http://www.cyberforum.ru/cpp-beginners/thread1134894.html
Для каждой области перечислены параметры объекта. Среди параметров обязательно есть ключевое алфавитное поле (например, фамилия), которое идентифицирует объект, у каждого объекта имеется также одно или несколько числовых полей, по которым вероятны обращения к объекту. Набор характеристик может быть расширен и усложнен по усмотрению исполнителя. Прикладная область БД: аэропорт Атрибуты...
C++ Взаимно ссылающиеся классы: 1)Правильное описание 2)ошибки IntelliSense Есть такой код: class A; //объявление кл. А (т.н. "forward declaration") class E { //описание кл. Е public: void static changeA(A&); }; class A { //описание кл. А public: подробнее

Показать сообщение отдельно
enyx
7 / 7 / 2
Регистрация: 03.07.2013
Сообщений: 42
31.03.2014, 16:47     Создать массив структур, содержащих сведения о различных товарах в магазинах города
есть похожая тема там я написал программу вот код,думаю разберетесь сами,спрашивайте если че
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
132
133
134
135
136
137
138
139
140
141
142
143
#include <iostream>
#include <string.h>
using namespace std;
 
 
struct Market
{
    char *product;
    char *market_name;
    int price;
    int amount;
    Market(char *p,char *mn,int pp,int a);
    Market(const Market &obj);
    Market operator=(const Market &object);
    ~Market();
    int get_product_amount() const;
    int get_product_price() const;
    void get_product_name(char *a) const;
    void print() const;
};
 
void sort_by_product_name(Market *array[],int size);
int main()
{
    Market *market[2];
    for(int i = 0;i < 2;i++)
    {
        cout<<"Enter product name ... "<<endl;
        char pn[10];
        cin>>pn;
 
        cout<<"Enter market name ... "<<endl;
        char mn[10];
        cin>>mn;
 
        cout<<"Enter price ... "<<endl;
        int pr;
        cin>>pr;
 
        cout<<"Enter amount ... "<<endl;
        int am;
        cin>>am;
 
        
        market[i] = new Market(pn,mn,pr,am);
    }
    cout<<endl;
    for(int i=0;i<2;i++)
    {
        market[i]->print();
    }
    cout<<"After sorting"<<endl;
    sort_by_product_name(market,2);
    for(int i=0;i<2;i++)
    {
        market[i]->print();
    }
    return 0;
}
 
void sort_by_product_name(Market *array[],int size)
{
    for(int i=0;i<size;i++)
    {
        for(int k=0;k<size-1;k++)
        {
            char temp_1[10];
            char temp_2[10];
            array[i]->get_product_name(temp_1);
            array[i + 1]->get_product_name(temp_2);
            if(temp_1[0] > temp_1[0])
            {
                Market *temp_obj = array[i + 1];
                array[i + 1] = array[i];
                array[i] = temp_obj;
                delete temp_obj;
            }
        }
    }
}
 
Market Market::operator=(const Market &object)
{
    delete [] product;
    delete [] market_name;
    product = new char[strlen(object.product)];
    market_name = new char[strlen(object.market_name)];
    price = object.price;
    amount = object.amount;
}
 
Market::Market(const Market &obj)
{
    product = new char[strlen(obj.product)];
    strcpy(product,obj.product);
 
    market_name = new char[strlen(obj.market_name)];
    strcpy(market_name,obj.market_name);
    
    price = obj.price;
    amount = obj.amount;
}
 
 
void Market::get_product_name(char *a) const
{
    a = new char[strlen(product)];
    strcpy(a,product);
}
 
int Market::get_product_amount() const
{
    return amount;
}
 
int Market::get_product_price() const
{
    return price;
}
Market::~Market()
{
    delete [] product;
    delete [] market_name;
}
void Market::print() const
{
    cout<<"Product name is ... "<<product<<endl;
    cout<<"Market name is ... "<<market_name<<endl;
    cout<<"Price ... "<<price<<endl;
    cout<<"Amount ... "<<amount<<endl;
}
 
Market::Market(char *p,char *mn,int pp,int a)
{
    product = new char[strlen(p)];
    strcpy(product,p);
 
    market_name = new char[strlen(mn)];
    strcpy(market_name,mn);
 
    price = pp;
    amount = a;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru