PDA

View Full Version : گفتگو: در مورد رسم کردن دایره با ستاره در C++‎؟



kamran_14
دوشنبه 26 بهمن 1388, 09:26 صبح
سلام
من برنامه ی رسم کردن دایره با ستاره را نوشتم ولی کلا شکل خوبی نمی شه می شه کمکم کنید خیلی ممنون .


با هربا ر فشار کلید اینتر یک ستاره چاپ می شه.






#include<conio.h>

#include<dos.h>

#include<math.h>
main()
{ clrscr();
float x=20,y=10,i=0,teta=3.14159262/30;;
gotoxy(x,y);
cout<<"*";
while(i<=60)
{ x=20+10*cos(teta);
y=10+10*sin(teta);
gotoxy(x,y);
cout<<"*";
teta=teta+(3.14159262/30);
getch();
i++;
}






}

farid_mov2006
دوشنبه 26 بهمن 1388, 11:18 صبح
سلام دوست من
من تا اینجا را تونستم اصلاح کنم اما 2 ارور و 2تا وارنینگ میده که ارور مال gotoxy هستش {من خودم هم مبتدی هستم}امیدوارم همین یه ذره کمکم بدردت بخوره

#include "stdafx.h"
#include<iostream>
#include<math.h>
#include<dos.h>
#include<conio.h>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{
float x=20,y=10,i=0,teta=3.14159262/30;;
gotoxy(x,y);
cout<<"*";
while(i<=60)
{ x=20+10*cos(teta);
y=10+10*sin(teta);
gotoxy(x,y);
cout<<"*";
teta=teta+(3.14159262/30);}
getch();
i++;
return 0;
}

راستی این gotoxy() چی هستش هر چی گشتم پیداش نکردم //کارش چیه؟:لبخند::متفکر:

amin1softco
دوشنبه 26 بهمن 1388, 11:52 صبح
من چقدر حال می کنم با شما ها خیلی توپین داخل حلقه return 0;
داده تازه تو اصلاحش:تشویق: دمت گرم کلی کیف کردم
یک سرچی تو انجمن می زدید فرمول دایره را پیدا می کردید

farid_mov2006
دوشنبه 26 بهمن 1388, 12:05 عصر
این مال int main هستش{return o///حلقه قبلش بسته شده////بیشتر دقت کن////بعدشم اگه اشتباه نوشته باشیم دلیل نمیشه که .....

amin1softco
دوشنبه 26 بهمن 1388, 12:07 عصر
زکی اینجوری پس چطوری با زدن کلید اینتر یک ستاره رسم کنه:متفکر: در هر دو صورت با حاله


#include <iostream>
#include <conio.h>
#include <math.h>

void gotoxy(int x, int y){
COORD c;
c.X = x - 1;
c.Y = y - 1;
SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
}

int main()
{using namespace std;
double teta=3.14159262,x=20,y=10;
int i=0;
gotoxy(x,y);
cout<<"*";
while(i<=360)
{ x=12+10*cos(i*(teta/180));
y=12+10*sin(i*(teta/180));
gotoxy(x,y);
cout<<"*";
getch();
i++;
}
}



در ضمن ببخشید خیلی خیلی ببخشید من یکم جو گیر شدم شما به دل نگیر رِفیق:لبخند:

farid_mov2006
دوشنبه 26 بهمن 1388, 12:12 عصر
من این برنامه را نتونستم اجرا کنم فقط چنتا چیز کم داشت که بهش اضافه کردم//مثل:

#include<iostream>و غیره

farid_mov2006
دوشنبه 26 بهمن 1388, 12:17 عصر
زکی اینجوری پس چطوری با زدن کلید اینتر یک ستاره رسم کنه:متفکر: در هر دو صورت با حاله


#include <iostream>
#include <conio.h>
#include <math.h>

void gotoxy(int x, int y){
COORD c;
c.X = x - 1;
c.Y = y - 1;
SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
}

int main()
{using namespace std;
double teta=3.14159262,x=20,y=10;
int i=0;
gotoxy(x,y);
cout<<"*";
while(i<=360)
{ x=12+10*cos(i*(teta/180));
y=12+10*sin(i*(teta/180));
gotoxy(x,y);
cout<<"*";
getch();
i++;
}
}



در ضمن ببخشید خیلی خیلی ببخشید من یکم جو گیر شدم شما به دل نگیر رِفیق:لبخند:
جناب این چرا اجرا نمیشه؟خودت تستش کردی/؟
نه دوست من ناراحتی نداره

amin1softco
دوشنبه 26 بهمن 1388, 12:42 عصر
این برای ویژوال 2008 نوشته شده
اینم برای بورلند و توربو :


#include <iostream>
#include <conio.h>
#include <math.h>


void main()
{
float teta=3.14159262,x=20,y=10;
int i=0;
gotoxy(x,y);
cout<<"*";
while(i<=360)
{ x=12+10*cos(i*(teta/180));
y=12+10*sin(i*(teta/180));
gotoxy(x,y);
cout<<"*";
getch();
i++;
}
}

tdkhakpur
دوشنبه 26 بهمن 1388, 12:49 عصر
کدهای ارسال شده دوستان اصلاح شده است..


#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <dos.h>
#include <iostream>
#include <conio.h>
#include <math.h>
int main()
{
double teta=3.14159262, x, y, r=10;
clrscr();
for( int i=0; i< 360; i++){
x=r*cos(i*(teta/180));
y=r*sin(i*(teta/180));
gotoxy(40+x,15+y);
cout<<"*";
i++;
}
getch();
}

farid_mov2006
دوشنبه 26 بهمن 1388, 13:19 عصر
منم تو ویژوال استودیو کپیش کردم ولی اجرا نشد
tdkhakpur جان مال شما را هم کپی کردم ولی اجرا نشد
چرا ؟؟؟؟

hossein2kk
دوشنبه 26 بهمن 1388, 13:59 عصر
با gotoxy فکر نکنم بشه طرحی زد نهایتش بشه لوزی درآورد.
من گشتم اینو پیدا کردم : http://www.informit.com/articles/article.aspx?p=405047&seqNum=3

hossein2kk
دوشنبه 26 بهمن 1388, 14:09 عصر
دوستان بعد از پت من پست هاتون رو دیدم شرمنده انگار با Gotoxy هم میشه ولی خوب قیافه جالبی نداشت.
ممنون از دوستان به اطلاعات ما هم اضافه شد.

amin1softco
دوشنبه 26 بهمن 1388, 22:13 عصر
منم تو ویژوال استودیو کپیش کردم ولی اجرا نشد
tdkhakpur جان مال شما را هم کپی کردم ولی اجرا نشد
چرا ؟؟؟؟

دوست من فایل پیوست برای 2008 هست

Nima_NF
سه شنبه 27 بهمن 1388, 02:31 صبح
منم تو ویژوال استودیو کپیش کردم ولی اجرا نشد
tdkhakpur جان مال شما را هم کپی کردم ولی اجرا نشد
چرا ؟؟؟؟

در visual studio تغییراتی باید بدهید و بعضی توابع را معادل پیاده سازی کنید:
معادل توابعی مثل gotoxy و clrscr در ++VC (http://barnamenevis.org/forum/showthread.php?t=92264)

Nima0711
جمعه 05 اسفند 1390, 14:49 عصر
سلام
این پروژه رو کامل کردم به طوری که یک دایره رسم کند !! بعلاوه اینکه شعاع دایره را از کاربر می گیرد و دیگر نیازی به فشار دادن دکمه برای چاپ یک ستاره نباشد.

#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <math.h>
#include <windows.h>
using namespace std;

void cordinate(int x, int y , int r)
{
COORD c;
c.X = x + r * .75;
c.Y = y + r * .5;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_H ANDLE), c);
}

void main()
{
int i=0 , r;
cout << "radius =" ;
cin >> r ;
system("cls");
for(double i=0 ; i < 360 ; i++)
{
int x = 1.5*r*cos(double(i)); //.75
int y = r*sin(double(i));
cordinate(x,y,2*r);
cout << "*";
}
cin.get();
cin.get();
}


قسمتی که به رنگ قرمز است نصب طول به عرض یک کارکتر در CMD است که این نصب را می توانید از Properties تب Font پیدا کنید :چشمک: