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

Списки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Опишите структуру с именем Person, содержащую следующие поля http://www.cyberforum.ru/cpp-beginners/thread728803.html
Как написать программу? Задание 1: Опишите структуру с именем PERSON, содержащую следующие поля: • фамилия и инициалы • дата рождения (массив из трех чисел) • адрес. Задание 2: Напишите программу, выполняющую следующие действия: • ввод клавиатуры данных в массив, состоящий из 10 структур типа PERSON • вывод на экран информации о людях, чья фамилия введена с клавиатуры:
C++ Ошибка вывода на экран #include <iostream> #include <cstdlib> using namespace std; struct nnm{ long int val; nnm *next; }; int main() { http://www.cyberforum.ru/cpp-beginners/thread728802.html
C++ Матрицы
Программа должна запрашивать размер матрицы и самостоятельно заполнять ее с помощью генератора случайных чисел. Верхняя граница для значения элементов матрицы также вводится с клавиатуры. Дана целочисленная квадратная матрица. 1)Найти сумму элементов в строках, содержащих хотя бы один неотрицательный элемент. 2)Определить номер последнего столбца, не содержащего ни одного нулевого элемента....
имитировать работу препроцессора #define C++
подскажите пожалуйста с чего начать. задача выглядит так: дан файл с текстом программы на С++, имитировать работу препроцессора #define, заменить все символы на соответствующие им в директиве, и удалить из текста программы саму директиву. не могу понять как считать текст из файла, и что использовать для поиска. Добавлено через 1 час 31 минуту как я думаю нужно сначала найти "#define" в...
C++ Задан текст. Определить, входит ли в него заданное слово и сколько раз. http://www.cyberforum.ru/cpp-beginners/thread728751.html
Задан текст. Определить, входит ли в него заданное слово и сколько раз.
C++ Удалить N элементов из массива начиная с номера K Сформировать массив из n элементов с помощью датчика случайных чисел (n задается пользователем с клавиатуры). Удалить N элементы из массива начиная с номера K. Вывести полученный результат. Добавить элемент с номером K. Вывести полученный результат. Поменять местами элементы с четными и нечетными номерами. Вывести полученный результат. Выполнить поиск элемента равный среднему арифметическому... подробнее

Показать сообщение отдельно
Yaroslav308
0 / 0 / 0
Регистрация: 14.04.2012
Сообщений: 4
12.12.2012, 13:08     Списки
Разработать ниже приведенную иерархию классов с объявлением объектов конечного производного класса с помощью конструкорив по умолчанию и инициализации:
базовый класс: Дата (год, месяц, день);
базовый класс: Топливо (тип топлива (АИ-92, АИ-95, АИ-98, дизельное), цена за литр);
производный класс: оператор (Фамилия, Имя, дата (рождение));
производный класс: Операция продажи (Оператор, Топливо, Количество, Общая стоимость, дата (продажи));
производный класс: Дневной баланс (Дата, Список операций продажи)

Помогите сделать список, я понятия не имею с чего начать.

classes.h
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
#include "stdafx.h"
#include <Windows.h>
#include <stdio.h>
 
class date{
private:
    int day,month,year;
public:
     date();
     date(int, int, int);
     void show_date();
};
 
class fuel{
private:
    char *typ;
    float cost_litr;
public:
    fuel();
    fuel(int,float);
    void show_fuel();
};
 
class oper:public date{
private:
    char *name;
    char *surname;
public:
    oper(char*, char*, int, int, int);
    oper();
    ~oper();
    void show_oper();
 
};
 
class prod:public oper,public fuel,public date{
private:
    float amount;
    float cost;
public:
    prod(float,char*,char*,int,int,int,int,float);
    prod();
    void show_prod();
};
 
class balans:public date,public prod{
public:
    balans(float,char*,char*,int,int,int,int,float);
    balans();
    void show_balans();
};
classes_cod.cpp
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
#include "stdafx.h"
#include "classes.h"
#include <Windows.h>
#include <stdio.h>
 
date::date()
{
     SYSTEMTIME st;
     GetLocalTime(&st);
     year=st.wYear;
     month=st.wMonth;
     day=st.wDay;
};
 
date::date(int _year, int  _month, int _day)
{
     year=_year;
     month=_month;
     day=_day;
};
 
void date::show_date()
{
    printf ("Дата : %d.%d.%d\n",day,month,year);
 
};
 
fuel::fuel()
{
    typ="Вiдсутнiй";
    cost_litr=0;
};
 
fuel::fuel(int a,float _cost_litr)
{
    switch(a)
        {
        case 1:
            typ="AI-92";
            break;
        case 2:
            typ="AI-95";
            break;
        case 3:
            typ="AI-98";
            break;
        case 4:
            typ="Дизельне";
            break;
        };  
    cost_litr=_cost_litr;
};
 
void fuel::show_fuel()
{
    printf("Тип пального: %s\nЦiна за лiтру: %f\n",typ,cost_litr);
 
}
 
oper::oper(char *_name, char *_surname, int _day, int _month, int _year):date(_year,_month,_day)
{
    name=new char[strlen(_name)+1];
    strcpy(name,_name);
    surname=new char[strlen(_surname)+1];
    strcpy(surname,_surname);
 
}
 
oper::oper():date(0,0,0)
{
    name=new char[strlen("Вiдсутнє")+1];
    strcpy(name,"Вiдсутнє");
    surname=new char[strlen("Вiдсутнє")+1];
    strcpy(surname,"Вiдсутнє");
 
}
 
oper::~oper()
{
    if (!name)
        {
            delete []name;
        };
    if (!surname)
        {
            delete []surname;
        }
 
}
 
void oper::show_oper()
{
    printf("Прiзвище - %s\n",surname);
    printf("Iм'я - %s\n",name);
    show_date();
 
}
 
prod::prod(float _amount,char *_name, char *_surname, int _day, int _month, int _year,int a,float _cost_litr):oper(_name,_surname,_day,_month,_year),fuel(a,_cost_litr),date()
{
    amount=_amount;
    cost=_amount*_cost_litr;
 
};
 
prod::prod():oper(),fuel(),date(0,0,0)
{
    amount=0;
    cost=0;
 
};
 
void prod::show_prod()
{
    show_oper();
    show_fuel();
    printf("Кiлькiсть пального: %f\n",amount);
    printf("Загальна вартiсть: %f\n",cost);
    oper::show_date();
}
 
balans::balans(float _amount,char *_name,char *_surname,int _dayo,int _montho,int _yearo,int a,float _cost_litr):date(),prod(_amount,_name,_surname,_dayo, _montho,_yearo,a,_cost_litr)
{};
 
balans::balans():date(),prod()
{};
 
void balans::show_balans()
{
    date::show_date();
    show_prod();
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// OOP.2.cpp: главный файл проекта.
 
#include "stdafx.h"
#include "classes.h"
#include <stdlib.h>
#include <locale.h>
 
 
void main(void)
{
    setlocale(LC_ALL,"ukr");
    balans er;
    er.show_balans();
    system("pause");
    printf("\n\n\n");
    balans my(5.5,"Петро","Макаренко",5,12,1975,2,17.50);
    my.show_balans();
    system("pause");
}
Вложения
Тип файла: rar OOP_5.rar (6.82 Мб, 5 просмотров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru