Forums.Avtograd.Ru: Вопросы по C++ - Forums.Avtograd.Ru

Перейти к содержимому

  • (13 Страниц)
  • +
  • 1
  • 2
  • 3
  • 4
  • 5
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Вопросы по C++

#1 Пользователь офлайн   Arion

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 25
  • Регистрация: 01 Ноябрь 07

Отправлено 01 Ноябрь 2007 - 09:44

тема говорит сама за себя, задавайте ваши вопросы по С++
0


  • (13 Страниц)
  • +
  • 1
  • 2
  • 3
  • 4
  • 5
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Другие ответы в этой теме

#41 Пользователь офлайн   musashi

  • Активный пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 573
  • Регистрация: 01 Ноябрь 07

Отправлено 20 Январь 2008 - 05:03

а что мешает открыть потоком?
0

#42 Пользователь офлайн   синоним

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 392
  • Регистрация: 01 Ноябрь 07

Отправлено 08 Март 2008 - 04:37

в VC++ 6 есть такие настройки:
Project|Settings|C/C++ вкладка|Code Generation|Runtime Library где можно поставить "Multi-threaded DLL"
Project|Settings|C/C++ вкладка|Preprocessor|Additional include directories
Project|Settings|Link вкдадка|Object/library modules

какие аналоги этих настроек в C++Builder 6 ?
и что значит
C:\Program Files\Microsoft Visual Studio\VC98\Include\GL/gl.h(1152) : error C2144: syntax error : missing ';' before type 'void'
C:\Program Files\Microsoft Visual Studio\VC98\Include\GL/gl.h(1152) : error C2501: 'WINGDIAPI' : missing storage-class or type specifiers
C:\Program Files\Microsoft Visual Studio\VC98\Include\GL/gl.h(1152) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

при компилировании проекта с OpenGL в Вижуал С++ 6
несколько версий gl.h и glu.h уже проверял - везде ошибки на одном и том же месте, dll с OpenGL в папку с проектом кидал, думал в Борланде не будет проблем - так не смог найти настройки для проекта. В самом коде ошибок нет, тк это пример работы с OpenGL.
0

#43 Пользователь офлайн   KORENHACK

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 464
  • Регистрация: 01 Ноябрь 07

Отправлено 08 Март 2008 - 12:31

Тока начал учить и уже ламо-проблема:
#include<iostream.h>
#include<stdio.h>
int main(){
int date;

cin>>date;
cout<<2008-date;
getchar();}

Открывается консоль, пишу что-то, далее ИТНЕР и консоль закрывается.
Че делаю не так?
0

#44 Пользователь офлайн   musashi

  • Активный пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 573
  • Регистрация: 01 Ноябрь 07

Отправлено 08 Март 2008 - 12:35

getch();
0

#45 Пользователь офлайн   KORENHACK

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 464
  • Регистрация: 01 Ноябрь 07

Отправлено 08 Март 2008 - 12:45

Дает Error указывая на пустые скобки.
Call to undefined function 'getch'

0

#46 Пользователь офлайн   TRUTHFUL

  • Пользователь
  • PipPip
  • Группа: Модераторы
  • Сообщений: 412
  • Регистрация: 01 Ноябрь 07

Отправлено 08 Март 2008 - 13:33

Просмотр сообщенияKORENHACK (8.3.2008, 12:31):

Тока начал учить и уже ламо-проблема:
#include<iostream.h>
#include<stdio.h>
int main(){
int date;

cin>>date;
cout<<2008-date;
getchar();}

Открывается консоль, пишу что-то, далее ИТНЕР и консоль закрывается.
Че делаю не так?

Ты в C++Builder пишешь? При создании консольного приложения указываешь галочку автосоздания консольки?
Истина где-то рядом... Пускай там и остается!
0

#47 Пользователь офлайн   синоним

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 392
  • Регистрация: 01 Ноябрь 07

Отправлено 08 Март 2008 - 13:43

а может по моей проблеме чё-нить ответите?
плз
0

#48 Пользователь офлайн   TRUTHFUL

  • Пользователь
  • PipPip
  • Группа: Модераторы
  • Сообщений: 412
  • Регистрация: 01 Ноябрь 07

Отправлено 08 Март 2008 - 14:10

Просмотр сообщениясиноним (8.3.2008, 4:37):

в VC++ 6 есть такие настройки:
Project|Settings|C/C++ вкладка|Code Generation|Runtime Library где можно поставить "Multi-threaded DLL"
Project|Settings|C/C++ вкладка|Preprocessor|Additional include directories
Project|Settings|Link вкдадка|Object/library modules

какие аналоги этих настроек в C++Builder 6 ?
и что значит
C:\Program Files\Microsoft Visual Studio\VC98\Include\GL/gl.h(1152) : error C2144: syntax error : missing ';' before type 'void'
C:\Program Files\Microsoft Visual Studio\VC98\Include\GL/gl.h(1152) : error C2501: 'WINGDIAPI' : missing storage-class or type specifiers
C:\Program Files\Microsoft Visual Studio\VC98\Include\GL/gl.h(1152) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

при компилировании проекта с OpenGL в Вижуал С++ 6
несколько версий gl.h и glu.h уже проверял - везде ошибки на одном и том же месте, dll с OpenGL в папку с проектом кидал, думал в Борланде не будет проблем - так не смог найти настройки для проекта. В самом коде ошибок нет, тк это пример работы с OpenGL.

При создании DLL указываем что она мультипаточная.
Project/Options/Directories

А зачем тебе нужен GL из Visual Studio, если в билдере свой есть? Просто #include <gl.h>.
Истина где-то рядом... Пускай там и остается!
0

#49 Пользователь офлайн   синоним

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 392
  • Регистрация: 01 Ноябрь 07

Отправлено 08 Март 2008 - 18:07

C:\Program Files\Microsoft Visual Studio\VC98\Include\GL/gl.h(1152) : error C2144: syntax error : missing ';' before type 'void'
C:\Program Files\Microsoft Visual Studio\VC98\Include\GL/gl.h(1152) : error C2501: 'WINGDIAPI' : missing storage-class or type specifiers
C:\Program Files\Microsoft Visual Studio\VC98\Include\GL/gl.h(1152) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

чтоб это убрать надо перед подключением gl.h написать #include <windows.h>
это если кому интересно
0

#50 Пользователь офлайн   KORENHACK

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 464
  • Регистрация: 01 Ноябрь 07

Отправлено 08 Март 2008 - 18:28

Просмотр сообщенияTRUTHFUL (8.3.2008, 14:33):

Ты в C++Builder пишешь? При создании консольного приложения указываешь галочку автосоздания консольки?

Ставлю напротив Console Application и Multi Threaded.
0

#51 Пользователь офлайн   TRUTHFUL

  • Пользователь
  • PipPip
  • Группа: Модераторы
  • Сообщений: 412
  • Регистрация: 01 Ноябрь 07

Отправлено 08 Март 2008 - 19:21

Просмотр сообщенияKORENHACK (8.3.2008, 18:28):

Ставлю напротив Console Application и Multi Threaded.

Я полагаю проблема в том, что буфер ввода не пуст, так как ты нажимаешь ENTER при вводе данных. Употреби getchar() дважды. Первый раз ты очистишь буфер, а второй будет ожидать ввода новой клавиши.
Истина где-то рядом... Пускай там и остается!
0

#52 Пользователь офлайн   KORENHACK

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 464
  • Регистрация: 01 Ноябрь 07

Отправлено 08 Март 2008 - 22:03

Просмотр сообщенияTRUTHFUL (8.3.2008, 20:21):

Я полагаю проблема в том, что буфер ввода не пуст, так как ты нажимаешь ENTER при вводе данных. Употреби getchar() дважды. Первый раз ты очистишь буфер, а второй будет ожидать ввода новой клавиши.

Все ОК. Спасибо.
0

#53 Пользователь офлайн   sawrus

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 162
  • Регистрация: 07 Ноябрь 07

Отправлено 17 Март 2008 - 10:57

// Не могу найти ошибку в проге //
// а скоро сдавать надо.
// помогите, если кто знает как!!!
:)

#include <stdio.h>

class Data{
private:
int itsDataNumber;
public:
Data(){ itsDataNumber = 0; }
Data(int DataNumber){ itsDataNumber = DataNumber; }
virtual ~Data(){ }
virtual void Display() const;
int GetDataNumber() const;
};

int Data::GetDataNumber() const
{
return itsDataNumber;
}

void Data::Display() const
{
printf("itsDataNumber = &d\n",itsDataNumber);
}

class IntData: public Data{
public:
IntData(){ itsIntData = 0; }
IntData(int intData, int DataNumber);
virtual void Display();
private:
int itsIntData;
};

void IntData::Display(){
Data::Display();
printf("itsDataNumber = %d \n",itsIntData);
}

IntData::IntData(int intData, int DataNumber): itsIntData(intData),Data(DataNumber)
{}

class DataNode{
private:
Data * itsData;
DataNode * itsNext;
public:
DataNode(Data * pData);
~DataNode();
void SetNext(DataNode * node)
{ itsNext = node; }
void SetData(Data * nData){ itsData = nData; }
DataNode * GetNext() const;
Data * GetData() const;
};
DataNode::DataNode(Data * pData)
{
itsData = pData;
itsNext = NULL;
}

DataNode::~DataNode(){
delete itsData;
itsData = 0;
delete itsNext;
itsNext = NULL;
}

DataNode * DataNode::GetNext() const{
return itsNext;
}

Data * DataNode::GetData() const{
if (itsNext)
return itsData;
else
return NULL;
}

class DataList{
private:
DataNode * pHead;
int itsCount;
static DataList GlobalDataList;
public:
DataList();
~DataList();
void Iterate(void (Data::*func)() const) const;
Data * GetFirst() const;
Data * Find(int & pos, int DataNumber) const;
void Insert(Data *);
Data * operator[](int ) const;
int GetCount(){ return itsCount; }
static DataList& GetGlobalDataList(){ return GlobalDataList; }
};

DataList::DataList(){
pHead = NULL;
itsCount = 0;
}

DataList::~DataList(){
delete pHead;
}

Data * DataList::GetFirst() const{
if (pHead)
return pHead->GetData();
else
return NULL;
}

Data * DataList::Find(int & pos, int DataNumber) const
{
DataNode * pNode = NULL;
pos = 0;
//for (pNode = pHead, pos = 0; pNode!=NULL, pNode = pNode->GetNext(); pos++ )
while (pNode!=NULL)
{
if ((pNode->GetData()->GetDataNumber())==DataNumber)break;
pNode = pNode->GetNext();
}

if (pNode == NULL)
return NULL;
else
return pNode->GetData();
}

Data * DataList::operator[](int OffSet) const
{
DataNode * pNode = pHead;

if (!pHead)
return NULL;
if (OffSet > itsCount)
return NULL;

for (int i=0; i<OffSet; i++)
pNode = pNode->GetNext();
return pNode->GetData();
}

void DataList::Iterate(void (Data::*func)() const) const
{
if (!pHead)
return;
DataNode * pNode = pHead;
do
(pNode->GetData()->*func)();
while (pNode = pNode->GetNext());
}

void DataList::Insert(Data * pData)
{
DataNode * pNode; pNode = new DataNode(pData);
DataNode * pCurrent = pHead;
DataNode * pNext = NULL;

int New = pData->GetDataNumber();
int Next = 0;
itsCount++;

if (!pHead){
pHead = pNode;
return;
}
int NewNumber = pHead->GetData()->GetDataNumber();
if ( NewNumber > New){
pNode->SetNext(pHead);
pHead = pNode;
return;
}
for(;;)
{
if (!pCurrent->GetNext()){
pCurrent->SetNext(pNode);
return;
}

pNext = pCurrent->GetNext();
Next = pNext->GetData()->GetDataNumber();
if (Next > New){
pCurrent->SetNext(pNode);
pNode->SetNext(pNext);
return;
}
pCurrent = pNext;
}
}

class DataCatalog{
public:
void Insert(Data *);
int Exists(int DataNumber);
Data * Get(int DataNumber);
//operator+(const DataCatalog &);
void ShowAll(){ theDataList.Iterate(&Data::Display); }
private:
DataList theDataList;
};


void DataCatalog::Insert(Data * newData)
{
int DataNumber = newData->GetDataNumber();
int OffSet;
if (!theDataList.Find(OffSet, DataNumber))
theDataList.Insert(newData);
else{
switch(OffSet){
case 0: printf("1\n"); break;
case 1: printf("2\n"); break;
case 2: printf("3\n"); break;
default: printf("%d\n",(OffSet+1));
}
printf("error: Rejected!\n");
}
}

int DataCatalog::Exists(int DataNumber)
{
int OffSet;
if (!theDataList.Find(OffSet, DataNumber));
return OffSet;
}

Data * DataCatalog::Get(int DataNumber){
int OffSet;
Data * theData = theDataList.Find(OffSet, DataNumber);
return theData;
}

//operator+(const DataCatalog &);

int main(){
DataCatalog MyDataCatalog;
int DataNumber;
int value = 1;
Data * MyData;
for (DataNumber = 10; DataNumber!=1; DataNumber--){
MyData = new IntData(value,DataNumber);
MyDataCatalog.Insert(MyData);
}
//MyDataCatalog.ShowAll();
return 0;
};
0

#54 Пользователь офлайн   FJ

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 265
  • Регистрация: 01 Ноябрь 07

Отправлено 19 Март 2008 - 17:08

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

использую структуру

struct words{
	char word[30];
	words* next;
};


подсчитываю длину слова так:

void chain(words* beg){
	int lenth;
	words* curent_p = beg;
	while (curent_p){
		lenth = 0;
		lenth = strlen (curent_p -> word);
		//printf ("\n %d \n", lenth);
		curent_p = curent_p -> next;
	}
	
}

0

#55 Пользователь офлайн   Terror

  • Активный пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 512
  • Регистрация: 01 Ноябрь 07

Отправлено 19 Март 2008 - 22:54

word[strlen(word) - 1] == next->word[0]

при этом не забыв проверить длину просматриваемого слова и валидность указателя на следующее слово
<!--sizeo:2--><span style="font-size:10pt;line-height:100%"><!--/sizeo-->< a href="http://forums.avtograd.ru/index.php?showtopic=119165" target="_blank">Quick Confign - программа для быстрого изменения настроек Windows</a><!--sizec--></span><!--/sizec-->
0

#56 Пользователь офлайн   Роман Шувалов

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 190
  • Регистрация: 02 Ноябрь 07

Отправлено 27 Март 2008 - 23:36

всем привет.

кто-нибудь использует Code::Blocks?

не могу им ничего откомпилировать (ОС Fedora 8), пишет "uses an invalid compiler. skipping". под виндой всё ок (версия с MinGW), а под линуксом вот такая вот фигня. че ему в моём GCC не нравится я не знаю. никто не сталкивался с такой проблемой? или может хотя бы подскажете, в каком направлении копать разгадку...
Роман
0

#57 Пользователь офлайн   quarck

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 83
  • Регистрация: 28 Ноябрь 07

Отправлено 28 Март 2008 - 18:22

Просмотр сообщенияШувалов Роман (27.3.2008, 23:36):

всем привет.

кто-нибудь использует Code::Blocks?

не могу им ничего откомпилировать (ОС Fedora 8), пишет "uses an invalid compiler. skipping". под виндой всё ок (версия с MinGW), а под линуксом вот такая вот фигня. че ему в моём GCC не нравится я не знаю. никто не сталкивался с такой проблемой? или может хотя бы подскажете, в каком направлении копать разгадку...


Используйте eclipse, или как бывалые, emacs, и не морочийте людям голову :)
Я поменял пароль на рандомный, считайте я удалил свой аккаунт, никому отвечать не смогу не хочу и не буду по этой причине.
0

#58 Пользователь офлайн   Роман Шувалов

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 190
  • Регистрация: 02 Ноябрь 07

Отправлено 03 Апрель 2008 - 01:42

проблема была в системе, снёс федору, поставил ASPLinux - всё работает. что было не так - не знаю, но сейчас уже не важно...
Роман
0

#59 Пользователь офлайн   |PASHAN|

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 33
  • Регистрация: 01 Ноябрь 07

Отправлено 04 Апрель 2008 - 20:24

[удален]
0

#60 Пользователь офлайн   |PASHAN|

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 33
  • Регистрация: 01 Ноябрь 07

Отправлено 04 Апрель 2008 - 20:41

Ребят как здесь правильно сделать сортировку по "b" ?

#include <iostream>
#include <list>
#include <algorithm>
using namespace std;

class Node
{
public:
	Node(int _a, int _b) : a(_a), b(_b) {}
	~Node() {}
	bool operator < (const Node& n) const
	{
		return a < n.a;
	}

	int a;
	int b;
};

class SortB
{
public:

	bool operator() (const Node& n1, const Node& n2)
	{
		return n1.b < n2.b;
	}
};



int main()
{
	list<Node> test;
	test.push_back(Node(2,4));
	test.push_back(Node(1,1));

	test.sort();

	//test.sort(SortB());
	
	list<Node>::const_iterator i;

	for (i = test.begin(); i != test.end(); ++i)
	{
		cout << (i->a) << " " << (i->b) << endl;
	}
	
	return 0;
}

0

  • (13 Страниц)
  • +
  • 1
  • 2
  • 3
  • 4
  • 5
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей