PDA

View Full Version : اشکال در خروجی



www.ilampro.com
پنج شنبه 10 مرداد 1387, 03:48 صبح
با سلام خدمت دوستان عزیز :
اشکال در خروجی
#include <iostream.h>
#include <conio.h>
int main(){
int i, j;
clrscr();
for (i=0;i<10;i++){
for (j=0;j<10;j++){
gotoxy(j,i);
cout<<"*";
}
cout<<endl;
}
getch();
return 0;
}
دوستان عزیز خروجی این برنامه به این صورت اجرا میشود که
ابتدا در سطر صفر از ستون صفر تا ده کاراکتر * را چاپ میکند
اما در سطر یک بعد از اینکه کاراکتر * چاپ شد و مکان نما به
ستون بعد رفت کاراکتر * چاپ نمیشود و مکان نما به سطر قبلی
رفته واز ستون یک در محل کاراکتر های قبلی شروع بع چاپ *
میکند و پس از ان به سطر یک بازگشته و از ستون یک شروع
به چاپ * کرده و در آخر سطر یک کاراکتر کمتر چاپ می کند
خروجی بقیه سطر ها به این منوال نیست اما تعداد یک کاراکتر
کمتر را نسبت به سطر یک و دو کاراکتر کمتر نسبت به سطر
صفر چاپ میکنند.در ضمن در صورتی که دستور gotoxy را
حذف کنیم خروجی بنامه منطقی و درست خواهد بود.
لطفا مرا از خطای کار (در صورت وجود
اگاه نمایید. متشکرم)

saied_genius
پنج شنبه 10 مرداد 1387, 16:53 عصر
با سلام

من متاسفانه در حال حاضر به برنامه سي++ دسترسي ندارم .

ولي احتمال مي دهم كه:

1-به جاي عبارت gotoxy(j,i) از اين عبارت استفاده كنيد gotoxy(i,j)
2- چون داري xy مشخصي را مي دهي نيازي به cout<<endl; نيست آنرا نيز حذف كن و دوباره امتحان كن.


اگر اشتباه مي كنم مرا ببخشيد ، انشا ا... دوستان ديگر شما را راهنمايي مي كنند.

www.ilampro.com
دوشنبه 14 مرداد 1387, 13:13 عصر
دست شما درد نکنه دوست عزیز ولی متاسفانه خروجی دستور شما مد نظر نیست

SMRAH1
سه شنبه 15 مرداد 1387, 02:35 صبح
سلام

اشکال برنامه توی پارامترهای اشتباه دستور gotoxy است.این دستور آدرس یک سطر و ستون رو می گیره و به اون نقطه روی صفحه پرش می کنه البته آدرس نقطه مبنا از یک است (یعنی اولین ستون یک است).در حالی که در برنامه iوj شمارش را از صفرشروع می کنند و همانها نیز در دستور gotoxy استفاده می شوند.در ضمن دستور cout<<endl نیز کلا اضافه است (کاری نمی کند که در برنامه لازم باشد چون خطوط توسط دستور gotoxy کنترل می شود).

موفق باشی