Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 21.12.2018
Сообщений: 1

Не получается дописать программу:описать класс с именем PRICE

21.12.2018, 21:17. Показов 953. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер! Помогите начинающему. Не могу дописать программу (последние 3 пункта)

Описать класс с именем PRICE, содержащий следующие элементы:
• Скрытые поля:
• название товара (char *),
• название магазина, в котором продается товар (char *),
• стоимость товара в руб (int).
• Открытые методы:
• конструктор по умолчанию,
• конструктор с параметрами для заполнения всех полей класса,
• конструктор копирования,
• деструктор,
• операция присваивания,
• операция сравнения «меньше» (операция возвращает истину, если название магазина у
первого операнда по алфавиту раньше, чем у второго),
• операция сравнения на равенство со строкой (операция возвращает истину, если
название магазина совпадает с данной строкой)
• функция вывода на экран значений полей класса.
Память для строк - полей класса выделять динамически.
С помощью текстового редактора создать файл и записать в него данные для массива из восьми элементов типа PRICE.
Написать программу, выполняющую следующие действия:
• ввод из файла данных в динамический массив, состоящий из восьми элементов типа PRICE;
• упорядочить массив в алфавитном порядке по названиям магазинов;
• вывод на экран информации о товарах, продающихся в магазине, название которого введено с
клавиатуры;
• если такого магазина нет, выдать на дисплей соответствующее сообщение.

То что уже написал:
Заголовочный файл (Верхний колонтитул.h):

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class PRICE
{
    char*tov;
    char*mag;
    int price;
public:
    PRICE();
    PRICE(const char*, const char*, int);
    PRICE(const PRICE&);
    ~PRICE();
    PRICE& operator= (const PRICE&);
    bool operator< (const PRICE&);
    bool operator==(char*);
    void print();
};
Код:

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
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<stdio.h>
#include <string.h>
using namespace std;
#include"Верхний колонтитул.h"
PRICE::PRICE()
{
    mag = NULL; tov = NULL; price = 0;
}
PRICE::PRICE(const char*h, const char*a, int b)
{
    mag = new char[strlen(h) + 1];
    strcpy(mag, h);
    tov = new char[strlen(a) + 1];
    strcpy(tov, a);
    price = b;
}
PRICE::PRICE(const PRICE&h)
{
    mag = new char[strlen(h.mag) + 1];
    strcpy(mag, h.mag);
    tov = new char[strlen(h.tov) + 1];
    strcpy(tov, h.tov);
    price = h.price;
}
PRICE::~PRICE()
{
    delete[]mag;
    delete[]tov;
}
PRICE& PRICE:: operator= (const PRICE&h)
{
    if (&h == this)return*this;
    
    mag = new char[strlen(h.mag) + 1];
    strcpy(mag, h.mag);
    
    tov = new char[strlen(h.tov) + 1];
    strcpy(tov, h.tov);
    price = h.price;
}
bool PRICE:: operator< (const PRICE&h)
{
    if (mag < h.mag)return true;
    else return false;
}
bool PRICE:: operator== (char*h)
{
    return(strcmp(h, mag));
}
void PRICE:: print()
{
    cout << mag<< " " << tov << " " << price << endl;
}
void main()
{
    setlocale(LC_CTYPE, "ru");
    FILE*f = fopen("list.txt", "rt");
    PRICE mas[7];
    char mag[10], tov[10];
    char* name=new char;
    int price, i;
    for (i = 0; i < 8; i++)
    {
        fscanf(f, "%s\%s\%d", mag, tov, &price);
        mas[i] =PRICE(mag, tov, price);
        mas[i].print();
    }   
        cout << "Введите название магазина" << endl;
        cin >> name;
        if (mas[i] == name)cout <<  << endl;//Не знаю как правильно написать эту сроку
        else cout << "Такого магазина нет" << endl;
    fclose(f);
}
Файл list.txt:

Code
1
2
3
4
5
6
7
8
H   apple   33
A   pear    44
B   bananas 38
D   ananas  55
C   orange  49
E   apple   36
G   orange  51
F   pear    42
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.12.2018, 21:17
Ответы с готовыми решениями:

Описать класс с именем PRICE
Что не так с кодом? Второй день мучаюсь, не могу понять.. #include &quot;stdafx.h&quot; #include &lt;string&gt; #include &lt;iostream&gt; using...

Описать структуру с именем PRICE
1. Описать структуру с именем PRICE, содержащую следующие поля:  название товара;  название магазина, в котором продается...

Описать структуру с именем PRICE
Помогите! Даны задачи нужно написать программу 1.) Описать структуру с именем PRICE, содержащую следующие поля: · название товара; ·...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.12.2018, 21:17
Помогаю со студенческими работами здесь

Описать структуру с именем Price, содержащую следующие поля
Если у вас есть время, то можно еще построчно :-#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;iterator&gt; #include...

Создать класс ListPayment (зарплата) что-то не получается дописать программу
//Создать класс ListPayment (зарплата). В классе содержится список сотрудников, для которых рассчитывается заработная плата. //Сотрудник...

Описать класс с именем TRAIN
Описать класс с именем TRAIN, содержащий следующие поля: -название пункта назначения; -номер поезда; -время отправления. ...

Описать класс с именем TRAIN
.Описать класс с именем TRAIN, содержащий следующие поля: -название пункта назначения; -номер поезда; -время отправления. ...

Не получается считать информацию из фаила (описать структуру с именем MARSH)
Не получается считать информацию из файла. Все остальные действия программы кроме считывания информации из файла работают нормально. ...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru