اقایون خانوم ها لطفا کمک کنید...این برنامه رو هر چی سعی کردم بنویسم نشد!!!
فایل رو به صورت exe قرار دادم(فایل اصلی ) ولی کدش رو نمیدونم...لطفا کمک!!!
لینک فایل: [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
Printable View
اقایون خانوم ها لطفا کمک کنید...این برنامه رو هر چی سعی کردم بنویسم نشد!!!
فایل رو به صورت exe قرار دادم(فایل اصلی ) ولی کدش رو نمیدونم...لطفا کمک!!!
لینک فایل: [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
انجام این پروزه که کاری نداره اما اینطوری که نمی شه ، هر کسی بیاد بگه پروژه مد نظرم رو بنویسید!!! شما اگه آشنایی با c++ یا c دارید، کدی رو که خودتون نوشتین بذارید تا راهنمایی کنم چه جاهاییش مشکل داره.نقل قول:
اگه هم که اصلا آشنایی ندارین بگین تا بهتون منابع جهت یادگیری معرفی کنم.
اخه برای ایجاد قاب دورش هر چی باgotoxyکار میکنم جواب نمیده.الان بیشتر مشکل قابشه وگرنه اون برنامه حرکتش کاری نداره.
دوست عزیز کدهاتون البته اونجایی که مشکل داره رو اینجا بذارید ببینیم چه مشکلی داره
دقیقا یعنی چی جواب نمی ده؟ ارور می ده یا اینکه درست شکل در نمیاد؟ اگه کدتون رو بذارید بهتر می شه راهنماییتون کرد. ممنوننقل قول:
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
void main()
{textmode(64);
clrscr(); int n,t=0,w=0,e=0,d=0,f=0,b=2;cin>>n;
int q=n/2;n=2*q;
gotoxy(40-q,25-q);
for(int i=0;i<n;i++)
{ for(int j=0;j<n;j++)
{
if(i==0)
{cout<<"+";
}
if(j==0)
{gotoxy(40-q,25-q+t);cout<<"+";t++;}
if(j==n-1)
{gotoxy(40-q+e,25-q+n-1);
cout<<"+"; e++;cout<<"\n";
}
if(i==n-1)
{gotoxy(40-q+n-1,25-q+w);
cout<<"+";w++;}
}
cout<<"\n";
}
gotoxy(40-q+1,25-q+1);
for(i=0;i<2;i++)
{for(int j=0;j<2;j++)
cout<<"*";cout<<"\n";gotoxy(40-q+1,25-q+2);
}
while(1)
{ int c=getch();int m=0,x=40-q+1-d,y=25-q+1-f;
if(c==62) {clrscr();b++;m=1;
if(b>=n-2) b=n-2;}
if(c==63) {clrscr();b--;m=1;
if(b<=1) b=1;}
if(c==77) {clrscr();
d--;m=1;
if(x==40-q+n) d=n-2;
}
if(c==75) {clrscr();d++;m=1;
if(x==40-q) d=0;
}
if(c==72) {clrscr();f++;m=1;}
if(c==80) {clrscr();f--;m=1;}
if(m==1)
{t=0;e=0;w=0;
gotoxy(40-q,25-q);
for(int i=0;i<n;i++)
{ for(int j=0;j<n;j++)
{
if(i==0)
{cout<<"+";
}
if(j==0)
{gotoxy(40-q,25-q+t);cout<<"+";t++;}
if(j==n-1)
{gotoxy(40-q+e,25-q+n-1);
cout<<"+"; e++;cout<<"\n";
}
if(i==n-1)
{gotoxy(40-q+n-1,25-q+w);
cout<<"+";w++;}
}
cout<<"\n";
}
int s=2;
gotoxy(x,y);
for(i=0;i<b;i++)
{for(int j=0;j<b;j++)
cout<<"*";cout<<"\n";gotoxy(x,y+s-1);s++;
}
}
if(c==27) break;
}
}
اقا اینم از برنامه فقط به یه مشکل برخورد کردم اونم اینکه موقعی که از طرف راست میره بیرون از طرف چپ نمیاد تو (دقیقا به اندازه کادر) و همین مسئله برای بالا و پایین هم هست...اصن دیوانم کرده...فردا هم باید برای استاد بفرستم....
اگه صلاح میدونین کمک کنین...
:n30: [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
این رو ببینید چه طوریه؟ چیزی رو تغییر ندهید فقط متغیرهای mabdax و mabday که مختصات گوشه بالا سمت چپ حاشیه هستند را مطابق نظرتان تغییر دهید
همچنین n هم سایز حاشیه و b هم ساز مستطیل داخلی هست فرض من اینه که gotoxy مبدا مختصاتش 1و 1 است اگه صفر وصفر بود یه کم تغییر لازم داره
[PHP]#include <iostream>
#include <conio.h>
using namespace std;
void plotborder(int n,int mabdax,int mabday);
void plotvasat(int b,int n,int mabdax,int mabday);
int main()
{
char ch;
int x=0,y=0,n=13,b=5;
clrscr();
plotborder(n,1,1);
plotvasat(b,n-2,x,y);
while(1)
{
ch=getch();
switch (ch)
{
case 72:y=(--y<0?n-3:y); break;
case 80:y=(++y>n-3?0:y); break;
case 77:x=(++x>n-3?0:x); break;
case 75:x=(--x<0?n-3:x); break;
default :n=n; break;
}
clrscr();
plotborder(n,1,1);
plotvasat(b,n-2,x,y);
}
}
void plotborder(int n,int mabdax,int mabday)
{
int i;
gotoxy(mabdax,mabday);for (i=0;i<n;i++) cout<<"+";
for (i=1;i<n-1;i++) {gotoxy(mabdax+n-1,mabday+i);cout<<"+";}
for (i=1;i<n-1;i++) {gotoxy(mabdax,mabday+i);cout<<"+";}
gotoxy(mabdax,mabday+i);for (i=0;i<n;i++) cout<<"+";
}
void plotvasat(int b,int n,int x,int y)
{
int i,j;
for (j=0;j<b;j++) for (i=0;i<b;i++) {gotoxy(2+((x+i)%(n)),2+((y+j)%(n)));cout<<"*";}
}[/PHP]
متاسفانه فقط مجاز به استفاده از توابعgotoxy ,while هستیم بقیه رو مثل swiitchو اینا رو نمیشه وارد کرد.اگه لطف کنید بگید من دستور خودم رو چه تغییری بدم ممنون میشم!!!
این یکی چه طوریه؟
در برنامه خودتون باید تمام if ها و for ها رو تبدیل به while کنید همچنین اگه می خواهید از محدوده خارج نشه از عملگر باقیمانده استفاده کنید
[PHP]#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
char ch;
int x=0,y=0,n=13,b=5,i=0,j=0,mabdax=1,mabday=1;
while(1)
{
clrscr();
gotoxy(mabdax,mabday);i=0; while(i<n) {cout<<"+";i++;}
i=1; while(i<n-1) {gotoxy(mabdax+n-1,mabday+i);cout<<"+";i++;}
i=1; while(i<n-1) {gotoxy(mabdax,mabday+i);cout<<"+";i++;}
gotoxy(mabdax,mabday+i);i=0; while(i<n) {cout<<"+";i++;}
i=0;j=0;while(j<b) {while(i<b) {gotoxy(2+((x+i)%(n-2)),2+((y+j)%(n-2)));cout<<"*";i++;}j++;i=0;}
ch=getch();
while(ch==72) {while(--y<0){y=n-3;break;} break;}
while(ch==80) {while(++y>n-3){y=0;break;} break;}
while(ch==77) {while(++x>n-3){x=0;break;} break;}
while(ch==75) {while(--x<0){x=n-3;break;} break;}
}
}[/PHP]
تبدیل کردم اصن یه چیز عجیب غریبی در اومد(به جای forوif ،whileگذاشتم اصن یه چی داغونی شد!!!میشه خودتون بگید دقیقا کدومارو تغییر بدم؟!!!)
درضمن این برنامه شمارم موقعی که مقدار کوچیک یا بزرگ شدن میذارم جواب نمیده!!!:n30:! [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] ! [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] ! [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] ! [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] ! [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] ! [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]