PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : یه سوال در c++



amiray
20-02-2011, 17:35
باسلام به اساتید ارجمند
من مدتی هس که برنامه نویسی به زبان c++ شروع کردم.حالا می خوام که باقسمت گرافیک اون هم اشنا بشم میشه یه راهنمایی کنید و بگید چه طوری می تونم از این بخش استفاده کنم در ضمن توی یکی از سوالات یه برنامه گذاشته بودین ولی کار نکرد در ضمن من با Turbo C++ 4.5 کار می کنم
باتشکر

amiray
21-02-2011, 11:31
:sa::sa::sa::sa:

Romanof
22-02-2011, 12:14
باسلام به اساتید ارجمند
من مدتی هس که برنامه نویسی به زبان c++ شروع کردم.حالا می خوام که باقسمت گرافیک اون هم اشنا بشم میشه یه راهنمایی کنید و بگید چه طوری می تونم از این بخش استفاده کنم در ضمن توی یکی از سوالات یه برنامه گذاشته بودین ولی کار نکرد در ضمن من با Turbo C++ 4.5 کار می کنم
باتشکر
با سلام دوست عزیز
من به شما پیشنهاد می کنم که از این گرافیک ضعیف استفاده نکنید و برین دنبال نرم افزار های visual.
این قسمت از نرم افزار ++tc توابع زیادی داره که فکر کنم باید خودتون دنبالش برین و اونا رو یاد بگیرین.ولی یه توضیح ساده خیلی می تونه به شما کمک کنه.
محیط گرافیکی این نرم افزار 640x480 پیکسل داره که البته قابل تغییره و این عدد حداکثر مقداری که می تونین استفاده کنین.
اول از همه باید هدر این محیط رو اضافه کنین :

#include <graphics.h>
برای استفاده از محیط گرافیکی باید مبدل گرافیکی رو در حافظه قرار بدین که تابع این کار به صورت زیره :

void far initgraph(int far *driver,int far *mode,char far *mode);
برای این که تابع اتوماتیک بورد گرافیکی را تشخیص بده ، driver رو برابر DETECT (به حروف بزرگ بودن این کلمه خیلی مهمه) و mode رو برابر 0 (صفر) قرار میدیم.به این صورت :

int driver=DETECT,mode=0;
initgraph(&driver,&mode,"");
و اما قسمت آخر یعنی mode* :
در این قسمت شما آدرس درایور را وارد می کنین.به شما پیشنهاد می کنم که کاری رو که پیشنهاد می کنم انجام بدین خیلی راحت تره.
از آدرس C:\TC\BGI فایل EGAVGA.BGI را کپی کرده و به آدرس C:\TC\BIN منتقل کنید.
توجه داشته باشن که اگر این کار رو انجام بدین باید مثل مثال بالا قسمت آخر، بین دو علامت " رو خالی بذارین و توجه داشته باشین برای انتقال فایل اجرایی برنامه نوشته شده باید همیشه فایل EGAVA.BGi همرا فایل اجرایی در درون یک پوشه باشه.
برای بستن محیط گرافیکی از تابع زیر استفاده می کنیم :

closegraph();
این ها فقط برای راه اندازیه این محیط به کار می رود.اگر به توضیحات دیگری در مورد دیگر توابع این محیط که برای رسم اشکال به کار میره مشکل داشتین اعلام کنین تا اگر بتوانم کمک کنم.
در پایان هم یه برنامه میذارم که ضریب های معادله درجه دو رو می گیره و معادله رو رسم می کنه :


#include "graphics.h"
#include "iostream.h"
#include "conio.h"
#include "math.h"
void main()
{
clrscr();
int x,y,x1,y1,a,b,c,gd=DETECT,gm;
cout<<"Please enter a , b and c from ax^2 + bx + c = 0 equation : "<<endl;
cout<<"a = ";
cin>>a;
cout<<"b = ";
cin>>b;
cout<<"c = ";
cin>>c;
initgraph(&gd,&gm,"");
line(0,240,639,240);
line(320,0,320,479);
x=0;
y=c;
setcolor(2);
for(x1=1;y1<480,y1>0;x1++)
{
y1=a*pow(x1,2)+b*x1+c;
line(320+x,240-y,320+x1,240-y1);
line(320-x,240-y,320-x1,240-y1);
x=x1;
y=y1;
}
getch();
}
اگر برنامه اشکال رو درست رسم نمی کرد به خودم پیغام خصوصی بدین.