PDA

View Full Version : سوال در مورد اشاره گر



mahdi_o
شنبه 26 اسفند 1385, 11:02 صبح
دوستان عزیز
این یک برنامه خیلی ساده هستش
ولی من توی بعضی از مفاهیمش به مشکل خوردم!

برنامه طول و عرض مستطیل را از ورودی خوانده و مساحت و محیطش رو محاسبه می کند
اینم راهنمای برنامه
len طول ، wid عرض
input تابعی که طول و عرض را از ورودی می خواند
rect تابع محاسبه گر مساحت و محیط



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

void input(int *, int *);
void rect(int , int , int * , int *);

int main()
{
int len , wid , area, per ;
clrscr();

input(&len , &wid);
rect(len, wid, &area, &per);
cout << “Length = “ << len << “ , Width = “ << wid ;
cout << “\nArea = “ << area << “ , Perimer = “ << per ;
getch();
return 0;
}

//***************************
void input(int *p1, int *p2)
{
cout << “Enter length, width : “;
cin >> *p1 >> *p2 ;
}

//***************************
void rect(int x, int y, int *a , int *p)
{
*a = x*y;
*p = 2*(x+y);
}

در قسمت هایی که قرمز کردم

input(&len , &wid);
مگه این تابع نباید خودش از ورودی مقدار بگیرد
پس &len , &wid چه نقشی ایفا می کنند
همینطور در قسمت

rect(len, wid, &area, &per)

اگه میشه یک مقدار در مورد ساختار اینها توضیح بدید
ممنون

american_iran2006
شنبه 26 اسفند 1385, 12:03 عصر
در قسمت هایی که قرمز کردم

input(&len , &wid);
مگه این تابع نباید خودش از ورودی مقدار بگیرد
پس &len , &wid چه نقشی ایفا می کنند
همینطور در قسمت

نجوابتون نه هستش ؛ خودت یه باره دیگه نگاه کن ؛ اون یک تابع است که خوده برنامه نویس نوشته نه تابع کتابخانه ای input

[code]rect(len, wid, &area, &per)[code]

اگه میشه یک مقدار در مورد ساختار اینها توضیح بدید
ممنون[/quote]

تو کد دومتون دو تا int میگیره و دو تا هم اشاره گر

این روش تو ++c ارائه شده که با این روش دیگه تو تابع احتیاج نداری هی با علامت اشاره گر کار کنی و فقط مثل یک عدد int باهاش کار میکنی

mahdi_o
شنبه 26 اسفند 1385, 13:20 عصر
نجوابتون نه هستش ؛ خودت یه باره دیگه نگاه کن ؛ اون یک تابع است که خوده برنامه نویس نوشته نه تابع کتابخانه ای input


خوب می دونم!
منم منظرم همین بود
برنامه طوری نوشته شده که
مقداری هایی رو از ورودی بخونه

پس دیگه نوشتن اون دومورد چه لزومی داشت؟

american_iran2006
شنبه 26 اسفند 1385, 13:28 عصر
این مثل یک تمرین میمونه برای این که کار با اشاره گر ها را یاد بده :: یعنی مقدار دهی به متغییر ها با کمک اشاره گر ها ؛ با این روش میتونید مقدار متغییر اصلی رو دستکاری کرد

اما چرا این جا دو بار نوشته ؛ فقط میتونه جنبه اموزشی داشته باشه به شرطه این که این کله برنامه باشه که گذاشتی