Автор |
Сообщение |
Eugene88
Репутация: 0
Сообщения: 12
Стаж: 1 год 10 месяцев
|
[] 14.12.2007 21:12 нехватает файлов |
|
|
Космачем Валентин Михайлович 1-2 семестр первого курса 8-го факультета. лабораторные работы по программированию. z я сам на втром крсе. перевелся с 5 -го фака. мне в долг это вписали. вот тут в разделе Космачева лежат эти лабы http://guap.ru/guap/kaf82/metod_main.shtml
в каждом из примеров вызываются следующие файлы:
<stdio.h>
<stdlib.h>
<fcntl.h>
<bios.h>
<dos.h>
в стандартной комплектации Borland Turbo C++ v 3.0 их нет.
может есть у кого такие? срочно нужно. сроки жмут. вышлите на мыло плиз [email protected].
Последний раз редактировалось: Eugene88 (14.12.2007 21:26), всего редактировалось 2 раз(а) |
|
Вернуться к началу |
|
|
Tiffany
Клёвая девчонка
Репутация: +14
Возраст: 20
Гороскоп:
Пол:
Откуда: Санкт-Петербург
Сообщения: 2745
Стаж: 4 года 2 месяца
|
[] 14.12.2007 21:19 |
|
|
Eugene88
Перепишите тему согласно правилам раздела. Сутки на исправление.
_________________ Луна, я вижу лишь тебя. Но ты видишь несоизмеримо больше.
Ответь мне, Луна, смотрит ли та, чьё имя я берегу, вечерами вверх, на небо.
Или, быть может, мысли её столь высоки, что нет нужды поднимать взгляда? (с) А. Чёрный
|
|
Вернуться к началу |
|
|
Eugene88
Репутация: 0
Сообщения: 12
Стаж: 1 год 10 месяцев
|
|
Вернуться к началу |
|
|
crazy hand
Модератор форума
Репутация: +2
Возраст: 71
Гороскоп:
Пол:
Откуда: Санкт-Петербург
Сообщения: 296
Стаж: 1 год 1 месяц
|
[] 14.12.2007 21:33 |
|
|
Держи:
http://slil.ru/25236471
Добавлено спустя 24 минуты 51 секунду:
А вообще посмотри - может проблема в другом? Проверь в настройках пути до директорий, может в этом проблема? Просто эти файлы должны быть, у меня лично они были с самого начала в борланд си 3.0.
_________________ Правила раздела "Помоги студенту"
"В любом деле важнее всего исполнение" Joseph Addison
|
|
Вернуться к началу |
|
|
Eugene88
Репутация: 0
Сообщения: 12
Стаж: 1 год 10 месяцев
|
[] 15.12.2007 9:25 |
|
|
да, действительно. даже после того как я эти файлы скопировал в папку include в процессе компиляции при обращинии к любому их них (файлов) пишет unable to open имя файла. что делать? не понимаю от чего это.
|
|
Вернуться к началу |
|
|
crazy hand
Модератор форума
Репутация: +2
Возраст: 71
Гороскоп:
Пол:
Откуда: Санкт-Петербург
Сообщения: 296
Стаж: 1 год 1 месяц
|
[] 15.12.2007 15:56 |
|
|
Я же писал:
Цитата: Проверь в настройках пути до директорий
Находится здесь:
Цитата: Options --> Directories
Меняешь на свои.
_________________ Правила раздела "Помоги студенту"
"В любом деле важнее всего исполнение" Joseph Addison
|
|
Вернуться к началу |
|
|
Eugene88
Репутация: 0
Сообщения: 12
Стаж: 1 год 10 месяцев
|
[] 15.12.2007 16:35 |
|
|
да, это отчасти помогло, но всеравно проги не выполняются. при компиляции практически на каждом вызове функции пишет function имя функции should have a prototype. т.е. в тех файлах что Вы мне дали прототипов этих функций нет. (причем даже самые простые типа close при работе с файлом)
|
|
Вернуться к началу |
|
|
crazy hand
Модератор форума
Репутация: +2
Возраст: 71
Гороскоп:
Пол:
Откуда: Санкт-Петербург
Сообщения: 296
Стаж: 1 год 1 месяц
|
[] 15.12.2007 18:22 |
|
|
ну с файлом там fclose(), а не close, насколько я помню. И вообще, нафиг тебе такое старьё? Перестань юзать доисторические артефакты! Возьми в руки нормальный инструмент и ТВОРИ!
_________________ Правила раздела "Помоги студенту"
"В любом деле важнее всего исполнение" Joseph Addison
|
|
Вернуться к началу |
|
|
Weman
Репутация: +5
Возраст: 20
Гороскоп:
Пол:
Сообщения: 535
Стаж: 1 год 11 месяцев
|
[] 15.12.2007 18:46 |
|
|
Eugene88, попробуй переместить папку с Borland Turbo C++ в корень диска - может возникнуть проблема из-за длинного пути к файлу!
_________________ Завтранах-универсальный ответ на любую просьбу.
|
|
Вернуться к началу |
|
|
Eugene88
Репутация: 0
Сообщения: 12
Стаж: 1 год 10 месяцев
|
|
Вернуться к началу |
|
|
crazy hand
Модератор форума
Репутация: +2
Возраст: 71
Гороскоп:
Пол:
Откуда: Санкт-Петербург
Сообщения: 296
Стаж: 1 год 1 месяц
|
[] 15.12.2007 22:44 |
|
|
Не совсем понятен вопрос:
Цитата: чтоб Космачев это поддерживал
Это что означает? Он вас заставляет определенную среду разработки использовать? Надеюсь что не так, иначе это бред. преподаватель может только запретить использовать какие-то библиотеки, как например нам на компьютерной графике запретили использовать opengl по причине того что в ней все требуемые по курсы алгоритмы реализованы.
Ну а так вообще есть много вариантов. Все зависит от конкретной задачи. Одно могу сказать точно: НЕТ таких задач которые решались бы ТОЛЬКО в Борланд Си 3.0. Хотя конечно, от студентов требуют лабы - дают примеры, написанные в прошлом веке для компилятора который написан почти 20 лет назад. Они надеются подготовить норм специалистов? Написание таких лаб на современных платформах требует дополнительных усилий от студента, на которые большинство не решаются. Но те кто решаются и достигают успеха - конечно не жалеют и они стнаовятся гораздо более продвинутыми =) Вообщем смотри сам. Юзай MS VC 6 (98-го года который, установлен на большинстве компов в гуапе) и будет тебе счастье. С помощью него можно написать всё, ну или почти всё будут вопросы конкретно по программам - пиши, попытаемся помочь хотя конечно судя по паре просмотренных мною сорцов, программы курсов у нас существенно отличаются. Но тем не менее. Хотя конечно сейчас наверное не совсем подходящее время для изучения каких-то новых сред Вообщем, решай сам
_________________ Правила раздела "Помоги студенту"
"В любом деле важнее всего исполнение" Joseph Addison
|
|
Вернуться к началу |
|
|
Eugene88
Репутация: 0
Сообщения: 12
Стаж: 1 год 10 месяцев
|
[] 15.12.2007 22:54 |
|
|
ясно. вообще бред какойто. Космачев сказал что ВСЕ проги рабочие. ни одна не запустилась ни у меня ни у моих друзей. ошибки прут как хз что по 20 штук. прикиньте задание он мне дал : типа все проги рабочие но там все функии использованы так вот мне надо понять ккая функция что делает, написать отдельную прогу где используется только она. вваще ппц. это при том что я С вообще не изучал. купил книжек. там ничего про это нет. на его странице лежат какието куцие "типаметодички"группа с кот я учусь ваще непонятно как эти лабы здала. все молчат как портизаны. жесть.
|
|
Вернуться к началу |
|
|
Weman
Репутация: +5
Возраст: 20
Гороскоп:
Пол:
Сообщения: 535
Стаж: 1 год 11 месяцев
|
[] 15.12.2007 23:02 |
|
|
Eugene88, выкладывай лабы сюда - потестю на работоспособность =)
_________________ Завтранах-универсальный ответ на любую просьбу.
|
|
Вернуться к началу |
|
|
crazy hand
Модератор форума
Репутация: +2
Возраст: 71
Гороскоп:
Пол:
Откуда: Санкт-Петербург
Сообщения: 296
Стаж: 1 год 1 месяц
|
[] 15.12.2007 23:03 |
|
|
ну там работа с видео. Тебе нужно узнать что за объединение REGS и функция int86() +разобраться со стандартными операциями языка Си. Вот впринципе и всё =) Попробуй спросить у препода\погуглить на тему этих функций и объединений и читай книжку по Си.
_________________ Правила раздела "Помоги студенту"
"В любом деле важнее всего исполнение" Joseph Addison
|
|
Вернуться к началу |
|
|
Eugene88
Репутация: 0
Сообщения: 12
Стаж: 1 год 10 месяцев
|
[] 15.12.2007 23:11 |
|
|
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <bios.h>
#include <dos.h>
void gotonext_char()
{
union REGS r;
int row,col;
r.h.ah=3;
r.h.bh=0;
int86(0x10,&r,&r);
row=r.h.dh;
col=r.h.dl;
col=col+1;
if (col>=80) { col=0; row=row+1;};
r.h.ah=2;
r.h.bh=0;
r.h.dh=row;
r.h.dl=col;
int86(0x10,&r,&r);
};
void goto_xy(x,y)
int x,y;
{
union REGS r;
r.h.ah=2;
r.h.dl=x;
r.h.dh=y;
r.h.bh=0;
int86(0x10,&r,&r);
};
video_mode()
{
union REGS r;
r.h.ah = 15;
return int86(0x10,&r,&r) & 255;
}
void save_video(page,buf_ptr)
int page;
unsigned int *buf_ptr;
{
union REGS r;
register int i,j;
memset(&r,sizeof(r),'\0');
for(i=0;i<80;i++)
for(j=0;j<25;j++) {
goto_xy(i,j);
r.h.ah=8;
r.h.bh=page;
*buf_ptr++ = int86(0x10,&r,&r);
}
}
void load_video(page,buf_ptr)
int page;
unsigned int *buf_ptr;
{
union REGS r;
register int i,j;
unsigned int ba;
for(i=0;i<80;i++)
for(j=0;j<25;j++) {
goto_xy(i,j);
r.h.ah=9;
r.h.bh=page;
r.x.cx=1;
ba=*buf_ptr++;
r.h.al=ba & 0xFF;
r.h.bl=(ba >>;
int86(0x10,&r,&r);
}
}
void clearscreen()
{
union REGS r;
register int i,j;
for(i=0;i<80;i++)
for(j=0;j<25;j++) {
goto_xy(i,j);
r.h.ah=0x09;
r.h.al=0x20;
r.h.bl=6;
r.h.bh=0;
r.x.cx=1;
int86(0x10,&r,&r);
}
goto_xy(1,1);
}
void scrool_xy(int xsc, int ysc)
{
union REGS r;
unsigned int buf_ptr[80*25*2];
int i=0;
for (i=0;i<80*25*2;i++)
buf_ptr[i]=0x620;
memset(&r,sizeof(r),'\0');
r.h.ch=0;
r.h.cl=0;
r.h.dh=24;
r.h.dl=79;
r.h.bh=6;
if (ysc>0)
{
r.h.ah=7;
r.h.al=ysc;
int86(0x10,&r,&r);
}
else if (ysc<0)
{
r.h.ah=6;
r.h.al=-ysc;
int86(0x10,&r,&r);
};
if (xsc>0)
{
save_video(0,buf_ptr);
load_video(0,buf_ptr+xsc*25);
}
else if (xsc<0)
{
save_video(0,buf_ptr+80*25);
load_video(0,buf_ptr+(80+xsc)*25);
};
};
int getkey(int func)
{
int keycode;
union REGS r;
memset(&r, sizeof(r),'\0');
r.h.ah=func;
r.h.al=0;
int86(0x16,&r,&r);
keycode=r.x.ax;
return keycode;
};
void printstring(str)
char* str;
{
union REGS r;
union REGS rs;
memset(&r,sizeof(r),'\0');
while(*str!='\0')
{
r.h.ah=0x0a;
r.h.al=*str;
r.h.bh=0;
r.x.cx=1;
int86(0x10,&r,&rs);
str=str+1;
gotonext_char();
};
};
void ex1()
{
int keycode;
char buf[64];
keycode=getkey(0);
sprintf(buf,"%X",keycode);
printstring(buf);
};
void ex2()
{
int keycode;
char buf[64];
keycode=getkey(0);
sprintf(buf,"%d",keycode);
printstring(buf);
};
char* knames[]={"rshift","lshift","ctrl","alt","scrollock","numlock","capslock"};
void print_key_status(status)
int status;
{
int cpos,i;
cpos=1;
for (i=0;i<7;i++)
{
cpos=1<<i;
if (status & cpos)
printf("%s ",knames[i]);
};
printf("\n");
};
void ex3()
{
int cstatus, status;
int key;
status=-1;
while(1)
{
cstatus=getkey(2);
if (status!=cstatus)
{
clearscreen();
goto_xy(0,0);
status=cstatus;
print_key_status(status);
};
key=bioskey(1);
while (key!=0)
{
key=key& 0xFF;
printf("%d\n",key);
bioskey(0);
if (key=='q')
return;
key=bioskey(1);
};
};
};
void ex4()
{
int f;
unsigned int buf_ptr[80*25];
clearscreen();
goto_xy(10,10);
putchar('d');
bioskey(0);
save_video(0,buf_ptr);
f=open("memdmp.dat",O_WRONLY|O_CREAT|O_BINARY);
if (f==-1)
perror("Can't write file memdmp.dmp");
write(f,&buf_ptr,sizeof(buf_ptr));
close(f);
};
void ex5()
{
int f,len;
unsigned int buf_ptr[80*25];
clearscreen();
printf("press key for load buffer\n");
bioskey(0);
f=open("memdmp.dat",O_RDONLY|O_BINARY);
if (f==-1)
perror("Can't write file memdmp.dmp");
len=read(f,&buf_ptr,sizeof(buf_ptr));
if (len!=sizeof(buf_ptr))
perror("Invalid input file memdmp.dmp");
load_video(0,buf_ptr);
close(f);
bioskey(0);
};
void ex6()
{
clearscreen();
printf("test1\n");
printf("test2\n");
printf("test3\n");
scrool_xy(1,0);
bioskey(0);
scrool_xy(0,1);
bioskey(0);
scrool_xy(-1,0);
bioskey(0);
scrool_xy(0,-1);
bioskey(0);
};
void main()
{
printf("test1: ");
ex _________ ();
printf(" Ok\n");
};
вот отсюда нужно вырвать код который делает Ввод нажатой клаыиши и вывод ее кода в 10-м формате. и написать отдельную прогу.
|
|
Вернуться к началу |
|
|
|
|