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

Написать класс по строительству домов. Написать программу, демонстрирующую работу с классом.

21.10.2013, 20:28. Показов 4840. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно, в С++ немного насасываю, код читать умею, а прогать - нет. К сожалению, обстоятельства сложились так, что я поступил именно туда, где нужен С++. К счастью, у меня это последний семестр, в первом я еще сам как-то худо-бедно писал : было не так сложно и достаточно ясно. Сейчас же, начались классы, т.к. у меня думалка не заточена на столь хитроумные деяния, прошу вас о помощи :с
Вагон кармы тому, кто поможет :3

Вариант задания (мой)
Строительство домов. Хранение сведений о деталях дома и о строительной технике. Поступление деталей, состояние строительства. .

Цель.
Получить практические навыки реализации классов на С++.

Основное содержание работы
Написать программу, в которой создаются и разрушаются объекты, определенного пользователем класса. Выполнить исследование вызовов конструкторов и деструкторов.

Задачи, которые необходимо выполнить в работе
1.Определить пользовательский класс в соответствии с вариантом задания (смотри приложение).
2. Определить в классе следующие конструкторы: без параметров, с параметрами, копирования.
3. Определить в классе деструктор.
4. Определить в классе компоненты-функции для просмотра и установки полей данных.
5. Определить указатель на компоненту-функцию.
6. Определить указатель на экземпляр класса.
7. Написать демонстрационную программу, в которой создаются и разрушаются объекты пользовательского класса и каждый вызов конструктора и деструктора сопровождается выдачей соответствующего сообщения (какой объект какой конструктор или деструктор вызвал).
8. Показать в программе использование указателя на объект и указателя на компоненту-функцию.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.10.2013, 20:28
Ответы с готовыми решениями:

Написать программу, демонстрирующую работу с классом для работы с рациональными дробями
Составить описание класса. Определить конструктор по умолчанию, конструктор с параметрами и методы...

Написать программу, демонстрирующую работу с классом
Создать класс квадрат, члены класса - длина стороны. Предусмотреть в классе методы вычисления и...

Разработать иерархию классов, демонстрирующее работу с коллекцией объектов разных классов
Задание: Разработать в соответствии с индивидуальным заданием иерархию классов и приложение,...

9
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 4
21.10.2013, 21:08
Я сам новичок в программировании, но здесь может подойти принцип "разделяй и властвуй":

Можешь найти готовый вариант с использованием классов, в котором (например) пусть не всё, что тебе нужно,реализовано.
Читаешь что нашел.
Анализируешь, чего не хватает
Ищешь по пунктам дальше

Лично делаю всегда именно так, если чего-то не знаю. Решай и успехов!
0
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 17
22.10.2013, 07:24  [ТС]
Спасибо, конечно, но суть в том, что у меня помимо учебы имеется работа, ибо нужно мат.средства по личным проблемам. на проганье не остается времени совсем. если бы не было таких запар со временем, я даже не заходил бы сюда )

Добавлено через 10 часов 4 минуты
ну, хорошо, я думал до этого не дойдет, я даже готов заплатить некую сумму, просто реально очень нужно сдать, не хочу потом бегать с задачами.. в личку пишите .
0
_
317 / 151 / 27
Регистрация: 08.10.2011
Сообщений: 432
22.10.2013, 08:20
bednyaga, конкретизируйте задание:
1. что такое "Строительство домов"? надо описать строительную организацию либо же процесс строительства?
2. Что включают в себя "сведения о деталях дома"? сколько окон и дверей или что-то другое (к примеру, сколько потрачено материалов на строительство)?
3. про "строительную технику" то же самое
4. куда поступают детали и кто должен следить за состоянием строительства?
5. всё остальное, что поможет понять поставленную задачу

ответьте на эти вопросы и у вас появится шанс получить решение. и не надо говорить "на ваше усмотрение" или "я не знаю", бесплатно вникать в проблему не многие возьмутся.
0
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 17
22.10.2013, 19:14  [ТС]
ну, к примеру, я вот накидал в тетради как должно приблизительно быть

Тип дома : загородный ( коттедж) , госучреждение (детсад, поликлиника и тд), жилой дом(панельный, кирпичный)
Состояния строятельства : в проекте, планировка, в процессе стр-ва, заверш.
Хранение деталей и строительной техники + поступление деталей : я думаю, что тут нужно объединить их, а вот на ум не приходит ничего толкового

Ребят, задача для знающего человека на час, полтора, так что писать в личку, мол "за 1000 напишу", думаю не стоит. оцениваю задачу рублей в 150-200, через минут 15-20 скину свои наброски.

Добавлено через 7 минут
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
#include <iostream.h>
#include <string.h>
#include <stdlib.h>
#pragma hdrstop
 
using namespace std;
 
class build
{
private:
char i_type[20];
char i_sost[50];
char i_pers[50];
char b_sost[10];
char d_sost[10];
public:
build();
build(char *);
build(const build &);
~build(){cout « " Destructor. " « name « endl;}
void SetName(char *);
void SetRegions(int n);
void ShowRegion();
void Show();
};
 
build::build()
{
Name[0] = '\0';
Добавлено через 1 минуту
pers*
это раньше был персонал, но это не надо. как я уже говорил выше, что я нуб в классах и попросту нет времени на это, если бы, конечно, я планировал идти на работу в ИТ сферы, я тут даже не писал бы, а сидел и потел сам )

Выручайте ребят :с

Добавлено через 22 минуты
о, я там зачем то регион написал ,мимо)
0
 Аватар для h_wolf
11 / 11 / 2
Регистрация: 24.01.2013
Сообщений: 212
22.10.2013, 20:52
Доеду домой напишу что получилось. есть набросок.
1
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 17
22.10.2013, 21:20  [ТС]
h_wolf, хорошо =) любая помощь. сроки поджимают просто , карму и денежку на телефон за хорошую помощь )
0
 Аватар для h_wolf
11 / 11 / 2
Регистрация: 24.01.2013
Сообщений: 212
22.10.2013, 22:04
bednyaga, карма - это хорошо, на денежку забей.

Вот листинг класса. Определения и саму прогу дебажу...

home.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
#ifndef HOME_H_INCLUDED
#define HOME_H_INCLUDED
 
#include <string>
#include <iostream>
 
using std::string;
 
struct Home
{
    enum {LEN=10};
        string TypeHome;
        string DetailHome[LEN];
        int DetInd=0;
        string Techn[LEN];
        int TechInd=0;
};
 
typedef Home Items;
 
class Construction
{
    private:
        Items List[5];
        int top;
    public:
        Construction();
        Construction(Items &);
        ~Construction(){};
        void AddItem(Items &);
        void InTech(string &); //для внесение единицы техники в массив
        void InDetail(string &); //для внесения единицы детали
        void ChangeTypeHome(string &); //если захотел в элементе списка изменить тип постройки
        void ShowAllConstr() const; //показать элемент списка List
};
 
 
#endif // HOME_H_INCLUDED
Добавлено через 28 минут
home.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
#include "home.h"
using std::string;
 
Construction::Construction()
{
    std::cout<<"Created new element of list.\n";//создаем пустой элемент списка
    top++;
}
Construction::Construction(Items & it)
{
    List[top++]=it;
}
void Construction::ChangeTypeHome(string & tp)
{
    List[top].TypeHome=tp;
}
void Construction::InDetail(string & dt)
{
    List[top].DetailHome[List[top].DetInd++]=dt;
}
void Construction::InTech(string & tc)
{
    List[top].Techn[List[top].TechInd++]=tc;
}
void Construction::ShowAllConstr() const
{
    for(int i=0; i<top; i++){
        std::cout<<"Type of Home: "<<List[i].TypeHome
                <<"Detail: "<<List[i].DetailHome
                <<"Technics: "<<List[i].Techn<<std::endl;
    }
}
void Construction::AddItem(Items & it) //где-то тут косяк
{
    List[top++]=it;
}
Проблема с функцией есть. Либо тут кто подскажет, либо я завтра по дню на свежую голову сам допилю.
1
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 17
22.10.2013, 22:11  [ТС]
спасибо большое, завтра разберусь с кодом, сейчас ухожу спать, добра тебе )
0
 Аватар для h_wolf
11 / 11 / 2
Регистрация: 24.01.2013
Сообщений: 212
23.10.2013, 09:03
ya_noob, да ему скорее всего просто надо поиграться с классами. Исходя из текста задания таких сложностей как Вы перечислили не требуется
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.10.2013, 09:03
Помогаю со студенческими работами здесь

Составьте программу, демонстрирующую работу с каждым из 2х классов
Необходимо разработать заголовочный файл, содержащий описание иерархии из 2х классов, включающий...

Программа, демонстрирующую работу с объектами созданного класса
Описать класс, реализующий указанный тип данных согласно индивидуальной задаче. Класс должен...

Написать программу, демонстрирующую работу функции
Пожалуйста, помогите написать программу, демонстрирующую работу функции которая в зависимости от...

Написать программу, демонстрирующую работу с объектами двух типов
Написать программу, демонстрирующую работу с объектами двух типов: Т1 и Т2, для чего создать...

Написать функцию вывода, получающую параметры базового класса по ссылке и демонстрирующую виртуальный вызов
Скажите, как можно ?


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru