Olorin
Mодератор
Профессор
Карма: +25/-4
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
Пол:
Сообщений: 1107
|
|
« Ответ #141 : Ноябрь 13, 2008, 10:10:45 » |
|
Olorin, а модель памяти Huge ? Option -> Compiler -> Code generation -> Model
|
|
|
Записан
|
|
|
|
Olorin
Mодератор
Профессор
Карма: +25/-4
Offline
Пол: Награды:
Сообщений: 902
Кто к нам с чем зачем, тот от того и того
|
|
« Ответ #142 : Ноябрь 13, 2008, 10:45:02 » |
|
Olorin, а модель памяти Huge ? Option -> Compiler -> Code generation -> Model
Small. А кая должна быть? ЗЫ Кстати спасибо, помогло. Выставил на Huge.
|
|
|
Записан
|
Количество опыта пропорционально количеству выведенной из строя техники.
|
|
|
tos
|
|
« Ответ #143 : Ноябрь 13, 2008, 11:09:04 » |
|
о господи! а компилятор какой??
|
|
|
Записан
|
|
|
|
Olorin
Mодератор
Профессор
Карма: +25/-4
Offline
Пол: Награды:
Сообщений: 902
Кто к нам с чем зачем, тот от того и того
|
|
« Ответ #144 : Ноябрь 13, 2008, 11:14:15 » |
|
Использую Турбо Си. Версию не знаю.
|
|
|
Записан
|
Количество опыта пропорционально количеству выведенной из строя техники.
|
|
|
tos
|
|
« Ответ #145 : Ноябрь 14, 2008, 12:08:21 » |
|
как сказал один мудрец, "Вот только флудить не нужно. artem90" а мой ответ таков - юзайте нормальные компилеры, которые не так часто отшивают с выделением памяти. сам писал работу с картинками на 2 курсе вроде. ну так вот борлондоСИ частеько мне отказывал в выделении памяти, причём рандомно. мы не настолько богаты временем, чтобы искать решения пустяковых проблем. мой вердикт - потратьте час на установку MSVS нормальной версии. или Qt там например
|
|
|
Записан
|
|
|
|
Артем
sprata
Mодератор
Завкаф
Карма: +40/-5
Offline
Пол:
Сообщений: 1107
|
|
« Ответ #146 : Ноябрь 14, 2008, 12:37:46 » |
|
tos, если человек юзает старенький Турбо Си, то значит на это есть весомые причины. Тем более если это студент, который для выполнения учебной задачи ограничен в выборе компилятора. От тебя уже неоднократно были подобные посты, в которых ты советовал сменить компилятор на более современный, и это уже порядком надоело. В дальнейшем все подобные сообщения будут расцениваться как флуд и незамедлительно удаляться.
|
|
|
Записан
|
|
|
|
Kenny
|
|
« Ответ #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
Пол:
Сообщений: 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
|
|
« Ответ #149 : Ноябрь 14, 2008, 04:33:32 » |
|
Да, спасибо, проблема решилась чуть раньше чем прочитал.
|
|
|
Записан
|
|
|
|
Магнетон Бора
ЖИЗНЬ - БАЯН
Cтудент
Карма: +1/-0
Offline
Пол:
Сообщений: 61
|
|
« Ответ #150 : Ноябрь 23, 2008, 12:00:49 » |
|
Тут такая ситуация в BC 3.1 сделал небольшую менюшку и все пункты и кнопки подписаны естественно на английском и вот вопрос: как бы мне засунуть туда русские буквы так, чтобы не было проблем с кодировкой? Есть вариант открыть исходник в текстовом редактрое, вписать туда нужные название и сохранить в ДОС кодировке, но как эт сделать? какой редактор выбрать? В общем кто, что посоветует ?
|
|
|
Записан
|
|
|
|
Alder
|
|
« Ответ #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
Пол:
Сообщений: 61
|
|
« Ответ #152 : Ноябрь 23, 2008, 12:31:20 » |
|
Спасибо, Alder! Сейчас попробую )))))
|
|
|
Записан
|
|
|
|
Магнетон Бора
ЖИЗНЬ - БАЯН
Cтудент
Карма: +1/-0
Offline
Пол:
Сообщений: 61
|
|
« Ответ #153 : Ноябрь 23, 2008, 01:27:05 » |
|
хм.... а вот можно про последнее (про bat файл) немного подробнее, я имею в виду как его создать и отладить, я пробывал его создать в IDE Builder 6, но что-то у меня никак не выходит, раньше с этим не сталкивался
|
|
|
Записан
|
|
|
|
tos
|
|
« Ответ #154 : Ноябрь 23, 2008, 01:42:36 » |
|
берёшь создаёшь текстовый документ в блокноте, пишешь там всё, а потом меняешь расширение на .bat
|
|
|
Записан
|
|
|
|
Магнетон Бора
ЖИЗНЬ - БАЯН
Cтудент
Карма: +1/-0
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
Пол: Награды:
Сообщений: 1713
♪♪ ♫ ♪♪ ♫ ♪♪ ♫ ♪♪
|
|
« Ответ #156 : Ноябрь 24, 2008, 10:22:25 » |
|
а в полноэкранный режим переходил ? по алт+ентер
|
|
|
Записан
|
♪♪ ♫ LET FOREVER BE ♫ ♪♪ ♫ ♪♪ ♪♪ ♫
|
|
|
Магнетон Бора
ЖИЗНЬ - БАЯН
Cтудент
Карма: +1/-0
Offline
Пол:
Сообщений: 61
|
|
« Ответ #157 : Ноябрь 24, 2008, 02:39:27 » |
|
вобще-то я меню делал в графическом режиме и естественно переходил в полноэкранный режим, дело в том, что оно уже в среде программирования не выводит русские символы, а должно выводить (((
|
|
|
Записан
|
|
|
|
Alder
|
|
« Ответ #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
Пол:
Сообщений: 61
|
|
« Ответ #159 : Ноябрь 24, 2008, 03:25:43 » |
|
Alder, спасибо за совет ))))) ТОлько всё-равно не могу понять почему в среде программирования при написании программы кейрус не работает ?
|
|
|
Записан
|
|
|
|
|