تبليغاتX
آموزش و دانلود نرم افزار - آموزش ++C
 آموزش ++C
آز آن جا که استراکچر ها انقدر ساده هستند که فقط با مثال قابل درک اند چند تابع ساده و مفید برای کار با استراکچرها را بررسی می کنیم

در این توابع از همان استراکچر personکه در جلسات قبل تعریف نمودیم استفاده می کنند.

struct date{

int yy,mm,dd;

};

struct person{

char name[40];

date tt;

float grade;

};

نکته:

نکته مهمی که یادم رفت بگم اینه که تعریف استراکچر ها باید قبل از تابع main باشند واین یک قاعده ی عمومی است و نه یک قاعده ی کلی یعنی ممکن است گاهی استراکچری جای دیگری تعریف شود.که بعنوان یک دانشجو با این حالت مواجه نخواهید شد(به احتمال زیاد)

در کلیه ی مثال ها فر ض می کنیم استراکچری از نوع personبه نام myvarداریم

مثال1:

تابع خواندن یک استراکچر از صفحه کلید.

void read(person *p){

cin>>p->name;

cin>>p->grade;

cin>>p->tt.dd;

cin>>p->tt.mm;

cin>>p->tt.yy;

}

1.فرا خوانی این تابع به صورت read(&myvar);خواهد بود.

2.آرگمان تابع به صورت اشاره گر تعریف شده چرا که باید مقادیر خوانده شده به برنامه ی اصلی بر گردانده شود.

3.به نحوه ی دسترسی به فیلدهای اشاره گر pتوجه کنید .(استفاده از عملگر(<-))

4.بعد از دسترسی به فیلد ttبرای دسترسی به فیلد های dd,mm,yyاز عملگر نقطه استفاده شده چرا که tt یک استراکچر است نه یک اشاره گر.

باز نویسی تابع بالا با استفاده از رفرنس ها بجای اشاره گر

void read(person &p){

cin>>p.name;

cin>>p.grade;

cin>>p.tt.dd;

cin>>p.tt.mm;

cin>>p.tt.yy;

}

فرا خوانی این تابع به صورت read(myvar);می باشد.

مثال 2:

تابع تعویض محتویات دو استراکچر:

void swap(person *p1,person *p2){

person tmp=*p1;

*p1=*p2;

*p2=tmp;

}

1.مانند همه اشاره گر ها برای دسترسی یه محتویات اشاره گر استراکچرها باید ار عملگر ستاره استفاده کنیم.

2.آرگمان ها به صورت اشاره گر هستند چون باید تغییرات به برنامه ی اصلی منتقل شود.

3.فراخوانی این تابع به صورت swap(&myvar1,&myvar2);است

باز نویسی لین تابع با رفرنس ها:

void swap(person &p1,person &p2){

person tmp=p1;

p1=p2;

p2=tmp;

}

3.فراخوانی این تابع به صورت swap(myvar1, myvar2);است

 

 

 

آموزش Visual Basic

در این وبلاگ سعی دارم طریقه برنامه نویسی با Visual Basic به صورت مقدماتی آموزش دهم.

 

(توابع داخلی)

 

LoadPicture: این تابع یک تصویر را به برنامه اضافه می کند. در داخل پرانتز مسیر تصویر قرار می گیرد.مثل:

Image1.Picture = LoadPicture("c:\Pic1.bmp")

MsgBox: تابعی است که یک جعبه پیام را به کاربر نشان می دهد.

همانطور که می بینید جعبه پیام یک آیکون، یک پیام و چند دکمه فرمان دارد. شکل کلی این دستور به صورت مقابل است.

intResponse=MsgBox(strPrompt,intStyle,strTilte)

آرگمان اول اجباری و بقیه ارگمان ها اختیاری است. StrPrompt پیامی است که جعبه پیام نشان می دهد. اگر آرگمان های دیگر را مشخص نکنیم تنها پیام با دکمه OK نشان داده می شود. آرگمان دوم نوع دکمه ها و آیکون ها را مشخص می کند. strTitle تیتر جعبه پیام را مشخص می کند. intResponse کد دکمه ای را که کاربر فشار داده در خود نگه می دارد که با دستور If یا Select case می توان آن را بررسی کرد. دکمه های این جعبه در لیست پایین آمده است:

vbOkOnly دکمه OK

vbOKCancel دکمه های OK و Cancel

vbAbortRetryIgnore دکمه های Abort,Retry,Ignore

vbYesNoCancel دکمه های Yes,No,Cancel

vbYesNo دکمه های Yes,No

vbRetryCancel دکمه های Retry,Cancel

آیکون هایی که می توان استفاده کرد به شرح زیر است:

vbCritical

vbQuestion

vbExclamation

vbInformation

بین دکمه و ایکون باید علامت + بگذاریم. مقدارهایی که جعبه پیام می تواند بر گرداند به شرح زیر است:

نام ثابت

مقدار

vbOK

1

vbCancel

2

vbAbort

3

vbRetry

4

vbIgnore

5

vbYes

6

vbNo

7

مثال:

Dim I As Integer

I = MsgBox("Do you want to exit?", vbYesNo + vbQuestion, "Exit")

Select Case (I)

Case 6

MsgBox ("Yes")

Case 7

MsgBox ("No")

End Select

InputBox: جعبه ای که سوالی می کند و کاربر باید جواب را وارد کند.

شکل کلی تابع به صورت زیر است:

strAnswer = InputBox (پیام,تیتر,مقدار پیش فرض)

توابع عددی:

Int(Value) محاسبه جزء صحیح

Fix(Value) اعشار را از عدد حذف می کند.

Log(Value) محاسبه لگاریتم طبیعی

Atn(Value) محاسبه آرکتانژانت

Cos(Value) محاسبه کسینوس

Sin(Value) محاسبه سینوس

Tan(Value) محاسبه تانژانت

Abs(Value) محاسبه قدر مطلق

Sqr(Value) محاسبه جذر

این توابع با عدد های داخل پرانتز سروکار دارند.

توابع تشخیص نوع:

 

IsEmpty() اگر متغییر داخل پرانتز مقدار نگرفته باشد True برمی گر داند.

IsNull() اگر مقدار متغییر داخل پرانتز Null باشد True برمی گر داند.

IsNumeric() اگر متغییر داخل پرانتز از نوع عددی باشد یا توانایی تبدیل به عدد را داشته باشد True برمی گر داند.

توابع تبدیل نوع: این توابع برای تغییر نوع یک متغییر به نوع دیگر به کار می رود. مسئله مهمی که باید توجه کنید این است که باید حدود انواع متغییر را در نظر بگیرید تا ازاین توابع انتظار درست کار کردن داشته باشید.

CBool() تبدیل آرگمان به Boolean

CByte() تبدیل آرگمان به Byte

CCur() تبدیل آرگمان به Currency

CDbl() تبدیل آرگمان به Double

CDec() تبدیل آرگمان به Decimal

CInt() تبدیل آرگمان به Integer

CLng() تبدیل آرگمان به Long

CSng() تبدیل آرگمان به Single

CStr() تبدیل آرگمان به String

CVar() تبدیل آرگمان به Variant

توابع رشته:

Len() تعداد حرف یک متغییر String را برمی گرداند.

Right() قسمتی از یک رشته را از سمت راست بر می گرداند.

Left() قسمتی از یک رشته را از سمت چپ بر می گرداند.

Mid() قسمتی از یک رشته را از وسط بر می گرداند.مثال:

Dim str,str1,str2,str3 as String

str = "abcdefg"

str1 = Right(str,2) ‘ fg

str2 = Left(str,2) ‘ ab

str3 = Mid(str,3,2) ‘ cd

UCase() تمام حروف متن داخلش را تبدیل به حروف بزرگ می کند.

LCase() تمام حروف متن داخلش را تبدیل به حروف کوچک می کند.

توابع اسکی: هر کاراکتر دارای یک کد است.توابع Chr() و Asc() برای تبدیل اعداد به کاراکتر و بلعکس هستند.مثال:

Str = Chr(65) ‘ A

I = Asc("A") ‘65

|+| نوشته شده توسط در جمعه بیست و هفتم اردیبهشت 1387  |
 
 
بالا