Перейти к содержанию
Посмотреть в приложении

A better way to browse. Learn more.

Форум Академгородка, Новосибирск

A full-screen app on your home screen with push notifications, badges and more.

Чтобы установить это приложение на iOS и iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
Чтобы установить это приложение на Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

C 3.1

Опубликовано

Здравствуйте, помогите, пожалуйста, найти ошибку.

Присоединяю файл graph.c .в нем указал свой путь к BGI.

 

║#include <graphics.h> ▲

║#include <stdlib.h> ■

║#include <stdio.h> ▒

║#include <conio.h> ▒

║#include <math.h> ▒

║#include "f:\graph.c" ▒

║double x[100],f[100],xg[101],yg[101],pi=3.14159265, ▒

║a,b;int n=20; ▒

║double ff(double x) {return(sin(x));} ▒

║void main(void) ▒

║{int i;a=0;b=2*pi; ▒

║for(i=0;i<=n;i++) f=1e5*ff(x=a+(i+0.0)/n*(b-a)); ▒

║GRAPH(1,0,0,f,x,n,11,3,"points"); ▒

║for(i=0;i<=100;i++){xg=a+(i+0.0)/100*(b-a);yg=1e5*ff(xg);} ▒

║GRAPH(0,0,0,yg,xg,100,10,0,"f(x)"); ▒

║getch(); closegraph();} ▒

 

 

Ошибки

║ Linking ..\..\WORK\TEST_GR.EXE: ▲

║ Linker Error: Undefined symbol _line in module ..\..\WORK\TEST_GR.C ▒

║ Linker Error: Undefined symbol _outtext in module ..\..\WORK\TEST_GR.C ▒

║ Linker Error: Undefined symbol _moveto in module ..\..\WORK\TEST_GR.C ▒

║ Linker Error: Undefined symbol _textwidth in module ..\..\WORK\TEST_GR.C ▒

║ Linker Error: Undefined symbol _setcolor in module ..\..\WORK\TEST_GR.C ▒

║ Linker Error: Undefined symbol _bar in module ..\..\WORK\TEST_GR.C ▒

║ Linker Error: Undefined symbol _getmaxx in module ..\..\WORK\TEST_GR.C ▒

║ Linker Error: Undefined symbol _getmaxy in module ..\..\WORK\TEST_GR.C ▒

║ Linker Error: Undefined symbol _setfillstyle in module ..\..\WORK\TEST_GR.C ▒

║ Linker Error: Undefined symbol _setviewport in module ..\..\WORK\TEST_GR.C ▒

║ Linker Error: Undefined symbol _cleardevice in module ..\..\WORK\TEST_GR.C ▒

║ Linker Error: Undefined symbol _initgraph in module ..\..\WORK\TEST_GR.C ▒

║ Linker Error: Undefined symbol _detectgraph in module ..\..\WORK\TEST_GR.C ▒

║ Linker Error: Undefined symbol _ellipse in module ..\..\WORK\TEST_GR.C ▒

║ Linker Error: Undefined symbol _circle in module ..\..\WORK\TEST_GR.C ▒

║ Linker Error: Undefined symbol _lineto in module ..\..\WORK\TEST_GR.C ▒

║ Linker Error: Undefined symbol _outtextxy in module ..\..\WORK\TEST_GR.C ▒

║ Linker Error: Undefined symbol _settextstyle in module ..\..\WORK\TEST_GR.C ▒

║ Linker Error: Undefined symbol _setlinestyle in module ..\..\WORK\TEST_GR.C ■

║•Linker Error: Undefined symbol _closegraph in module ..\..\WORK\TEST_GR.C ▼

 

 

часть файла graph.c

 

║s - add-on text to line (no more than 6 symbols); ▲

║*/ ▒

║ ▒

║{int m,p,i,j; double a,hst; char tnum[40]; ▒

║static int kl,kr,kt,kb,kf,k0,kbf,kx,ky,nz=5,p0,r=0; ▒

║static double xma,xmi,yma,ymi,z; ■

║if(init){xma=-1e20;xmi=1e20; ▒

║for(i=0;i<=n;i++) {if(x<xmi) xmi=x;if(x>xma) ▒

║xma=x;} yma=-1e20;ymi=1e20; ▒

║if(!(Ymin==0&&Ymax==0)){ymi=Ymin;yma=Ymax;}else ▒

║{for(i=0;i<=n;i++) {if(y<ymi) ymi=y;if(y>yma) ▒

║yma=y;} a=fabs(yma-ymi);yma=yma+0.1*a;ymi=ymi-0.1*a;} ▒

║ ▒

║/* description of graphic location */ ▒

║if(r==0){ detectgraph( &m, &p );if ( m==VGA ) { m=EGA; p=EGAHI; }; ▒

║initgraph( &m, &p, "\c:\\BC31\\BGI");} cleardevice(); ▒

║/* */ ▒

║ ▒

║ kl=60; kt=40;kr=getmaxx()-40; kb=getmaxy()-40; kx=kr-kl;ky=kb-kt; ▒

║setviewport(2,getmaxx()-2,2,getmaxy()-2,0); ▒

║ setfillstyle ( SOLID_FILL, BLACK );bar(2,2,getmaxx()-2,getmaxy()-2); ▼

 

 

Рекомендуемые сообщения

Опубликовано
В опциях линкера есть пункт "подключить" графическую библиотеку. Включите, должно помочь.
Опубликовано

QUOTE (Guest_1 @ Feb 20 2007, 21:46)
Выходит в windows с ошибкой. Откуда лучше заходить?

Через Visual Studio. Не лучшая идея юзать bc 3.1 из под винды.

Опубликовано
  • Автор

QUOTE (HiOr @ Feb 20 2007, 21:49)
QUOTE (Guest_1 @ Feb 20 2007, 21:46)
Выходит в windows с ошибкой. Откуда лучше заходить?

Через Visual Studio. Не лучшая идея юзать bc 3.1 из под винды.

А как через Visual Studio?

Опубликовано

QUOTE (Guest_1 @ Feb 20 2007, 22:16)
QUOTE (HiOr @ Feb 20 2007, 21:49)
QUOTE (Guest_1 @ Feb 20 2007, 21:46)
Выходит в windows с ошибкой. Откуда лучше заходить?

Через Visual Studio. Не лучшая идея юзать bc 3.1 из под винды.

А как через Visual Studio?

Пишите под VS

Опубликовано
  • Автор

QUOTE (HiOr @ Feb 20 2007, 22:19)
QUOTE (Guest_1 @ Feb 20 2007, 22:16)
QUOTE (HiOr @ Feb 20 2007, 21:49)
QUOTE (Guest_1 @ Feb 20 2007, 21:46)
Выходит в windows с ошибкой. Откуда лучше заходить?

Через Visual Studio. Не лучшая идея юзать bc 3.1 из под винды.

А как через Visual Studio?

Пишите под VS

Нет. Просто кажется, осталась проблема, как запустить BC ,чтоб при запуске программы не вылетало в винду.

Опубликовано

QUOTE (Guest_1 @ Feb 20 2007, 22:31)
QUOTE (HiOr @ Feb 20 2007, 22:19)
QUOTE (Guest_1 @ Feb 20 2007, 22:16)
QUOTE (HiOr @ Feb 20 2007, 21:49)
QUOTE (Guest_1 @ Feb 20 2007, 21:46)
Выходит в windows с ошибкой. Откуда лучше заходить?

Через Visual Studio. Не лучшая идея юзать bc 3.1 из под винды.

А как через Visual Studio?

Пишите под VS

Нет. Просто кажется, осталась проблема, как запустить BC ,чтоб при запуске программы не вылетало в винду.

Свойства "режим совместимости" попробуйте использовать

Опубликовано
  • Автор

QUOTE (HiOr @ Feb 20 2007, 22:34)
QUOTE (Guest_1 @ Feb 20 2007, 22:31)
QUOTE (HiOr @ Feb 20 2007, 22:19)
QUOTE (Guest_1 @ Feb 20 2007, 22:16)
QUOTE (HiOr @ Feb 20 2007, 21:49)
QUOTE (Guest_1 @ Feb 20 2007, 21:46)
Выходит в windows с ошибкой. Откуда лучше заходить?

Через Visual Studio. Не лучшая идея юзать bc 3.1 из под винды.

А как через Visual Studio?

Пишите под VS

Нет. Просто кажется, осталась проблема, как запустить BC ,чтоб при запуске программы не вылетало в винду.

Свойства "режим совместимости" попробуйте использовать

Нет, когда я запускаю программу <Ctrl>+<F9> вылетает. Причем обычная пустая программа не вылетает. А данная программа вылетает с сообщением 16-разрядная система MS-DOS/

Изменено пользователем Гость

Опубликовано

QUOTE (Guest_1 @ Feb 21 2007, 23:43)
Нет, когда я запускаю программу <Ctrl>+<F9> вылетает. Причем обычная пустая программа не вылетает. А данная программа вылетает с сообщением 16-разрядная система MS-DOS

Скорее всего проблемы с использованием динамической памяти в самой программе. Или за границы массива вылезли.

Изменено пользователем Гость

Опубликовано
  • Автор

QUOTE (HiOr @ Feb 22 2007, 16:45)
QUOTE (Guest_1 @ Feb 21 2007, 23:43)
Нет, когда я запускаю программу <Ctrl>+<F9> вылетает. Причем обычная пустая программа не вылетает. А данная программа вылетает с сообщением 16-разрядная система MS-DOS

Скорее всего проблемы с использованием динамической памяти в самой программе. Или за границы массива вылезли.

С этим проблем не может быть. Дело в том, что в терминалке универа она работает. Ну там сделан вход в bc так: входишь в папку temp на диске, набираешь bc, потом enter. Может это с этим связано?

Попробовал через DOSBOX. Вылетает. Только без каких либо сообщений.

 

Ну, так что делать-то, подскажите кто-нибудь?

Изменено пользователем Гость

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

Аккаунт

Навигация

Поиск

Поиск

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.