مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

آموزش سی شارپ قسمت 35: ساخت برنامه جدول زمان


حال میتوانیم با آنچه تا کنون آموخته ایم یک برنامه کوچک جدول زمانی درست کنیم. با استفاده از textbox ها از کار بر میخواهیم عدد شروع و عدد پایانی را وارد کند. از این روش برای نشان دادن 10 جدول زمانی استفاده می کنیم. به این ترتیب اگر کار بر در textbox اول عدد 1 و در textbox دوم عدد 5 را وارد نماید جدول زیر برای او به نمایش در خواهد آمد.

1 times 10 = 10
2 times 10 = 20
3 times 10 = 30
4 times 10 = 40
5 times 10 = 50

برای نشان دادن نتیج بجای استفاده از textbox از listbox استفاده می کنیم. listbox برای نشان دادن لیستی از آیتمها استفاده می شود. آسانتر است که بجای توضیح دادن طرز کار آنها را نشان دهیم. برای اضافه کردن listbox به فرم از از جعبه ابزار سمت چپ #Visual C استفاده نمایید.

A C# List Box

اندازه listbox و فرم خود را تنظیم کنید تا فرم شما بصورت زیر درآید:

A List Box added to a Form in C#

بر روی دکمه دابل کلیک کنید تا پنجره کد آن باز شود. کد زیر را به آن اضافه نمایید:

for (int i = loopStart; i <= loopEnd; i++)
{

answer = answer + i;

listBox1.Items.Add( answer.ToString() );

}

با تایپ نام listbox شروع می کنیم. در اینجا (listbox1). بعد از نقطه . لیست  IntelliSense ظاهر خواهد شد. از لیست  Items را انتخاب کنید.  Items یکی دیگر از ویژگیهای listbox است که به آیتمهای موجود در لیست اشاره دارد. بعد از کلمه items یک نقطه  دیگر تایپ می کنیم. روش Add را از لیست IntelliSense انتخاب کنید. همانطور که از اسمش پیداست آیتمها را به لیست اضافه می کند. آنچه را که میخواهید به لیست آیتمها اضافه کنید بین پرانتزها (  ) تایپ می کنید. در مورد ما این آیتم  جوابی است  که به string یا متن تبدیل شده است.

به خط کد messagebox نیازی نداریم بنابراین اگر بخواهیم میتوانیم آن را پاک کنیم.

برنامه را اجرا کنید و در textbox اول عدد 1 و در textbox دوم عدد 5 را تایپ کنید.

بر روی دکمه کلیک کنید. فرم باید بصورت زیر باشد:

Answers are now in the List Box

برنامه باید اعداد 1 تا 5 یا آنچه در textbox ها تایپ شده را جمع ببندد. هر بار که حلقه تکرار می شود listbox یک جواب را نشان میدهد. با این حال تنها 4 آیتم را نشان میدهد. اگر بتوانید مشگل نمایش عدد 55 به جای 45 در textbox را حل کنید به علت نشان دادن تنها 4 جواب در listbox نیز پی خواهید برد. اگر نتوانستید اولین خط حلقه را امتحان کنید:

for (int i = loopStart; i < loopEnd; i++)

مشکل در قسمت دوم کد حلقه است:

i < loopEnd

جایی که به #C میگوییم تا زمانی که i کوچکتر از مقدار loopEnd است به تکرار حلقه ادامه دهد. هنگامی که مقدار i برابر 4 میشود #C برنامه را متوقف می کند. در اینجا مقدار loopEnd برابر با 5 است و ما به #C گفته ایم هنگامی که مقدارi کوچکتر از مقدار loopEnd که در اینجا 5 است بود برنامه را متوقف کند.

مشکل اینجاست که بجای عملگر ( کمتر از ) از یک عملگر شرطی نامناسب استفاده کرده ایم. به نظر شما باید از کدام عملگر استفاد کنیم؟ علامت ( > ) با علامت درست تعویض کنید.

تمرین G

بعنوان تمرین بیشتر سعی کنید برای حل مشکل از راه دیگری استفاده کنید بطوری که علامت >  نیز در برنامه باقی بماند

برای اضافه کردن آیتمهای بیشتری به listbox کد را بصورت زیر تغییر دهید.

listBox1.Items.Add( "answer = " + answer.ToString( ) );

برنامه را مجددا اجرا کنید 

listbox باید بصورت زیر باشد.

More information in the List Box

در اینجا مقدار متغیر i را اضافه کردیم. با این روش برای برنامه مشخص کردیم که مقدار i  در هر حلقه تکرار چگونه تغییر کند.

برنامه جدول زمانی

اکنون تمام مواردی را که برای نوشتن برنامه جدول زمانی لازم داریم فراهم است.

به پنجره کدنویسی بازگردید

برای یاد آوری میخواستیم با استفاده از حلقه for برنامه ای بنویسیم که 10 جدول زمانی را نشان دهد. به متغیری نیاز داریم که عدد 10 را نگهدارد. به این منظور متغیر زیر را تعریف می کنیم.

int multiplyBy = 10;

تنها کاری که باید انجام دهیم اینست که کد بین براکتها ی{ }  حلقه  for را  تغییر دهیم.

کد زیر را داریم:

answer = answer + i;
listBox1.Items.Add( "i = " + i + " answer = " + answer.ToString() );

این دو خط را حذف کنید و دو خط کد زیر را بجای آن بنویسید:

answer = multiplyBy * i;

listBox1.Items.Add(i + " times " + multiplyBy + " = " + answer.ToString());

محتوای listbox کمی نامرتب شده است. کد بین پرانتزها ( ) را امتحان کنید.

i + " times " + multiplyBy + " = " + answer.ToString()

در کد بالا ترکیبی از متغیرها و متن را داریم. خط اول کد یک عملیات ضرب ساده است. مقدار متغیر multiplyBy را (که در اینجا 10 است) در مقدار متغیر i ضرب می کنیم.

#C در هر بار تکرار حلقه 1 واحد به متغیر i اضافه می کند و جواب را در listbox نشان می دهد. 

برنامه را اجرا نمایید. 1 را در textbox اول و 10 را textbox دوم وارد نمایید. 

بر روی دکمه کلیک کنید تا 10 جدول زمانی را ببینید.

بنابر این با استفاده از چند خط کد و حلقه for برنامه ای نوشتیم که کارهای زیادی انجام می دهد. تصور کنید که بدون استفاده از حلقه for کدنویسی این برنامه چقدر میتوانست پیچیده باشد.

در اینجا میخواهیم عملیات 10 بار انجام شود و 10 جدول زمانی نشان داده شود. textbox دیگری به فرم اضافه کنید. یک lable به فرم اضافه کنید تا تعداد جدولهای زمانی را از کاربر بپرسد. از این مقدار برای نشان دادن جدولهای زمانی به آنها استفاده کنید. بنابر این اگر کاربر عدد 7 را در textbox تایپ کند 7 جدول زمانی در listbox نشان داده خواهد شد. بعد از پایان کد نویسی برنامه شما باید بصورت زیر باشد:

The New Form

بعد از پایان تمرین بر روی دکمه چند بار کلیک کنید. متوجه خواهید شد تا زمانی که در textbox عددی موجود است محتوای listbox پاک نمی شود. listbox بصورت زیر نشان داده می شود.

The List Box is not cleared

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

listBox1.Items.Clear();

در اینجا بجای استفاده از متد ( )Add از متد ( )Clear استفاده کردیم. با این روش تمام محتوای listbox پاک میشود. اما میتوانید بگویید چرا استفاده از این خط کد در داخل حقله for یا بعد از آن مناسب نیست؟

تا اینجا برای تمرین با حلقه for کافیست. در تمرینهای بعدی با دو حلقه دیگر یعنی حقله Do و حلقه While آشنا خواهیم شد.

فصلِ: 1 , تعداد قسمت ها: 9 , سطح: صفر تا صد
موضوعات: آموزش سی شارپ

این فصل در یک نگاه:

آموزش ارسال پیامک، آموزش ارسال پیامک تکی و گروهی ، ارسال پیامک به صورت اختصاصی برای هر مشترک، دریافت پیامک، مشاهده وضعیت…

توضیحات کلی مجموعه:   آیا می دونید قیمت نرم افزارهای مدیریت پیامک در حدود 150 هزار تومان است؟ اما توسط این دوره شما میتونید با مبلغ بسیار کمتر یک نرم افزار مدیریت پیامک رو به صورت کاملا حر…
فصلِ: 9 , تعداد قسمت ها: 59 , سطح: صفر تا صد
موضوعات: آموزش سی شارپ

این فصل در یک نگاه:

در این فصل که فصل پایانی این دوره می باشد در مورد نحوه ساختن فایل نصبی سریع یا همان quick installer که روش پیشنهاد شده م…

توضیحات کلی مجموعه: پس از بازخوردهای بسیار خوبی که از دوره های آموزش برنامه نویسی سیستم اتوماسیون اداری و آموزش برنامه نویسی سیستم فروش و انبارداری مشاهده کردیم، تصمیم گرفتیم با توجه به درخ…
فصلِ: 13 , تعداد قسمت ها: 120 , سطح: صفر تا صد
موضوعات: آموزش سی شارپ

این فصل در یک نگاه:

در این فصل که فصل آخر از مجموعه بزرگ آموزش سیستم اتوماسیون اداری می باشد در ابتدا در مورد اسناد و نامه های خارج از سازما…

دوره صفر تا صد  آموزش برنامه نویسی و پیاده سازی سیستم اتوماسیون اداری تحت شبکه. (توصیه می شود دومی مجموعه را حتما ببینید) امروزه اطلاعات یکی از مهمترین و با ارزشترین منابع هر اداره و یا ساز…
فصلِ: 4 , تعداد قسمت ها: 14 , سطح: مقدماتی

این فصل در یک نگاه:

توضیح تنظیمات گرافیک و صدا در یونیتی پیاده سازی منو ها …

به نام خدا   بازی‌سازی یک حرفه بسیار جذاب است و تبدیل شدن به یک بازی‌ساز حرفه‌ای آرزوی همه ماست. اینکه بتوانیم دنیای خاصی خلق کنیم و در این دنیا قوانین خود را پیاده کنیم، همیشه ما را به وج…
فصلِ: 11 , تعداد قسمت ها: 92 , سطح: صفر تا صد

این فصل در یک نگاه:

اجرای سیستم روی سیستم، قرار دادن سیستم روی سرور، تعریف Connetion String، آشنایی با فایل App.config، ساخت رشته اتصال به ص…

مهمترین تکنولوژیهای استفاده شده در این دوره پروژه محور (سیستم فروش کالا و انبارداری) طراحی گرافیکی به روش WPF (Windows Presentaion Foundation) آموزش کامل برنامه نویسی xaml (برای طراحی های …
فصلِ: 5 , تعداد قسمت ها: 25 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل پنجم…

توضیحات کلی مجموعه: درباره گیت: لذت پیش بردن پروژه های برنامه نویسی خود را با بهترین ورژن کنترل سیستم جهان تجربه کنید کامل ترین دوره ی آموزشی گیت و گیت هاب به همراه مثال های کاربردی گی…

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید