|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.01.2011, 19:13 | #1 |
Регистрация: 25.01.2011
Сообщений: 8
|
графика на C++(Devc++)
большая просьба описать способы устранения варнингов в этом коде
#include<stdio.h> #include<conio.h> #include<math.h> #include<graphics.h> double ChoiseStep( double vmin,double vmax ) { double dv, exp, mnt, kf; dv=fabs(vmax-vmin); exp = pow(10,( floor(log10(dv))) ); mnt = dv/exp; if ( mnt <= 1.5 ) kf = 0.25; else if( mnt <= 3.0 ) kf = 0.5; else if( mnt > 6.0 ) kf = 2.0; else kf = 1.0; return exp*kf; } int main() { int a,gd = 0, gmode = 0; int screenSizeX, screenSizeY; double wndSizeX, wndSizeY; double left, bottom; double Xscreen, Yscreen; double scaleX, scaleY; double x, p, f, y, stepX, stepY, fmin, fmax, minX, maxX, minY, maxY, xold, yold; initgraph( &gd, &gmode, "" ); if ( graphresult()!=0 ) { printf("oshibka v ystanovke graf rezhima"); getch(); return 0; } printf("vvedite fmin "); scanf("%lf",&fmin); printf("vvedite fmax "); scanf("%lf",&fmax); for (f=fmin; f<=fmax; f+=(fmax-fmin)/1000) { p=f*cos(f/2); x=p*cos(f); y=p*sin(f); if(f==fmin) { minX=x; maxX=x; minY=y; maxY=y; } else { if(minX>x) minX=x; if(maxX<x) maxX=x; if(minY>y) minY=y; if(maxY<y) maxY=y; } } cleardevice(); screenSizeX = getmaxx()+1; screenSizeY = getmaxy()+1; wndSizeX = screenSizeX*0.8; строка 77 wndSizeY = screenSizeY*0.8; строка 78 left = (screenSizeX-wndSizeX)/2; bottom = (screenSizeY+wndSizeY)/2; scaleX = wndSizeX/(maxX-minX); scaleY = wndSizeY/(maxY-minY); setcolor(LIGHTGRAY); setlinestyle(DOTTED_LINE, 0, NORM_WIDTH); stepX = ChoiseStep(minX, maxX); for( x=ceil(minX/stepX)*stepX; x<=maxX; x=x+stepX ) { Xscreen = left + (x-minX)*scaleX; строка 88 line( Xscreen, bottom-wndSizeY, Xscreen, bottom ); } stepY = ChoiseStep(minY, maxY); for( y=ceil(minY/stepY)*stepY; y<=maxY; y=y+stepY ) { Yscreen = bottom - (y-minY)*scaleY; строка 97 line( left, Yscreen, left+wndSizeX, Yscreen ); } for( f=fmin; f<=fmax; f=f+(fmax-fmin)/1000 ) { p=f*cos(f/2); x=p*cos(f); y=p*sin(f); Xscreen = left + (x-minX)*scaleX; строка 108 Yscreen = bottom - (y-minY)*scaleY; строка 109 if ( Yscreen<bottom-wndSizeY || Yscreen>bottom ) continue; if (f!=fmin) { setcolor(WHITE); setlinestyle(SOLID_LINE, 0, THICK_WIDTH ); line(xold,yold,Xscreen,Yscreen); строка 135 } xold=Xscreen; yold=Yscreen; } getch(); closegraph(); } warnings: 106 [Warning] passing `double' for converting 1 of `void line(int, int, int, int)' 106 [Warning] passing `double' for converting 2 of `void line(int, int, int, int)' 106 [Warning] passing `double' for converting 3 of `void line(int, int, int, int)' 106 [Warning] passing `double' for converting 4 of `void line(int, int, int, int)' 114 [Warning] passing `double' for converting 1 of `void line(int, int, int, int)' 114 [Warning] passing `double' for converting 2 of `void line(int, int, int, int)' 114 [Warning] passing `double' for converting 3 of `void line(int, int, int, int)' 114 [Warning] passing `double' for converting 4 of `void line(int, int, int, int)' 135 [Warning] passing `double' for converting 1 of `void line(int, int, int, int)' 135 [Warning] passing `double' for converting 2 of `void line(int, int, int, int)' 135 [Warning] passing `double' for converting 3 of `void line(int, int, int, int)' 135 [Warning] passing `double' for converting 4 of `void line(int, int, int, int)' Если поменять left, Yscreen,xold,yold и тд на int то компилятор пишет подобные варнинги: 105 [Warning] converting to `int' from `double' Последний раз редактировалось It is not me; 26.01.2011 в 10:39. |
25.01.2011, 19:43 | #2 | |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
Всё же в варнинге написанно!
Цитата:
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
|
25.01.2011, 19:43 | #3 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
Даблпост..........................
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
26.01.2011, 10:32 | #4 |
Регистрация: 25.01.2011
Сообщений: 8
|
поменял на int
компилятор выдает варнинги 76 converting to `int' from `double' 77 converting to `int' from `double' 88 converting to `int' from `double' 97 converting to `int' from `double' 108 converting to `int' from `double' 109 converting to `int' from `double' 118 [Warning] passing `double' for converting 1 of `void line(int, int, int, int)' 118 [Warning] passing `double' for converting 2 of `void line(int, int, int, int)' line(xold,yold,Xscreen,Yscreen);} - 118 строк Последний раз редактировалось It is not me; 26.01.2011 в 20:11. |
26.01.2011, 20:11 | #5 |
Регистрация: 25.01.2011
Сообщений: 8
|
Есть какие-нибудь предположения?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перебор значений (DevC++) | InquisitorAles | Помощь студентам | 5 | 21.11.2010 23:26 |
DevC++ switch | Диман56 | Общие вопросы C/C++ | 7 | 03.11.2010 11:08 |
графика | Anty_F[R]eez | Общие вопросы C/C++ | 0 | 11.06.2010 00:17 |
Вопрос IDE DevC++ | Pord | Софт | 3 | 03.11.2008 23:20 |