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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите откомпилировать прогу на С. не понимаю ошибки... 
V
    Опции темы
Int23h
Дата 22.10.2006, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <graphics.h>
#define space ' '

char matrix[3][3]={
     {space,space,space},
     {space,space,space},
     {space,space,space}
    };

void get_computer_move(void),get_player_move(void);
void disp_matrix(void);
void init_gr(void) ,graphica(void);
char check(void);

int main()
{
 int driver,mode;

 driver=DETECT;
 mode=0;
 initgraph(&driver, &mode,"d:\\borlandc\\bgi");
 cleardevice();

 char ch,done;

 printf("This is a game of Tic-Tac-Toe.\n");
 printf("You will be playing against the comptuter.\n");

 done=space;
 do {
    graphica();
    disp_matrix();
    get_player_move( );
    done=check(); 
    if (done!=space) break;
    get_computer_move();
    done=check();
    cleardevice();
  } while (done==space);
  if (done=='x') printf(" You won!!!\n");
  else  printf(" I won!!!\n");
  disp_matrix();
  ch=getche();
  return 0;}


void graphica(void)
{
 setbkcolor(1);
 setfillstyle(SOLID_FILL,9);
}


void get_player_move(void)
{
 int x,y;

 printf("Enter coodinates for your  x .\n");
 printf("Row?\n");
 scanf("%d",&x);
 printf("Colomn?\n");
 scanf("%d",&y);
 x--;
 y--;
 if(x<0 || y<0 || x>2 || y>2 || matrix[x][y]!=space)
 { printf("Invalid move,try again.\n");
   get_player_move();
 }
 else  matrix[x][y]='x';
}


void get_computer_move(void)
{
  register int t;
  char *p;

  p=(char *) matrix;
  for(t=0; *p!=space && t<9; ++t) p++;
  if(t==9)
  {  printf("draw\n");
     exit(0); 
  }
  else *p='o';
}

void disp_matrix(void)
{
 int t;

 for(t=0; t<3; t++)
 {
 printf("%c | %c | %c " , matrix[t][0],
    matrix[t][1], matrix[t][2]);
  if(t!=2) printf("\n--|---|--\n");
 }
 printf("\n");
}

char  check(void)
{
 int t;
 char *p;

 for(t=0; t<3;t++)
 {
  p=&matrix[t][0];
  if(*p==*(p+1) && *(p+1)==*(p+2)) return *p;
 }

 for(t=0; t<3;t++)
 {
  p=&matrix[0][t];
  if(*p==*(p+3) && *(p+3)==*(p+6)) return *p;
 }

 if(matrix[0][0]==matrix[1][1] && matrix[1][1]==matrix[2][2])
 return matrix[0][0];

 if(matrix[0][2]==matrix[1][1] && matrix[1][1]==matrix[2][0])
 return matrix[0][2];

 return space;
}


Если кто-нибудь сделает, нипишите в чем были ошибки, или верный код. Заранее благодарен.
PM MAIL   Вверх
Xenon
Дата 22.10.2006, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Так какие ошибки у тебя возникли?


--------------------
user posted image  
PM MAIL   Вверх
bsa
Дата 22.10.2006, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



Int23h, а самому откомпилировать слабо? Если просто нечем, то тебе сюда: http://www.codeblocks.org
PM   Вверх
Int23h
Дата 22.10.2006, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ошибки:
Linking 1.exe:
Linker Error: Undefined symbol _setfillstyle in module 1.CPP
Linker Error: Undefined symbol _setbkcolor in module 1.CPP
Linker Error: Undefined symbol _cleardevice in module 1.CPP
Linker Error: Undefined symbol _initgraph in module 1.CPP

Цитата

Так какие ошибки у тебя возникли?

Я тебе в асю уже писал.
 "Xenon (09:49 PM) : 
в С++ более-менее".
 А это все тот же С...

Цитата

Int23h, а самому откомпилировать слабо? Если просто нечем, то тебе сюда: http://www.codeblocks.org

Если бы было не слабо, не спрашивал бы... А если думаешь что мне нужен ехешник, то ошибаешься... мне нужен рабочий код

Это сообщение отредактировал(а) Int23h - 22.10.2006, 22:12
PM MAIL   Вверх
bsa
Дата 22.10.2006, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



Цитата(Int23h @ 22.10.2006,  22:08)
Ошибки:
Linking 1.exe:
Linker Error: Undefined symbol _setfillstyle in module 1.CPP
Linker Error: Undefined symbol _setbkcolor in module 1.CPP
Linker Error: Undefined symbol _cleardevice in module 1.CPP
Linker Error: Undefined symbol _initgraph in module 1.CPP

ты в настройках компилятора установи галочку - "подключать графическую библиотеку" (не помню как там в оригинале).
PM   Вверх
Int23h
Дата 22.10.2006, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Если ты имеешь в виду Options>>Linker>>Libraries>>Graphics Library, то попробовал. Откомпилировалась, но что-то все равно не работает
PM MAIL   Вверх
Daevaorn
Дата 22.10.2006, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

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



Цитата(Int23h @  22.10.2006,  23:18 Найти цитируемый пост)
 Откомпилировалась, но что-то все равно не работает 

Значит уже логические ошибки в коде у тебя
PM MAIL WWW   Вверх
Int23h
Дата 22.10.2006, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А кто-нибудь смог бы сделать то, что я просил в первом сообщении ("нипишите в чем были ошибки, или верный код.") , или тут нужно вытягивать по одному вопросу. 
А какие логические ошибки не мог бы показать, если конечно это не займет у вас много времени?
PM MAIL   Вверх
chipset
Дата 22.10.2006, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

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



Цитата(Int23h @  22.10.2006,  12:18 Найти цитируемый пост)
Откомпилировалась, но что-то все равно не работает 

В каком смысле "не работает"?

Цитата(Int23h @  22.10.2006,  12:34 Найти цитируемый пост)
А кто-нибудь смог бы сделать то, что я просил в первом сообщении ("нипишите в чем были ошибки, или верный код.") , или тут нужно вытягивать по одному вопросу. 

Я лично не могу такого сделать по причине неимения компилятора с graphics.h и требуемой либой smile
Цитата(Int23h @  22.10.2006,  12:34 Найти цитируемый пост)
А какие логические ошибки не мог бы показать, если конечно это не займет у вас много времени? 

Это зависит от симптомов "неработания" 


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Int23h
Дата 22.10.2006, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



"Не работает" в смысле не работает smile т.е. сразу закрывается. 
Ну, буду надеятся, что появится кто-то с имением компилятора с graphics.h и требуемой либой
PM MAIL   Вверх
Int23h
Дата 22.10.2006, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Все понял. Теперь работает. Спасибо всем кто старался помочь
PM MAIL   Вверх
Palladin
Дата 23.10.2006, 01:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

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



И всётаки в чем проблема была???? в том что в конце не было getche();???? или в С это ненадо??


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
Int23h
Дата 23.10.2006, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ошибки там вообще не было, я же сказал что откомпилировалось. Но ехе'шник сразу отрубался, потому что в коде был указан неверный  путь на директорию патча:
24: initgraph(&driver, &mode,"d:\\borlandc\\bgi");


PM MAIL   Вверх
bsa
Дата 25.10.2006, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



А этот путь указывает на директорию с драйверами, а не с патчами. smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

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

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

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

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


 




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


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

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