Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Dariya2304
1 / 1 / 0
Регистрация: 11.09.2013
Сообщений: 7
1

Создать два класса: Date (дата в формате ДД.ММ.ГГ) и Performer

12.03.2014, 20:43. Просмотров 457. Ответов 5
Метки нет (Все метки)

Нужно создать два класса. Первый Date (дата в формате ДД.ММ.ГГ), второй Performer. Объекты второго класса имеют поля 1)имя (char) 2)фамилия (char) 3)дата(Date).
Вопрос: Это можно реализовать не используя наследование? Если да, то как?
Код, который у меня написан, прилагается.

C++ (Qt)
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
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <string>
using namespace std;
//Оголошення та опис класу Дата
class Date
{
    int Day, Month, Year;
    public:
    Date();
    Date (int x, int y, int z);
    Date(const Date & src);
    ~Date();
    int GetDay() {return Day;};
    int GetMonth() {return Month;};
    int GetYear() {return Year;};
    void Show();
    void SetDay(int a) {Day=a;};
    void SetMonth(int b) {Month=b;};
    void SetYear(int c) {Year=c;};
};
Date::Date()
{
    cout<<"Constr. without options working\n";
    Day=12;
    Month=05;
    Year=2014;
};
Date::Date(int x, int y, int z)
{
    cout<<"Constr. with options working\n";
    cin>>x>>y>>z;
    Day=x;
    Month=y;
    Year=z;
};
Date::Date(const Date & src)
{
    Day=src.Day;
    Month=src.Month;
    Year=src.Year;
    cout<<"Copywriter working\n";
};
Date::~Date()
{
    cout<<"Destr. working\n";
};
void Date::Show()
{
    cout<<Day<<"."<<Month<<"."<<Year<<".\n";
};
 
/*int main()
{
    int x, y, z;
    Date obj1 (x, y, z);
    Date obj2;
    Date obj3(obj1);
    obj1. Show();
    obj2. Show();
    obj3.Show();
    _getch();
    return 0;
}*/
 
//Оголошення та опис класу Послуга
enum Service 
{ 
    Clean,CleanWindows,Childrengarden,Repairs,Mixed
};
 
//Оголошення та опис класу Виконавець
class Performer
{
private:
    char Name[20], Surname[20];
    Date Birthday;
public:
    Performer ();                       //конструктор без параметрів
    Performer (char a[20],char b[20],Date obj);//конструктор з параметрами
    Performer (const Performer & T);    //конструктор копіювання
    void Show1();
    ~Performer();                       //деструктор
};
Performer::Performer()
{
    cout<<"Constr. without options working(1)\n";
    const char a1[5]="Ivan", b1[7]="Ivanov";
    strcpy_s (Name,5,a1);
    strcpy_s (Surname,7,b1);
    Date Birthday (int x, int y, int z);
};
Performer::Performer(char a[20],char b[20],Date obj)
{
    cout<<"Constr. with options working(1)\n";
    fgets(a,20,stream);
    fgets(b,20,stream);
    strcpy_s(Name,strlen(a),a);
    strcpy_s(Surname,strlen(b),b);
    Date::Date (const Date & Birthday);
};
/*Performer::Performer(const Performer & src1)
{
    Name=src1.Name;
    Surname=src1.Surname;
    Birthday=src1.Birthday;
    cout<<"Copywriter working(1)\n";
};*/
Performer::~Performer()
{
    cout<<"Destr. working(1)\n";
};
void Performer::Show1()
{
    cout<<Name<<" "<<Surname<<"\n";
    Birthday.Show();
};
 
int main1()
{
    char a2[20], b2[20];
    int x, y, z;
    Date obj1 (x, y, z);
    Date obj2;
    Date obj3(obj1);
    Performer Second();
    Performer First (a2[20], b2[20],obj1);
    Performer Third (First);
    First. Show1();
    Second. Show1();
    Third.Show1();
    _getch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2014, 20:43
Ответы с готовыми решениями:

Создать класс Date – дата, содержащая поля: день, месяц, год.
Создать класс Date – дата, содержащая поля: день, месяц, год. Определить операторы &quot;+&quot; и &quot;-&quot;, как...

Создать класс Date, который может выводить даты в формате DD YYYY и MM/DD/YY
помогите создать класс Date, который может выводить даты в формате DD YYYY и MM/DD/YY. Создайте...

Создать класс Date для работы с датами в формате «год.месяц.день»
Создать класс Date для работы с датами в формате «год.месяц.день». Дата представляется структурой с...

Создать класс Date для работы с датами в формате «год.месяц.день»
Создать класс Date для работы с датами в формате «год.месяц.день». Дата представляется структурой с...

Создать класс Date для работы с датами в формате "год. месяц. день"
Всем доброго времени суток. Задали задачу на С++, но не могу её осилить. Может быть у кого-нибудь...

5
0x10
2571 / 1751 / 288
Регистрация: 24.11.2012
Сообщений: 4,377
12.03.2014, 21:06 2
Уже и реализовано без наследования. В чем проблемы?
1
Dariya2304
1 / 1 / 0
Регистрация: 11.09.2013
Сообщений: 7
12.03.2014, 22:14  [ТС] 3
Проблема в этом:
1>------ Build started: Project: lab1, Configuration: Debug Win32 ------
1>Compiling...
1>main_file.cpp
1>.\main_file.cpp(92) : warning C4930: 'Date Birthday(int,int,int)': prototyped function not called (was a variable definition intended?)
1>.\main_file.cpp(97) : error C2065: 'stream' : undeclared identifier
1>.\main_file.cpp(101) : error C2143: syntax error : missing ')' before 'const'
1>.\main_file.cpp(101) : error C2059: syntax error : ')'
1>.\main_file.cpp(128) : error C2664: 'Performer::Performer(char [],char [],Date)' : cannot convert parameter 1 from 'char' to 'char []'
1> Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
1>.\main_file.cpp(131) : error C2228: left of '.Show1' must have class/struct/union
1>Build log was saved at "file://d:\Дария\Учебное\Программирование и информатика\9 семестр (магистр)\lab1\lab1\lab1\Debug\BuildLog.htm"
1>lab1 - 5 error(s), 1 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
0
Tulosba
:)
Эксперт С++
4749 / 3243 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
12.03.2014, 23:24 4
Цитата Сообщение от Dariya2304 Посмотреть сообщение
error C2228: left of '.Show1' must have class/struct/union
Уберите скобки в 127 строке.
Хотя этого будет маловато. Ошибок-то ещё тьма. Почему выделили только эту?
1
Dariya2304
1 / 1 / 0
Регистрация: 11.09.2013
Сообщений: 7
12.03.2014, 23:56  [ТС] 5
Со всеми остальными ошибками уже справилась. Спасибо за 127 строку. Помогли! Скомпилировала, но теперь выполняется только int main, а int main1 -- нет. Что делать?

C++ (Qt)
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
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <string>
using namespace std;
//Оголошення та опис класу Дата
class Date
{
    public:
    int Day, Month, Year;
    Date();
    Date (int x, int y, int z);
    Date(const Date & src);
    ~Date();
    int GetDay() {return Day;};
    int GetMonth() {return Month;};
    int GetYear() {return Year;};
    void Show();
    void SetDay(int a) {Day=a;};
    void SetMonth(int b) {Month=b;};
    void SetYear(int c) {Year=c;};
};
Date::Date()
{
    cout<<"Constr. without options working\n";
    Day=12;
    Month=05;
    Year=2014;
};
Date::Date(int x, int y, int z)
{
    cout<<"Constr. with options working\n";
    cin>>x>>y>>z;
    Day=x;
    Month=y;
    Year=z;
};
Date::Date(const Date & src)
{
    Day=src.Day;
    Month=src.Month;
    Year=src.Year;
    cout<<"Copywriter working\n";
};
Date::~Date()
{
    cout<<"Destr. working\n";
};
void Date::Show()
{
    cout<<Day<<"."<<Month<<"."<<Year<<".\n";
};
 
int main()
{
    int x, y, z;
    Date obj1 (x, y, z);
    Date obj2;
    Date obj3(obj1);
    obj1. Show();
    obj2. Show();
    obj3.Show();
    _getch();
    return 0;
}
 
//Оголошення та опис класу Послуга
enum Service 
{ 
    Clean,CleanWindows,Childrengarden,Repairs,Mixed
};
 
//Оголошення та опис класу Виконавець
class Performer
{
private:
    char Name[20], Surname[20];
    Date Birthday;
public:
    Performer ();                       //конструктор без параметрів
    Performer (char a[20],char b[20],Date obj);//конструктор з параметрами
    Performer (const Performer & T);    //конструктор копіювання
    void Show1();
    ~Performer();                       //деструктор
};
Performer::Performer()
{
    cout<<"Constr. without options working(1)\n";
    const char a1[5]="Ivan", b1[7]="Ivanov";
    strcpy_s (Name,5,a1);
    strcpy_s (Surname,7,b1);
    Date::Date ();
};
Performer::Performer(char a[20],char b[20],Date obj)
{
    cout<<"Constr. with options working(1)\n";
    gets_s(a,20);
    gets_s(b,20);
    strcpy_s(Name,strlen(a),a);
    strcpy_s(Surname,strlen(b),b);
    Date::Date ();
};
/*Performer::Performer(const Performer & src1)
{
    Name=src1.Name;
    Surname=src1.Surname;
    Birthday=src1.Birthday;
    cout<<"Copywriter working(1)\n";
};*/
Performer::~Performer()
{
    cout<<"Destr. working(1)\n";
};
void Performer::Show1()
{
    cout<<Name<<" "<<Surname<<"\n";
    Birthday.Show();
};
 
int main1()
{
    char a2[20], b2[20];
    int x, y, z;
    Date obj1 (x, y, z);
    Date obj2;
    Date obj3(obj1);
    Performer First (a2, b2,obj1);
    Performer Second;
    //Performer Third (First);
    First. Show1();
    Second. Show1();
    //Third.Show1();
    _getch();
    return 0;
}
0
0x10
2571 / 1751 / 288
Регистрация: 24.11.2012
Сообщений: 4,377
13.03.2014, 04:53 6
Цитата Сообщение от Dariya2304 Посмотреть сообщение
но теперь выполняется только int main, а int main1 -- нет.
А почему она должна выполняться, если ее никто не вызвает?
1
13.03.2014, 04:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2014, 04:53

На базе класса “дата” создать класс “сообщение”
Подскажите, что изменить, что б в визуале заработал вот задание &quot;&quot;На базе класса “дата”...

Класс Дата-Время. Создать наследников класса:
Приветствую вас уважаемое сообщество. Я только начал изучать наследование. В теории знаю, что...

Создать класс Date для работы с датами в формате "год.месяц.день" / C++ для начинающих
&quot;Создать класс Date для работы с датами в формате «год.месяц.день». Дата представляется структурой...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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