КИТА unofficial
Ноябрь 23, 2024, 03:56:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   ПРАВИЛА Помощь WIKI PDA Войти Регистрация  


Страниц: 1 ... 6 7 [8] 9 10 ... 12   Вниз
  Печать  
Автор Тема: Вопросы в С/С++  (Прочитано 162219 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Olorin
Mодератор
Профессор
*****

Карма: +25/-4
Offline Offline

Пол: Мужской
Награды:
За долгое терпение.
Сообщений: 902


Кто к нам с чем зачем, тот от того и того


« Ответ #140 : Ноябрь 13, 2008, 08:57:02 »

Olorin, размер картинки какой?
imagesize(left,top,left+width,top+height);
где
width=320;
height=240;
top==getmaxy()/2-height/2;
left=getmaxx()/2-width/2;
Записан

Количество опыта пропорционально количеству выведенной из строя техники.
Артем
sprata
Mодератор
Завкаф
*****

Карма: +40/-5
Offline Offline

Пол: Мужской
Сообщений: 1107


« Ответ #141 : Ноябрь 13, 2008, 10:10:45 »

Olorin, а модель памяти Huge ? Option -> Compiler -> Code generation -> Model
Записан
Olorin
Mодератор
Профессор
*****

Карма: +25/-4
Offline Offline

Пол: Мужской
Награды:
За долгое терпение.
Сообщений: 902


Кто к нам с чем зачем, тот от того и того


« Ответ #142 : Ноябрь 13, 2008, 10:45:02 »

Olorin, а модель памяти Huge ? Option -> Compiler -> Code generation -> Model
Small. А кая должна быть?

ЗЫ Кстати спасибо, помогло. Выставил на Huge.
Записан

Количество опыта пропорционально количеству выведенной из строя техники.
tos
Mодератор
Декан
*****

Карма: +80/-16
Offline Offline

Награды:
1 место в фотоконкурсе \1,3 место в фотоконкурсе \II место в фотоконкурсе \
Сообщений: 1949


♪♪ ♫Nice boys don`t play Rock`n`Roll♫ ♪♪


« Ответ #143 : Ноябрь 13, 2008, 11:09:04 »

о господи!
а компилятор какой??
Записан
Olorin
Mодератор
Профессор
*****

Карма: +25/-4
Offline Offline

Пол: Мужской
Награды:
За долгое терпение.
Сообщений: 902


Кто к нам с чем зачем, тот от того и того


« Ответ #144 : Ноябрь 13, 2008, 11:14:15 »

Использую Турбо Си. Версию не знаю.
Записан

Количество опыта пропорционально количеству выведенной из строя техники.
tos
Mодератор
Декан
*****

Карма: +80/-16
Offline Offline

Награды:
1 место в фотоконкурсе \1,3 место в фотоконкурсе \II место в фотоконкурсе \
Сообщений: 1949


♪♪ ♫Nice boys don`t play Rock`n`Roll♫ ♪♪


« Ответ #145 : Ноябрь 14, 2008, 12:08:21 »

как сказал один мудрец, "Вот только флудить не нужно. artem90"
а мой ответ таков - юзайте нормальные компилеры, которые не так часто отшивают с выделением памяти.
сам писал работу с картинками на 2 курсе вроде.
ну так вот борлондоСИ частеько мне отказывал в выделении памяти, причём рандомно.
мы не настолько богаты временем, чтобы искать решения пустяковых проблем.
мой вердикт - потратьте час на установку MSVS нормальной версии.
или Qt там например
Записан
Артем
sprata
Mодератор
Завкаф
*****

Карма: +40/-5
Offline Offline

Пол: Мужской
Сообщений: 1107


« Ответ #146 : Ноябрь 14, 2008, 12:37:46 »

tos, если человек юзает старенький Турбо Си, то значит на это есть весомые причины. Тем более если это студент, который для выполнения учебной задачи ограничен в выборе компилятора. От тебя уже неоднократно были подобные посты, в которых ты советовал сменить компилятор на более современный, и это уже порядком надоело. В дальнейшем все подобные сообщения будут расцениваться как флуд и незамедлительно удаляться.
Записан
Kenny
^___^
Проректор
*****

Карма: +69/-11
Offline Offline

Пол: Мужской
Награды:
3 место в фотоконкурсе \За II, III места в фотоконкурсе Вид из окна
Сообщений: 2352



WWW
« Ответ #147 : Ноябрь 14, 2008, 02:42:31 »

Односвязный список, ввод, вывод.
Код:
#include <iostream>
using namespace std;
#include <string.h>
#include <conio.h>
struct List
{
char* name;
int count;
List *next;
List(const char *);
~List();

void print();
};
List::List(const char *name)
{
this->name = new char[ strlen(name)+1 ];
strcpy(this->name, name);
}
List::~List()
{
if(name!=NULL) delete name;
next = NULL;
}
void List::print(){
cout<<"#"<<count<<"      "<<name<<endl;
}
class Abzzz
{
public:
void Add(List *element);
Abzzz();
~Abzzz();
void print();
private:
int count;
List *Head,*Tail;
};
void Abzzz::Add(List *element){
if(count)
{
Tail->next = element;
element->count=count;
element->next = NULL;
Tail = element;
}
else
{
Head=element;
element->count=count;
Tail = element;
}
count++;
}
Abzzz::Abzzz()
{
count=0;
}

Abzzz::~Abzzz()
{

for(int i=0; i<count; i++)
{
Head=Head->next;
Head->next=Tail;
delete Tail->next;
Tail->next=Head;
}
}

void Abzzz::print()
{
List *curr = Head;
while(curr)
{
curr->print();
curr = curr->next;
}

}
int main()
{
Abzzz A;
char S[256];

cout<<"Name :"<<endl;
cin>>S;
A.Add(new List(S) );
A.print();
getche();
return 0;
}
Работает, но после(во время) ввода получаем : Unhandled exception at 0x00a3169e in Lab_3.exe: 0xC0000005: Access violation reading location 0xcdcdcdcd.
PS VS2008.
Записан
Артем
sprata
Mодератор
Завкаф
*****

Карма: +40/-5
Offline Offline

Пол: Мужской
Сообщений: 1107


« Ответ #148 : Ноябрь 14, 2008, 07:05:32 »

В методе Add, по else добавь строчку element->next = NULL;  Вот рабочий код:
Код:
#include <iostream.h>
using namespace std;
#include <string.h>
#include <conio.h>
struct List
{
char* name;
int count;
List *next;
List(const char *);
~List();

void print();
};
List::List(const char *name)
{
this->name = new char[ strlen(name)+1 ];
strcpy(this->name, name);
}
List::~List()
{
if(name!=NULL) delete name;
next = NULL;
}
void List::print(){
cout<<"#"<<count<<"      "<<name<<endl;
}
class Abzzz
{
public:
void Add(List *element);
Abzzz();
~Abzzz();
void print();
private:
int count;
List *Head,*Tail;
};
void Abzzz::Add(List *element){
if(count)
{
Tail->next = element;
element->count=count;
element->next = NULL;
Tail = element;
}
else
{
Head=element;
element->count=count;
Tail = element;
                       element->next = NULL;
}
count++;
}
Abzzz::Abzzz()
{
count=0;
}

Abzzz::~Abzzz()
{

for(int i=0; i<count; i++)
{
Head=Head->next;
Head->next=Tail;
delete Tail->next;
Tail->next=Head;
}
}

void Abzzz::print()
{
List *curr = Head;
while(curr)
{
curr->print();
curr = curr->next;
}

}
int main()
{
Abzzz A;
char S[256];

cout<<"Name :"<<endl;
cin>>S;
A.Add(new List(S) );
A.print();
getche();
return 0;
}

Ошибка возникала в методе вывода спсика print(), из-за недоработок в методе Add. Условием выхода было while(curr != NULL), но это условие всегда было истинно, потому что в методе добавления 1-ого элемента в спсиок, указателю на следующий элемент спсика НЕ присваивался NULL, и прога зависала в вечном цикле, при этом еще пытаясь вызвать метод print() у объекта "Мусор" )))
« Последнее редактирование: Ноябрь 14, 2008, 07:18:45 от artem90 » Записан
Kenny
^___^
Проректор
*****

Карма: +69/-11
Offline Offline

Пол: Мужской
Награды:
3 место в фотоконкурсе \За II, III места в фотоконкурсе Вид из окна
Сообщений: 2352



WWW
« Ответ #149 : Ноябрь 14, 2008, 04:33:32 »

Да, спасибо, проблема решилась чуть раньше чем прочитал.
Записан
Магнетон Бора
ЖИЗНЬ - БАЯН
Cтудент
*

Карма: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 61



« Ответ #150 : Ноябрь 23, 2008, 12:00:49 »

Тут такая ситуация в BC 3.1 сделал небольшую менюшку и все пункты и кнопки подписаны естественно на английском и вот вопрос: как бы мне засунуть туда русские буквы так, чтобы не было проблем с кодировкой? Есть вариант открыть исходник в текстовом редактрое, вписать туда нужные название и сохранить в ДОС кодировке, но как эт сделать? какой редактор выбрать? В общем кто, что посоветует ?  Непонимающий
Записан
Alder
Администратор
Проректор
*****

Карма: +331/-16
Offline Offline

Пол: Мужской
Награды:
За II место в конкурсе поэзии (весна-2007)2 место в фотоконкурсе \За II место в фотоконкурсе \3 место в фотоконкурсе \2 место в фотоконкурсе \Лучший знаток музыки 2009Лучший знаток музыки 2010
Сообщений: 11224


just for fun


WWW
« Ответ #151 : Ноябрь 23, 2008, 12:25:39 »

Магнетон Бора, смотри в сторону keyrus.com - руссификатора для DOS. Его необходимо запускать перед запуском bc, а потом в редакторе появится возможность вводить русские буквы (переключение раскладки по умолчанию - правый Ctrl) Самом собой, что keyrus необходимо будет запускать и потом - перед запуском программы отдельно, а не из IDE. Для удобства напиши подобный bat-файл:
Код:
@echo Start keyrus
keyrus.com
@echo Start programm
progname.exe
Записан

"There are things known and there are things unknown, and in between are the doors..." (Jim Morrison)
Магнетон Бора
ЖИЗНЬ - БАЯН
Cтудент
*

Карма: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 61



« Ответ #152 : Ноябрь 23, 2008, 12:31:20 »

Спасибо, Alder! Сейчас попробую )))))
Записан
Магнетон Бора
ЖИЗНЬ - БАЯН
Cтудент
*

Карма: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 61



« Ответ #153 : Ноябрь 23, 2008, 01:27:05 »

хм.... а вот можно про последнее (про bat файл)  немного подробнее, я имею в виду как его создать и отладить, я пробывал его создать в IDE Builder 6, но что-то у меня никак не выходит, раньше с этим не сталкивался
Записан
tos
Mодератор
Декан
*****

Карма: +80/-16
Offline Offline

Награды:
1 место в фотоконкурсе \1,3 место в фотоконкурсе \II место в фотоконкурсе \
Сообщений: 1949


♪♪ ♫Nice boys don`t play Rock`n`Roll♫ ♪♪


« Ответ #154 : Ноябрь 23, 2008, 01:42:36 »

берёшь создаёшь текстовый документ в блокноте, пишешь там всё, а потом меняешь расширение на .bat
Записан
Магнетон Бора
ЖИЗНЬ - БАЯН
Cтудент
*

Карма: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 61



« Ответ #155 : Ноябрь 23, 2008, 02:36:57 »

Все равно никак не получается (
Делаю вот, что:
Включил руссификатор, в среде напечатал нужные пункты меню, как надо оно не печатается почему-то.
Потом создал bat-файл с кодом который посоветавал Alder:

Код:
@echo Start keyrus
keyrus.com
@echo Start GIFS
GIFS.exe
GIFS - моя программа, после запуска там все равно высвечиваются непонятные символы, вместо нужных пунктов меню (
Записан
vimmax
Mодератор
Декан
*****

Карма: +42/-3
Offline Offline

Пол: Мужской
Награды:
лучшая гитара мира
Сообщений: 1713


♪♪ ♫ ♪♪ ♫ ♪♪ ♫ ♪♪


« Ответ #156 : Ноябрь 24, 2008, 10:22:25 »

а в полноэкранный режим переходил ? по алт+ентер
Записан

♪♪ ♫  LET FOREVER BE  ♫ ♪♪ ♫ ♪♪ ♪♪ ♫
Магнетон Бора
ЖИЗНЬ - БАЯН
Cтудент
*

Карма: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 61



« Ответ #157 : Ноябрь 24, 2008, 02:39:27 »

вобще-то я меню делал в графическом режиме и естественно переходил в полноэкранный режим, дело в том, что оно уже в среде программирования не выводит русские символы, а должно выводить (((

Записан
Alder
Администратор
Проректор
*****

Карма: +331/-16
Offline Offline

Пол: Мужской
Награды:
За II место в конкурсе поэзии (весна-2007)2 место в фотоконкурсе \За II место в фотоконкурсе \3 место в фотоконкурсе \2 место в фотоконкурсе \Лучший знаток музыки 2009Лучший знаток музыки 2010
Сообщений: 11224


just for fun


WWW
« Ответ #158 : Ноябрь 24, 2008, 03:04:33 »

Магнетон Бора, что ж ты сразу не сказал, что меню в графике. Само собой там кейрус не работает. Ищи руссифицированные bgi-шрифты. Такие были.
Записан

"There are things known and there are things unknown, and in between are the doors..." (Jim Morrison)
Магнетон Бора
ЖИЗНЬ - БАЯН
Cтудент
*

Карма: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 61



« Ответ #159 : Ноябрь 24, 2008, 03:25:43 »

Alder, спасибо за совет ))))) ТОлько всё-равно не могу понять почему в среде программирования при написании программы кейрус не работает ?
Записан
Страниц: 1 ... 6 7 [8] 9 10 ... 12   Вверх
  Печать  
 
Перейти в:  

Penguins Counter Powered by MySQL Powered by PHP Powered by SMF 1.1.8 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS! Internetmap
Страница сгенерирована за 0.071 секунд. Запросов: 35.