Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.10.2014, 17:41   #1
vinovachuk
Новичок
Джуниор
 
Регистрация: 04.10.2014
Сообщений: 1
По умолчанию Класс "Книга", список объектов класса+ структура

Всем доброго времени суток. делаю лабу в вузе с++ builder изучаю тему программирования классов с иеархической структурой. помогите разобраться
суть в том подскажите как с помощью ооп добавлять данные в структуру. и выводить ..(как создать главный класс например на 3 поля [автор книги, названия книги, и год издания] сделать запись в структуру и вывод структуры в StringGrid)

вот что я коряво написал не получается ничего.

Код:
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
 
struct Element
{
char author[20];
char title[20];
char god[4];
Element* next;
Element* prev;
};
Element* first=0, *last=0;
 
class spisok
{
        private:
        char author[20];
        char title[20];
        char god[4];
        public:
        spisok(char iauthor[20], char ititle[20], char igod[4]);//конструктор
        add();//
        review(TStringGrid*sg);//
        sorting();//
 
};
 
spisok::spisok(char iauthor[20], char ititle[20], char igod[4])
{
        author[20]=iauthor[20];
        title[20]=ititle[20];
        god[4]=igod[4];
 
}
 
spisok::add()
{
        if(first==0)
        {
                first = new Element;
                strcpy(first->author,author);
                strcpy(first->title,title);
                strcpy(first->god,god);
                last=first;
        }else
        {
                Element* c=new Element;
                strcpy(first->author,author);
                strcpy(first->title,title);
                strcpy(first->god,god);
                c->next=0;
                c->prev=last;
                last->next=c;
                last=c;
        }
}//#add
 
 
spisok::review(TStringGrid*sg)
{
        int i=1;sg->RowCount=i+1;
        Element* c = first;
        if(first==0)ShowMessage("Пустой");
        while(c!=0)
        {
                sg->RowCount = i + 1;
                sg->Cells[0][i] = AnsiString(c->author);
                sg->Cells[1][i] = AnsiString(c->title);
                sg->Cells[2][i] = AnsiString(c->god);
                c = c->next;
                i++;
        }
 
}//#review
 
 
 
spisok *p0,*p1;// ukazately
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
        StringGrid1->RowCount=2;
        StringGrid1->Cells[0][0]="Автор";
        StringGrid1->Cells[1][0]="Название";
        StringGrid1->Cells[2][0]="Год извания";
 
}
 
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button6Click(TObject *Sender)
{
        Edit1->Clear();
        Edit2->Clear();
        Edit3->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
//p0= new vyz(name,kol1,kolvup);
p0->review(StringGrid1);
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 
p1= new spisok(Edit1->Text.c_str(),Edit2->Text.c_str(),Edit3->Text.c_str());
p1->add();
 
 
 
}
//---------------------------------------------------------------------------
vinovachuk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна подсказка по ООП - реализация класса "Книга" и методов обработки на Delphi kibrycker Помощь студентам 11 16.04.2013 11:10
Создать класс "Фигура", от него наследованием создать 3 класса ("треугольник", "четырехугольник", "окружность") funnyy Помощь студентам 3 17.10.2012 17:40
Создать класс "прямая", поля класса - координаты двух точек (x1,y1) и (x2,y2) // на C# parol Помощь студентам 0 13.12.2011 14:00
Наследование класса "Двунаправленный список" JeyKip Общие вопросы C/C++ 0 11.01.2010 15:52