ورود
ثبت نام
صفحه اصلی
اخبار بازی
بررسی بازی
حقایق بازیها
داستان بازی
بررسی سخت افزار
برنامههای ویدیویی
انجمنها
نوشتههای جدید
پرمخاطبها
جستجوی انجمنها
جدیدترینها
ارسالهای جدید
آخرین فعالیتها
کاربران
کاربران آنلاین
جستجو
جستجو فقط عنوان ها
توسط:
جستجو فقط عنوان ها
توسط:
ورود
ثبت نام
جستجو
جستجو فقط عنوان ها
توسط:
جستجو فقط عنوان ها
توسط:
Menu
Install the app
Install
فراخوان عضویت در تحریریه بازیسنتر | برای ثبت درخواست کلیک کنید
صفحه اصلی
انجمنها
ساخت بازی
آموزش ساخت و توسعه بازی
آموزش زبان ++C و #C
ارسال پاسخ
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
متن گفتگو
<blockquote data-quote="alprh" data-source="post: 16228" data-attributes="member: 90"><p>ساختارهاي تصميم گيري : </p><p></p><p>در بسياري از موارد هنگام برنامه نويسي لازم است تا از عبارات شرطي استفاده كنيم. براي انجام اينكار دو روش عمده وجود دارد. استفاده از if و يا switch . از if بيشتر براي مقايسه هايي تكي و كوچك استفاده مي شود و حاصل مقايسه ي آن يا true است و يا false . از عبارت switch هنگامي استفاده مي شود كه مقايسه هاي متعددي بايد در مورد يك مقدار صورت گيرد. </p><p>هر دو عبارت if و switch توسط عبارتهايي Boolean كنترل مي شوند ( true و يا false ) . در هنگام استفاده از if اگر عبارت Boolean حاصل اش true باشد اولين قسمت شرط اجرا مي شود و سپس برنامه از انتهاي if ادامه پيدا مي كند. اگر حاصل عبارت Boolean مساوي false باشد كنترل برنامه به قسمت else منتقل مي شود. </p><p></p><p>مثال : </p><p></p><p>يك پروژه ي جديد console باز كنيد و نام آنرا ex04 بگذاريد. سپس كد زير را در آن وارد و جرا كنيد : </p><p></p><p></p><p>using System; </p><p></p><p>namespace ex04 </p><p>{ </p><p>class Class1 </p><p>{ </p><p>[STAThread] </p><p>static void Main(string[] args) </p><p>{ </p><p>Console.WriteLine("Enter 1 character to be evaluated"); </p><p></p><p>char cUserInput = (char) Console.Read(); </p><p></p><p>if ( char.IsDigit( cUserInput ) ) </p><p>Console.WriteLine("The char is a number!"); </p><p>else </p><p>Console.WriteLine("The char is not a number!"); </p><p></p><p>} </p><p>} </p><p>} </p><p></p><p></p><p>نكاتي در مورد كد فوق : </p><p></p><p>1- سي شارپ به كوچكي و بزرگي حروف حساس است . براي مثال cUserInput با cUserinput فرق مي كند. </p><p>2- حتما بايد بعد از if پرانتزها ذكر گردد. </p><p>3- حتما بايد داخل if يك عبارت Boolean ذكر شود مانند if(x>5) . </p><p>4- در سي شارپ مقايسه ي تساوي دو عبارت با == و انتساب با = انجام مي شود. ( موارد 1 و 4 مواردي هستند كه اغلب تازه كاران با آن مشكل دارند! ) براي مثال if(i==3) صحيح است اما if(i=3) در سي شارپ معنايي ندارد. </p><p>5- اگر بعد از if يك خط كد قرار گيرد نيازي به آوردن آكولاد ها نيست. هنگامي نياز به آكولادها مي باشد كه بيش از يك خط بايد بعد از if قرار گيرد. </p><p>6- در سي شارپ همانند اسلاف خودش براي تبديل نوع هاي داده ايي مي توان به صورت زير نيز عمل كرد : (char) Console.Read() ; يعني دريافتي Read به char تبديل مي شود .در اين مورد باز هم صحبت خواهد شد. </p><p>7- همانطور كه ذكر شد در سي شارپ همه چيز شيء است حتي نوع هاي پايه ايي مانند char . با استفاده از متد IsDigit آن مي توان چك كرد كه آيا ورودي آن عدد است يا خير؟ ( در مورد متدها صحبت خواهد شد ) </p><p></p><p>استفاده از switch : </p><p></p><p>بهتر است اين مورد را با يك مثال دنبال كنيم. </p><p>پروژه ي سي شارپ جديدي به نام ex05 در حالت console در VS.NET باز كنيد. دراينجا مي خواهيم يك كلاس جديد تعريف كرده و توسط خاصيتي كه در آن ايجاد مي كنيم متوجه شويم روز جاري مطابق سيستم چه روزي است . </p><p>يك كلاس جديد از منوي پروژه ،با استفاده از گزينه ي Add class به برنامه اضافه كنيد و نام آنرا در ابتدا clsDate بگذاريد. </p><p></p><p></p><p>using System; </p><p></p><p>namespace ex05 </p><p>{ </p><p>/// </p><p>/// Summary description for clsDate. </p><p>/// </p><p>public class clsDate </p><p>{ </p><p>public clsDate() </p><p>{ </p><p>// </p><p>// TODO: Add constructor logic here </p><p>// </p><p>} </p><p></p><p>public string systemDayOfWeek </p><p>{ </p><p>get </p><p>{ </p><p></p><p>string res=""; </p><p>switch( System.DateTime.Now.DayOfWeek.ToString()) </p><p>{ </p><p>case "Saturday" : </p><p>res = "شنبه"; </p><p>break; </p><p></p><p>case "Sunday" : </p><p>res = "يک شنبه" ; </p><p>break; </p><p></p><p>case "Monday": </p><p>res = "دوشنبه"; </p><p>break; </p><p></p><p>case "Tuesday": </p><p>res = "سه شنبه"; </p><p>break; </p><p></p><p>case "Wednesday": </p><p>res = "چهار شنبه"; </p><p>break; </p><p></p><p>case "Thursday": </p><p>res = "پنج شنبه"; </p><p>break; </p><p></p><p>case "Friday": </p><p>res = "جمعه" ; </p><p>break; </p><p>} </p><p></p><p>return res ; </p><p>} </p><p></p><p>} </p><p></p><p></p><p>} </p><p>} </p><p></p><p></p><p>هنگام ذخيره كردن اين كد ويژوال استوديو به شما اخطار مي دهد كه كد داراي حروف يونيكد است. از منوي فايل گزينه ي advanced save options را انتخاب كنيد. در اينجا مي توان نوع ذخيره سازي را يونيكد انتخاب كرد. </p><p></p><p>براي استفاده از كلاس فوق مانند مطالبي كه در قسمت قبل گفته شد عمل مي كنيم : </p><p></p><p></p><p>using System; </p><p></p><p>namespace ex05 </p><p>{ </p><p>class Class1 </p><p>{ </p><p>[STAThread] </p><p>static void Main(string[] args) </p><p>{ </p><p>clsDate m_var = new clsDate(); </p><p>Console.WriteLine( m_var.systemDayOfWeek ); </p><p>Console.ReadLine(); </p><p></p><p>} </p><p>} </p><p>} </p><p></p><p></p><p>هر چند حالت console يونيكد را پشتيباني نمي كند ولي اصل برنامه براي ما مهم است و در آينده بيشتر از آن استفاده خواهيم كرد. </p><p></p><p>همانطور كه ملاحظه كرديد اگر از switch استفاده نمي شد بايد از 7 عدد if استفاده مي گرديد كه اصلا ظاهر حرفه اي و شكيلي نداشت! </p><p>با استفاده از عبارت زير كار مقايسه شروع مي شود. روز سيستم در يافت شده و وارد بدنه ي switch مي گردد. سپس توسط case ها چك مي شود تا تساوي آن با عبارت بعد از case به اثبات برسد. </p><p></p><p></p><p>switch( System.DateTime.Now.DayOfWeek.ToString()) </p><p></p><p></p><p>اگر هر كدام از عبارات بعد از case صحيح بودند كار پس از آن كه در اينجا انتساب است انجام شده و سپس توسط break كنترل برنامه از switch خارج مي شود و ادامه ي كار دنبال مي گردد. </p><p>اگر هيچكدام از case ها صحيح نبودند مي توان از گزينه ي default هم در صورت نياز استفاده كرد. اين حالت در يك چنين مواقعي اجرا مي گردد.</p></blockquote><p></p>
[QUOTE="alprh, post: 16228, member: 90"] ساختارهاي تصميم گيري : در بسياري از موارد هنگام برنامه نويسي لازم است تا از عبارات شرطي استفاده كنيم. براي انجام اينكار دو روش عمده وجود دارد. استفاده از if و يا switch . از if بيشتر براي مقايسه هايي تكي و كوچك استفاده مي شود و حاصل مقايسه ي آن يا true است و يا false . از عبارت switch هنگامي استفاده مي شود كه مقايسه هاي متعددي بايد در مورد يك مقدار صورت گيرد. هر دو عبارت if و switch توسط عبارتهايي Boolean كنترل مي شوند ( true و يا false ) . در هنگام استفاده از if اگر عبارت Boolean حاصل اش true باشد اولين قسمت شرط اجرا مي شود و سپس برنامه از انتهاي if ادامه پيدا مي كند. اگر حاصل عبارت Boolean مساوي false باشد كنترل برنامه به قسمت else منتقل مي شود. مثال : يك پروژه ي جديد console باز كنيد و نام آنرا ex04 بگذاريد. سپس كد زير را در آن وارد و جرا كنيد : using System; namespace ex04 { class Class1 { [STAThread] static void Main(string[] args) { Console.WriteLine("Enter 1 character to be evaluated"); char cUserInput = (char) Console.Read(); if ( char.IsDigit( cUserInput ) ) Console.WriteLine("The char is a number!"); else Console.WriteLine("The char is not a number!"); } } } نكاتي در مورد كد فوق : 1- سي شارپ به كوچكي و بزرگي حروف حساس است . براي مثال cUserInput با cUserinput فرق مي كند. 2- حتما بايد بعد از if پرانتزها ذكر گردد. 3- حتما بايد داخل if يك عبارت Boolean ذكر شود مانند if(x>5) . 4- در سي شارپ مقايسه ي تساوي دو عبارت با == و انتساب با = انجام مي شود. ( موارد 1 و 4 مواردي هستند كه اغلب تازه كاران با آن مشكل دارند! ) براي مثال if(i==3) صحيح است اما if(i=3) در سي شارپ معنايي ندارد. 5- اگر بعد از if يك خط كد قرار گيرد نيازي به آوردن آكولاد ها نيست. هنگامي نياز به آكولادها مي باشد كه بيش از يك خط بايد بعد از if قرار گيرد. 6- در سي شارپ همانند اسلاف خودش براي تبديل نوع هاي داده ايي مي توان به صورت زير نيز عمل كرد : (char) Console.Read() ; يعني دريافتي Read به char تبديل مي شود .در اين مورد باز هم صحبت خواهد شد. 7- همانطور كه ذكر شد در سي شارپ همه چيز شيء است حتي نوع هاي پايه ايي مانند char . با استفاده از متد IsDigit آن مي توان چك كرد كه آيا ورودي آن عدد است يا خير؟ ( در مورد متدها صحبت خواهد شد ) استفاده از switch : بهتر است اين مورد را با يك مثال دنبال كنيم. پروژه ي سي شارپ جديدي به نام ex05 در حالت console در VS.NET باز كنيد. دراينجا مي خواهيم يك كلاس جديد تعريف كرده و توسط خاصيتي كه در آن ايجاد مي كنيم متوجه شويم روز جاري مطابق سيستم چه روزي است . يك كلاس جديد از منوي پروژه ،با استفاده از گزينه ي Add class به برنامه اضافه كنيد و نام آنرا در ابتدا clsDate بگذاريد. using System; namespace ex05 { /// /// Summary description for clsDate. /// public class clsDate { public clsDate() { // // TODO: Add constructor logic here // } public string systemDayOfWeek { get { string res=""; switch( System.DateTime.Now.DayOfWeek.ToString()) { case "Saturday" : res = "شنبه"; break; case "Sunday" : res = "يک شنبه" ; break; case "Monday": res = "دوشنبه"; break; case "Tuesday": res = "سه شنبه"; break; case "Wednesday": res = "چهار شنبه"; break; case "Thursday": res = "پنج شنبه"; break; case "Friday": res = "جمعه" ; break; } return res ; } } } } هنگام ذخيره كردن اين كد ويژوال استوديو به شما اخطار مي دهد كه كد داراي حروف يونيكد است. از منوي فايل گزينه ي advanced save options را انتخاب كنيد. در اينجا مي توان نوع ذخيره سازي را يونيكد انتخاب كرد. براي استفاده از كلاس فوق مانند مطالبي كه در قسمت قبل گفته شد عمل مي كنيم : using System; namespace ex05 { class Class1 { [STAThread] static void Main(string[] args) { clsDate m_var = new clsDate(); Console.WriteLine( m_var.systemDayOfWeek ); Console.ReadLine(); } } } هر چند حالت console يونيكد را پشتيباني نمي كند ولي اصل برنامه براي ما مهم است و در آينده بيشتر از آن استفاده خواهيم كرد. همانطور كه ملاحظه كرديد اگر از switch استفاده نمي شد بايد از 7 عدد if استفاده مي گرديد كه اصلا ظاهر حرفه اي و شكيلي نداشت! با استفاده از عبارت زير كار مقايسه شروع مي شود. روز سيستم در يافت شده و وارد بدنه ي switch مي گردد. سپس توسط case ها چك مي شود تا تساوي آن با عبارت بعد از case به اثبات برسد. switch( System.DateTime.Now.DayOfWeek.ToString()) اگر هر كدام از عبارات بعد از case صحيح بودند كار پس از آن كه در اينجا انتساب است انجام شده و سپس توسط break كنترل برنامه از switch خارج مي شود و ادامه ي كار دنبال مي گردد. اگر هيچكدام از case ها صحيح نبودند مي توان از گزينه ي default هم در صورت نياز استفاده كرد. اين حالت در يك چنين مواقعي اجرا مي گردد. [/QUOTE]
Insert quotes…
Verification
پایتخت ایران
ارسال نوشته
صفحه اصلی
انجمنها
ساخت بازی
آموزش ساخت و توسعه بازی
آموزش زبان ++C و #C
Top
نام کاربری یا ایمیل
رمز عبور
نمایش
رمز عبور خود را فراموش کرده اید؟
مرا به خاطر بسپار
ورود
اگر میخواهی عضوی از بازی سنتر باشی
همین حالا ثبت نام کن
or ثبتنام سریع از طریق سرویسهای زیر
Twitter
Google
Microsoft