با عرض سلام وخسته نباشید
من یک برنامه رسم اشکال میخواستم البته به زبان سی پلاس پلاس که اول مختصات شکل رو بگیره بعد ما اسم شکل رو انتخاب کنیم و بعد شکل رورسم کنه ضمنا امکاناتی از قبیل پاک کردن شکل و ذخیره و بازبابی اون رو هم داشته باشه با تشکر
Printable View
با عرض سلام وخسته نباشید
من یک برنامه رسم اشکال میخواستم البته به زبان سی پلاس پلاس که اول مختصات شکل رو بگیره بعد ما اسم شکل رو انتخاب کنیم و بعد شکل رورسم کنه ضمنا امکاناتی از قبیل پاک کردن شکل و ذخیره و بازبابی اون رو هم داشته باشه با تشکر
من راجع به امکاناتی که خواستید برنامه داشته باشه مثل ذخیره و بازیابی چیزی نمی دونم و خوشحال می شم که من هم یاد بگیرم اما راجع به کشیدن شکل ها فکر کنم بتونم کمک کنم.
کد:
#include<graphics.h>
#include<conio.h>
#include<iostream.h>
int main()
{
char ch;
int x1,y1,x2,y2;
int dg=DETECT,gm=0;
initgraph(&gd,&gm,"");
cin>>ch;
switch(ch)
{
case "r": rectangle(x1,y1,x2,y2); break;
case "c" circle(x1,y1,x2); break;
.
.
.
case "l" line(x1,y1); break;
}
getch();
closegraph();
return 0;
}
همین الآن یه ایده به ذهنم رسید برای ذخیره سازی. خب اگه ما رشته ای که کاربر وارد می کنه رو داشته باشیم همیشه میتونیم اون رشته رو پیاده کنیم پس بیایم رشته ای که کاربر وارد می کنه رو تو یه فایل نگه داریم.
برای پاک کردن هم تنها راهی که به ذهنم می رسه اینه که یه پارامتر رنگ هم به برنامه اضافه کنیم که در صورتی که بخوایم اون شکل رو پاک کنیم با رنگ پس زمینه می کشیمش.
خودم خیلی خوشم نیومد از ایده هایی که دادم و اگه یه کم وقت بذاریم فکر کنم بتونیم بهترش کنیم.
حالا نمیتونید ادامه بدید؟
یه کم ادامه ش دادم ولی باز هم کامل نیست بقیه شو خودتون ادامه ش بدید الآن واقعن بیشتر از این وقت ندارم. ببخشید
[]الآن همه چیز رو توی یه فایل ذخیره می کنه و می تونه از توش دوباره شکل هارو بکشه ولی پاک کردشون نمیکنه برای این کار باید متناسب با col توی فایل بگرده و ببینه که قبلن چنین موجودی وجود داشته یا نه که در صورت وجود پاکش کنه .کد:#include<graphics.h>
#include<conio.h>
#include<iostream.h>
void cirrcle(int);
void linne(int)
void recct(int);
void oppen();
void dellet();
int main()
{
char ch;
int x1,y1,x2,y2,d;
ifstream fin("save.txt");
ofstream fout("save.txt");
int dg=DETECT,gm=0;
initgraph(&gd,&gm,"");
cout<<"press the bottons bellow and the information require"<<endl<<"q:quit, c:circle, r:rectange, l:line, s:save, d:delet,o:open";
do
{
cin>>ch;
switch(ch)
{
case 'r': recct(0); break;
case 'c': cirrcle(0); break;
.
.
.
case 'l': linne(0); break;
case 'o': oppen(); break;
case 'd': dellet(); break;
}
}while(ch!='q');
getch();
closegraph();
return 0;
}
void recct(int a)
{
(a)?fin>>x1>>y1>>x2>>y2>>col; :cin>>x1>>y1>>x2>>y2>>col;
fout<<'r'<<' '<<x1<<' '<<y1<<' '<<x2<<' '<<y2<<endl;
setcolor(col);
rectangle(x1,y1,x2,y2);
}
void cirrcle(int a)
{
(a)?fin>>x1>>y1>>d>>col;:cin>>x1>>y1>>d>>col;
fout<<'c'<<' '<<x1<<' '<<' '<<y1<<' '<<d<<endl;
setcolor(col);
circle(x1,y1,d);
}
void linne(int a)
{
(a)?fin>>x1>>y1>>x2>>y2>>col;:cin>>x1>>y1>>x2>>y2>>col;
fout<<'l'<<' '<<x1<<' '<<y1<<' '<<x2<<' '<<y2<<endl;
setcolor(col);
line(x1,y1,x2,y2);
}
void oppen()
{
while(!eof())
{
fin>>ch;
switch(ch)
{
case 'r': recct(1); break;
case 'c': cirrcle(1); break;
.
.
.
case 'l': linne(1); break;
case 'o': oppen(1); break;
case 'd': dellet(1); break;
}
}
}
می دونم که خیلی غلط داره خوش حال می شم غلط هاشو بهم بگید. ممنون.