Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не получается создать библиотеку 
:(
    Опции темы
DellXT
Дата 21.11.2018, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 21.11.2018

Репутация: нет
Всего: нет



Всем привет. Столкнулся с интересной задачей - создать библиотеку для графической визуализации консольного окна. Т.е. по командам должны меняться цвет фона/текста, место текста в окне, размер шрифта. Также доступна возможность создать текстовое поле, цвет и размер которого можно выбирать. Что-то у меня уже есть. Но проблема в том, что оно даже не компилируется.

Win.cpp
Код

#include "win.h"
namespace lng{
HANDLE console=GetStdHandle(STD_OUTPUT_HANDLE);

   class colorClass
    short color;
  public:
    bool setcolor(short);
    short getcolor();

colorClass::colorClass(){
  color = 0b00001111;
};
colorClass::~colorClass(){
  SetConsoleTextAttribute(console,15);
};
short colorClass::getcolor(){ return color; };
bool  colorClass::setcolor(short color) {
  this->spalva = spalva;
  return true;
};
 cordinatesClass
    CORD cordinate;
  public:
    bool setcord(CORD);
    alternative: bool setcord(short, short);
    CORD getcord();
    alternative: void getcord(short&, short&);
cordinatesClass::cordinatesClass(){
  cordinate.X = 5; cordinate.Y = 5;
}
void cordinatesClass::getcord(short& X, short& Y){
  X=cordinate.X;
  Y=cordinate.Y;
}
bool cordinatesClass::setcord(short X, short Y){
  this->cordinate.X = X;
  this->cordinate.Y = Y;
  return true;
}
winClass :public colorClass
  cordinatesClass cord, size;
    bool doubleline, frame;
    bool setcolor(short);
    short getcolor();
    winClass();
  ~winClass();
  void draw();
  bool setcord(short, short);
  bool setsize(short, short);
  void setframe(bool);
  void setline(bool);
winClass::winClass(){
  doubleline=true;
  frame=true;
}
void winClass::draw(){
  short tempX, tempY;
  this->cord.getcord(tempX, tempY);
  CORD tempK={tempX, tempY};
  SetConsoleTextAttribute(console, this->getcolor());
  this->size.getcord(tempX, tempY);
  for(int y=0; y<tempY; y++)
  {
    tempK.Y = tempY + y;
    SetConsoleCursorPosition(console, tempK);
    std::cout << std::setw(tempX)<< ' ';
  }
  }
bool winClass::setcord(short cordinateX, short cordinateY){
  this->cord.setcord(cordinateX, cordinateY);
};
bool winClass::setsize(short sizeX, short sizeY){
};
void winClass::setframe(bool showframe){
};
void winClass::setline(bool doubleline){
};
}


Win.h
Код

#ifndef WIN_H
#define WIN_H
#include <windows.h>
#include <iostream>
#include <iomanip>

namespace lng{
class colorClass{
private:
    short color;
public:
  colorClass();
  ~colorClass();
    bool setcolor(short);
    short getcolor();
};

class cordinatesClass{
    CORD cordinate;
public:
  cordinatesClass();
    bool setcord(short, short);
    void getcord(short&, short&);
};

class winClass:public colorClass {
private:
  cordinatesClass cord, size;
  bool doubleline, frame;
public:
  bool setcolor(short);
  short getcolor();
    winClass();
  void draw();
  bool setcord(short, short);
  bool setsize(short, short);
  void setframe(bool);
  void setline(bool);
};

class textClass : public winClass {
private:
  std::string text;
public:
  bool settext(std::string);
  void draw();
};
}
#endif


Main.cpp
Код

#include <iostream>
#include "win.h"
using namespace std;

int main() {
  lng::winClass newwin, nextwin;
  newwin.setcolor(0b00011010);
  newwin.draw();
  return 0;
}


Помогите разобраться в коде. А то без очевидного результата не могу опознать что в нем хорошо, а что нет.
PM MAIL   Вверх
xvr
Дата 22.11.2018, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



У вас в win.cpp затесались какие то ошмётки от win.h (в строках 5-9, 22-28, 41-52). Уберите

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1059 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.