امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
انتقال پارامتر تابع و تعیین خروجی تابع و اینکلود کردن
نویسنده پیام
Iron_Fist غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,456
موضوع‌ها: 70
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 109
( 456 تشکر در 134 ارسال )
ارسال: #1
انتقال پارامتر تابع و تعیین خروجی تابع و اینکلود کردن
با سلام به دوستان

سه سوال داشتم که اگه پاسخ بدید ممنون می شم
1. برای اینکه بتونم پارامتر تابع که از نوع char هست رو از طریق مرجع
انتقال بدم باید چکار کنم ( پارامتر حکم ورودی خروجی داشته باشه )
اگر int بود با روش زیر کار می داد ولی char رو نمی دونم
کد:
#include <iostream.h>
#include <string.h>

void Sample(int *a)
{
    *a=*a+9;
}

void main()
{
    int b=1;
    Sample(&b);
    cout<<b<<endl;
}
2. چطوری می شه نوع خروجی تابع رو از نوع char تعیین کرد و مقداری از
همین نوع رو به تابع برگرداند
3.وقتی که using namespace std; رو وارد می کنیم هدر ها ( چه هدر هایی
که خود تعریف می کنیم و چه هدر های سی ++ ) به چه صورت باید اینکلود شود
ضمنآ چه هدر هایی با < > تعریف می شوند و چه هدر هایی با " " تعریف
می شوند

با تشکر



(آخرین ویرایش در این ارسال: ۱۴-خرداد-۱۳۸۵, ۰۱:۵۲:۴۰، توسط Iron_Fist.)
۱۳-خرداد-۱۳۸۵, ۲۲:۴۸:۱۱
ارسال‌ها
پاسخ
Mamad2003 آفلاین
کاربر با تجربه
****

ارسال‌ها: 1,150
موضوع‌ها: 18
تاریخ عضویت: آذر ۱۳۸۲

تشکرها : 9
( 388 تشکر در 232 ارسال )
ارسال: #2
RE: انتقال پارامتر تابع و تعیین خروجی تابع و اینکلود کردن
آقا سلام

1-واسه char هم مثله int میمونه ! فقط تفاوت اینه که متغیر a حاوی کد اسکی یه حرف هست !

کد:
#include <iostream.h>
#include <string.h>

void Sample(char *a)
{
*a=*a+9;
}

void main()
{

char b=80;
Sample(&b);
cout<<b<<endl;

}

2- کاری نداره ! بجای void بزار char . بعد با عبارت return یه مقدار رو برگردون .

کد:
#include <iostream.h>


char Sample(int a)
{
  return a+48;
}

void main()
{

int a;
cout << "Enter your integer :";
cin >> a;
cout << "The ASCII symbol of your integer is : " << Sample(a) << endl;


}

3-بطور کل با وجود using namespace std ، اون هدر فایل هایی که توی فولدر include ( در محلی که کامپایلر نصب شده ) قرارا دارن و جز STL هستند رو میتونی با <> یا "" تعریف کنی اگر چه باید بدون h. اسم هدر رو بنویسی .

اسم هدر فایلی که شما خودت تعریف کردی رو فقط باید توی " " قرارش بدی چون خارج از اون فولدر هست . همچنین توی namespace یا همون فضای نامی std تعریف نشده چون این namespace تعریف شده در کتابخونه STL هست . پس ذکر h. هم ضروریه مگر اینکه شما خودت namespace مخصوصه کلاس یا هدر فایل خودت رو توش تعریف کرده باشی و با using ازش استفاده کنی ! اونوقت ذکر h. ضروری نیست .

خسرو جان ، شاید این آخرین پاسخ من خواهد بود به سوالات در این سایت تا یک ماه دیگه ، چون امتحانات پایان ترم دارم و وقت نخواهم داشت به سایت سر بزنم . همچنین به نظر من این شیوه درستی برای یادگیری زبان ++C نخواهد بود . با استفاده از یه کتاب خوب و مطالعه و کار ، خیلی راحت تر به جواب این سئوالات پی میبری و همچنین یه نظم آموزشی بین مطالب رو پیدا می کنی ! اگر چه بسیاری جاها سوال پرسیدن هم لازم میشه که دوستان اینجا هستند و کمک خواهند کرد .
موفق باشی و به امید دیدار

گويند بهشت و حور و کوثر باشد  ..  جوي می و شير و شهد و شکر باشد
پر کن قدح باده و بر دستم نه      ..   نقدي ز هزار نسيه خوشتر باشد  
۱۴-خرداد-۱۳۸۵, ۰۴:۲۸:۰۷
ارسال‌ها
پاسخ
Iron_Fist غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,456
موضوع‌ها: 70
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 109
( 456 تشکر در 134 ارسال )
ارسال: #3
RE: انتقال پارامتر تابع و تعیین خروجی تابع و اینکلود کردن
با سلام

با عرض شرمنده گی بازهم سوال دارم

1. من کلآ می خواستم یه متغیر از نوع char رو به درون تابع بفرستم ( از
طریق مرجع ) و مثلآ یه رشته ای با strcpy درونش بریزم اما متاسفانه این
روش دردی از من دوا نمی کنه یا حداقلش اگه با این روش شدنی باشه دید
من انقدر نسبت به C++ باز نشده که خودم بشینم تغیرش بدم
2.من می خواستم مثل وی بی بشه یه رشته رو به تابع برگردونم که متاسفانه
مثل سوال قبل این روش دردی از من دوا نکرد
3.این صحبتی که کردی برای همه هدر ها کار می ده به جز windows.h
برای این باید چکار کنم

با تشکر
(آخرین ویرایش در این ارسال: ۱۴-خرداد-۱۳۸۵, ۰۵:۲۳:۳۳، توسط Iron_Fist.)
۱۴-خرداد-۱۳۸۵, ۰۵:۱۳:۲۰
ارسال‌ها
پاسخ
Iron_Fist غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,456
موضوع‌ها: 70
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 109
( 456 تشکر در 134 ارسال )
ارسال: #4
RE: انتقال پارامتر تابع و تعیین خروجی تابع و اینکلود کردن
مشکل سوال اولم رو با این روش حل کردم
کد:
#include <iostream.h>
#include <string.h>
typedef char Str[10];

void Sample(Str *a)
{
    strcat(*a,"def");
}

void main()
{
    Str b="abc";
    Sample(&b);
    cout<<b<<endl;
}
می مونه دو سوال دیگر
۱۴-خرداد-۱۳۸۵, ۱۵:۱۷:۲۵
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [سوال] مقدار بازگشتی تابع GretSystemInfo nImaarek 3 3,169 ۲۲-شهریور-۱۳۹۶, ۱۴:۱۶:۱۶
آخرین ارسال: NO DONGLE
  دستوری برای پرش از تابع در کدویژن pedram032 1 3,149 ۰۸-دى-۱۳۹۵, ۰۵:۴۸:۱۱
آخرین ارسال: babyy
  چاپ خروجی خاص djmohammad 1 1,966 ۰۶-خرداد-۱۳۹۴, ۱۵:۰۸:۴۵
آخرین ارسال: Ghoghnus
  [سوال] انتقال اطلاعات به کامپیوتر mohi294 4 3,138 ۲۹-بهمن-۱۳۹۳, ۲۱:۳۵:۴۱
آخرین ارسال: sharin
  [سوال] نحوه فراخوانی نرم افزار با پارامتر se8820726 2 2,970 ۱۵-اسفند-۱۳۹۰, ۱۹:۰۳:۲۵
آخرین ارسال: se8820726
  [سوال] کد تابع replace peyman44 0 2,154 ۱۲-خرداد-۱۳۹۰, ۱۵:۰۱:۴۶
آخرین ارسال: peyman44
  تابع دوست در ویژوال سی++ مسافر 2 3,781 ۰۷-اردیبهشت-۱۳۹۰, ۲۳:۴۴:۲۵
آخرین ارسال: mhd.group
  [سوال] تخصیص حافظه به رشته و ارسال به تابع؟ one hacker 2 3,268 ۰۶-اردیبهشت-۱۳۹۰, ۱۷:۲۸:۲۲
آخرین ارسال: one hacker
  انتقال اطلاعات تکست باکس فرم 2 به فرم1 در c# f_talebi 1 9,322 ۲۹-اسفند-۱۳۸۹, ۱۳:۳۶:۰۳
آخرین ارسال: cootlaass
  تابع مخرب کلاس mojtabamalaekeh 7 11,106 ۱۹-اردیبهشت-۱۳۸۹, ۱۹:۳۰:۵۳
آخرین ارسال: dreamvbfox

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS