در قسمت قبل با عملگرهای منطقی و بیتی آشنا شدید. همچنین توضیحات مختصری در مورد آرایه یک بعدی داده شد. در این قسمت قصد داریم با مثالهای زیادی از آرایه یک بعدی آشنا شویم. همچنین دستوراتی که تاکنون توضیح داده شدهاند در حین انجام تمرینها مرور خواهند شد.
به مثال زیر توجه کنید:
using System; class Example { static void Main() { string[] daysOfWeek = new string[7]; daysOfWeek[0] = "Sunday"; daysOfWeek[1] = "Monday"; daysOfWeek[2] = "Tuesday"; daysOfWeek[3] = "Wednesday"; daysOfWeek[4] = "Thursday"; daysOfWeek[5] = "Friday"; daysOfWeek[6] = "Saturday"; while (true) { Console.Clear(); Console.Write("Pick out a number bitween 1 and 7 or press q to quit: "); string input = Console.ReadLine(); if (input == "q" || input == "Q") break; int index = Convert.ToInt32(input); if (index >= 1 && index <= 7) { Console.WriteLine(daysOfWeek[index - 1]); } else { Console.WriteLine("Invalid input!"); } Console.ReadLine(); } } }
در این مثال ابتدا روزهای هفته را در آرایهای از جنس string ذخیره کردهایم سپس در یک حلقهی بینهایت پیغامی را نمایش دادهایم تا کاربر با انتخاب یکی از اعداد بین 1 تا 7 روز متناظر با آن را مشاهده کند.
دلیل استفاده از حلقهی بینهایت در اینجا این است که کاربر بعد از وارد کردن عدد و مشاهده روز متانظر با آن، بتواند مجدداً اعداد دیگری را نیز وارد کند و برای اینکه به اجرای برنامه خاتمه دهد کلید q را بفشارد تا برنامه از حلقهی بینهایت خارج شود. اجازه دهید اندکی دقیقتر به این برنامه نگاه کنیم، در حلقهی بینهایت، دستور ()Console.Clear مطالبی که در صفحهی کنسول در حال نمایش هستند را پاک میکند. البته اطلاعاتی که در برنامهتان ذخیره میکنید توسط این دستور از بین نمیرود و در واقع این دستوری است برای از نو نویسی اطلاعات در صفحهی کنسول.
در خطوط بعدی برنامه پیغامی به کاربر نمایش داده میشود تا عددی بین 1 تا 7 را انتخاب کند یا کلید q را برای خروج بفشارد. در ادامه ورودی از کاربر دریافت شده و توسط دستور if بررسی میشود که اگر کاربر حرف q یا Q را وارد کرده برنامه توسط دستور break از حلقهی بینهایت خارج شود در غیر این صورت ورودی به عدد صحیح تبدیل شده و مجدداً توسط دستور if مورد بررسی قرار میگیرد تا بین 1 و 7 باشد.
در صورت برقراری این شرط، [daysOfWeek[index – 1 آرایه نمایش داده میشود. بهدلیل اینکه شمارش آرایه از صفر و عدد ورودی کاربر از 1 شروع میشود مقدار index را از عدد 1 کم کردهایم.
به مثال بعدی توجه کنید:
using System; class Example { static void Main() { string[] names = new string[5]; // Filling array for (int i = 0; i < 5; i++) { Console.Write("Enter name " + i + ": "); names[i] = Console.ReadLine(); } Console.WriteLine(); Console.WriteLine("Array's Data: "); // Displaying array's data for (int i = 0; i < 5; i++) { Console.WriteLine(names[i]); } Console.WriteLine(); } }
در این مثال ابتدا توسط حلقهی for در هر بار مقداری از کاربر گرفته شده و درون خانههای آرایه قرار داده میشود. در حلقهی for دوم اطلاعات ذخیره شده نمایش داده میشود.
در مثال بعد فرهنگ لغت کوچکی میسازیم:
using System; class Example { static void Main() { string[] words = new string[5]; string[] translations = new string[5]; bool isFound; string input; words[0] = "book"; translations[0] = "ketab"; words[1] = "mobile"; translations[1] = "telephone hamrah"; words[2] = "mouse"; translations[2] = "moosh"; words[3] = "keyboard"; translations[3] = "safhe kilid"; words[4] = "speaker"; translations[4] = "bolandgoo"; while (true) { Console.Clear(); Console.Write("Enter a word to translate or press q to quit: "); input = Console.ReadLine(); if (input == "q" || input == "Q") break; isFound = false; for (int i = 0; i < words.Length; i++) { if (input == words[i]) { isFound = true; Console.WriteLine(words[i] + " Means " + translations[i]); break; } } if (!isFound) { Console.WriteLine("Not Found!"); } Console.ReadLine(); } } }
در این مثال دو آرایه تعریف کردهایم که اولی برای نگهداری کلمات انگلیسی و دومی برای نگهداری ترجمهی معادل آنهاست. کلمه و ترجمهی معادل آن در آرایه باید در index یکسانی باشند. بهعنوان مثال اگر کلمهی book در ایندکس صفر است، ترجمهی آن نیز باید در ایندکس صفر باشد. سپس در یک حلقهی بینهایت پیغامی را نمایش دادهایم تا ورودی را از کاربر بگیریم. اگر کاربر حرف q یا Q را وارد کند برنامه از حلقه بینهایت خارج شده و اجرا به پایان میرسد. در غیر اینصورت توسط یک حلقهی for تک تک خانههای آرایه words را بررسی میکنیم تا در صورت پیدا شدن کلمه وارد شده، ترجمهی موبوط بهآن نمایش داده شود. در این میان از یک متغیر بولین برای اینکه بدانیم کلمه وارد شده در فرهنگ لغت ما وجود دارد یا خیر، کمک گرفتهایم. همچنین عبارت words.Length بیان کنندهی طول خانههای آرایه words است.
در مثالهای قبلی برای پر کردن خانههای آرایه از عبارتهای جدا استفاده میکردیم:
arrays[0] = someValue; arrays[1] = someValue; . . .
در حالیکه این روش صحیح است، روش سادهتری نیز وجود دارد که همزمان با تعریف آرایه به آن مقدار میدهیم.
فرم کلی این روش بهشکل زیر است:
type[] array-name = { val1, val2, val3, ..., valN };
به مثال زیر که از این روش استفاده شده و میانگین اعداد محاسبه میشود توجه کنید:
using System; class Example { static void Main() { int[] nums = { 22, 56, 78, 96, 32, 15, 4 }; int average = 0; for (int i = 0; i < nums.Length; i++) { average = average + nums[i]; } average = average / nums.Length; Console.WriteLine(average); } }
در این موارد، سیشارپ بهصورت خودکار اندازه آرایه را با توجه به مقادیری که شما معین کردهاید تعیین میکند.
رعایت مرز و حدود آرایهها در سیشارپ اجباری است. اگر ظرفیت آرایهای 10 است و شما تلاش کنید که تا 11 مقدار را در آن جای دهید با خطای IndexOutOfRangeException مواجه میشوید.
اگر سعی در اجرای برنامه زیر کنید خطای نامبرده را دریافت خواهید کرد:
using System; class Example { static void Main() { int[] myArray = new int[10]; for (int i = 0; i < 20; i++) myArray[i] = i; } }
در این برنامه ظرفیت آرایه ما 10 است و ما در تلاش بودیم تا 20 مقدار را در این آرایه جای دهیم که با خطای IndexOutOfRangeException مواجه شدیم.
در مثال بعدی قصد داریم برنامه فرهنگ لغت را به روش دیگری بنویسیم:
using System; class Example { static void Main() { string input; bool isFound; string[] words = { "hello", "salam", "example", "mesal", "revolver", "7tir", "doorway", "rahro" }; for (; ; ) { Console.Clear(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Words: "); Console.ForegroundColor = ConsoleColor.White; for (int i = 0; i < words.Length; i += 2) { if (i == words.Length - 2) { Console.Write(words[i]); break; } else Console.Write(words[i] + " -- "); } Console.WriteLine(); Console.WriteLine(); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("You can pick out a word or press q to quit: "); input = Console.ReadLine(); if (input == "q" || input == "Q" || input == "quit") { Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("Thank you for coming. We hope to see you again. Bye"); break; } isFound = false; Console.ForegroundColor = ConsoleColor.Green; for (int i = 0; i < words.Length; i += 2) { if (input == words[i]) { isFound = true; Console.WriteLine(words[i] + " Means " + words[i + 1]); break; } } if (!isFound) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Not Found!"); } Console.ReadLine(); } } }
روش انجام این مثال تا حد زیادی با روش قبل مشابه است. در اینجا از (; ; ) for بهعنوان حلقهی بینهایت استفاده کردهایم. همچنین از دستور Console.ForegroundColor برای رنگ متون بهره بردهایم. تفاوت اصلی که مد نظر ما بود نحوه دیگر ایجاد آرایه و مقدار دهی بهآن بود که در این مثال بهکار بردیم.
در مثال بعدی قصد داریم درفترچه تلفن ساده و کوچکی بسازیم:
using System; class Example { static void Main() { string[] names = new string[10]; long[] numbers = new long[10]; int counter = 0; string[] menu = { "#### Simple Phonebook ####", "", "1. Add Contact", "2. Search Contact", "3. List All Contact", "4. Exit", "--------------------------" }; while (true) { Console.Clear(); for (int i = 0; i < menu.Length; i++) { Console.WriteLine(menu[i]); } Console.Write("Pick out a number between 1 and 4: "); string userChoice = Console.ReadLine(); switch (userChoice) { case "1": Console.Write("Enter Name: "); string name = Console.ReadLine(); Console.Write("Enter Number: "); long number = Convert.ToInt64(Console.ReadLine()); names[counter] = name; numbers[counter] = number; counter++; Console.WriteLine("Your Contact added succesfully."); break; case "2": Console.Write("Enter you contact name: "); string nameForSearch = Console.ReadLine(); for (int i = 0; i < counter; i++) { if (nameForSearch == names[i]) { Console.WriteLine("Name: {0} - Number: {1}", names[i], numbers[i]); break; } } break; case "3": for (int i = 0; i < counter; i++) { Console.WriteLine("Name: {0} - Telephone: {1}", names[i], numbers[i]); } break; case "4": Environment.Exit(0); break; default: Console.WriteLine("Invalid Choise"); break; } Console.ReadLine(); } } }
در این مثال از طریق دستور switch، حلقهها و آرایه، دفترچه تلفنی ساده را برنامهنویسی کردیم. در اینجا منوی برنامه را درون یک آرایه قرار دادهایم و از طریق حلقهی for آن را به نمایش گذاشتهایم. درون حلقهی بینهایت از طریق دستور switch گزینهای را که کاربر انتخاب کرده، گرفته شده و عملیات مربوط به هر مورد انجام میشود. دستور (Environment.Exit(0 موجب میشود برنامه شما در همانجا به پایان برسد.
مثالها و تمرینهایی که در این قسمت انجام شد فوقالعاده از اهمیت زیادی برای یادگیری سیشارپ برخوردار هستند. همچنین برای دنبال کردن ادامهی مقالات زنگ سیشارپ نیاز است تا این مثالها را بسیار تمرین کرده، درک کنید و بر آنها مسلط شوید. پس خوب مطالب را برای خودتان تجزیه و تحلیل کنید و در صورت نامفهموم بودن هر مثال، سوالهای خود را در قسمت نظرات بیان کنید تا در اسرع وقت توضیحات تکمیلی و راهنمایی برای فهم و درک بهتر مطالب به شما عزیزان داده شود.
تمرین
تمرین شماره 12: برنامهی دفترچه تلفنی بنویسید که قابلیت اضافه کردن مخاطب جدید، جستجو بر اساس نام و شماره تلفن، ویرایش مخاطبان ذخیره شده و پاک کردن را داشته باشد.
مهدی
9 December 2012
دستتون درد نکنه آقای درویشان واقا عالی بود.من این ترم این درس رو دارم وخوشبختانه همه مطالبی رو که تو سرفصل ما بوده رو شما آموزش دادید واسه همین من هرهفته منتظر میمونم تا یه فصل جدید رو شروع کنید.آیا در مورد آرایه های دو بعدی هم آموزش میزارید؟
راستی با این حد از آموزشها میشه یک پروژه کاربردی نوشت.
none
10 December 2012
سلام. با تشکر از آموزش ها که واقعا خیلی عالیه.
یه سوال؟
اگه کسی روش استفاده از یه زبان رو بلد باشه ولی نتونه یه برنامه بنویسه یعنی طراحیش ضعیف باشه باید چیکار کنه؟ الگوریتم نویسی باید بخونه؟
مسعود درویشیان
13 December 2012
سلام. علاوه بر اینکه باید الگوریتم و فلوچارت رو بلد باشید باید خیلی تمرین کنید تا کاملاً به موضوع مسلط بشید. خودتون رو با مسائل مختلف درگیر کنید و سعی کنید واسه هر موضوع برنامه بنویسید.
mmr
11 December 2012
سلام
مهندس جان شما در تمرین 10 یک مستطیل تو پر رسم کردید
اما من نتوانستم با حلقه ها یک مستطیل شبیه شکل زیر رسم کنم می شود کمکم کنید
*******
* *
* *
* *
* *
*******
mmr
11 December 2012
سلام
شکل خوب رسم نشد
اشکال قسمت دوم زیر سطر دوم است
مسعود درویشیان
13 December 2012
متوجه نشدم چه شکلی مد نظرتون هست.
رامتین
11 December 2012
من این قسمت مقادیر بولین رو متوجه نشدم !
منظور از isfound! چیه ؟
داوود
12 December 2012
سلام؛ ببین رامتین جان؛ جهت درک بهتر یک توضیح کوچولو میدم، امیدوارم متوجه بشید.
شما در اینجا دو حالت بیشتر ندارید.
1- کلمه ای که ترجمه ش هست.
2- و یا کلمه ای ترجمه ش نیست.
در حالت اول چون ترجمه ش پیدا شده پس عبارت منطقی ما که ابتدا false بوده، تغییر حالت میده و true میشه! دقت کنید که در این زمان معادل این عبارت isfound! برابر با false است و خب طبیعتا خط بعدش اجرا نمیشه؛ چرا؟ چون مشاهده می کنید که جواب ما در این لحظه false است و طبیعتاً اینجور مواقع وارد دستورات داخلی نمیشه.
در حالت دوم کاربر کلمه ای رو وارد میکنه که ترجمه ش نیست.
خب در این حالت و پس از طی مراحل فوق برنامه میرسه به خط 57 و قبل از عبارت isfound! بدون اینکه مقدار isfound رو به true تبدیل کنه؛ چون وارد عبارت شرطی if واقع در خط 38 نشده.
خب حالا در اینجا نتیجه isfound! چی میشه؟ مسلما true میشه دیگه. میدونید که ! قبل از isfound به معنی مخالف بودن عبارت جلوش میشه.
خب حالا وارد این دستور میشه و پیغام عدم پیدا شدن رو میده.
امیدوارم خوب توضیح داده باشم.
داوود
25 December 2012
با سلام؛
برای حل این تمرین میشه بگید برای پاک کردن از چه منطقی استفاده کنیم؟
یعنی همون خونه از آرایه رو پاک کنیم؟
خب اونوقت مقدارش Null یا تهی میشه، اشکال نداره؟
مسعود درویشیان
25 December 2012
هدف ما هم همینه که اون خونه null یا تهی بشه…
سارا
10 January 2013
سلام
تو برنامه سوم توی این دستور :
for (i=0 ; i<words.length ; i++) ; p
نباید به جای word.length ، عدد 4 باشه ؟؟
مسعود درویشیان
11 January 2013
بله ۴ هم میشه
words.length مشخص کنندهی طول آرایهی words هست که طول این آرایه برابر با ۴ هست. پس هرکدوم رو بنویسید فرقی نمیکنه.
سارا
11 January 2013
درسته الان متوجه شدم که منظور از word.length دقیقاً چیه.
خیلی خیلی ممنون :)
فیروزه
9 April 2013
مسعود درویشیان
9 April 2013
مرسی خوبه :)
mohammad sadegh
21 April 2013
سلام-منظورم ازبرنامه سینوس x این هست
-برنامه ای بنویسید که مقداره sin x را با استفاده از مجموع زیر محاسبه کند و نمایش دهد(مقداره x از کاربر دریافت شود)
sin x = x – x3/6 + x5/120 تا اخر ادامه دارد
x3 :منظورم ایکس به توان 3
ممنون میشم اگه کمکم کنید.
مسعود درویشیان
21 April 2013
ار تابع ()Math.Sin واسه سینوس و ()Math.Pow واسه توان استفاده کنین
pouya
6 June 2013
دوست عزیز اول تشکر میکنم بابت این آموزش هایی که میزاری. یه سوال هم داشتم .
چرا تو مثال دفترچه تلفن وقتی از آخرین دستور Console.ReadLine(); استفاده نکنی اصلا مقادیر تو آرایه ذخیره نمیشه؟
مسعود درویشیان
6 June 2013
اگه توجه کنی همه این اتفاقات توی یه حلقه (while(true میافته که اولش هم متد ()Console.Clear رو داریم. وقتی یه مخاطب رو اضافه میکنی توی آرایه ذخیره میشه و وقتی گزینهی ۳ رو انتخاب میکنی تا لیست مخاطبات رو ببینی، اگه از ()Console.ReadLine استفاده نکنی برنامه بهسرعت لیست مخاطب رو نشونت میده و بعدش سریع برمیگرده اول حلقه و ()Console.Clear رو اجرا میکنه و شما در واقع چیزی نمیبینی. ما اون آخر از ()Console.ReadLine استفاده میکنیم تا برنامه منتظر Enter کاربر بشه بعد دوباره برگرده اول حلقه (تا بتونی نتایج رو ببینی)
pouya
6 June 2013
مرسی از راهماییت.
Mersad
6 August 2013
سلام
یه سوال داشتم
در مثال اول ( مثال روز های هفته ) چرا با اجرای دستور break موجود در اولین if، کلا از برنامه خارج میشه؟
منظورم اینکه که break در بلاک کد if قرار داره و با اجراش، باید از بلاک کد همون if خارج بشه و در while باقی بمونه، ولی اینجا کلا از بلاک کد While هم خارج میشه و چون بعدش کدی وجود نداره برنامه به پایان میرسه.
اگه میشه راهنماییم کنید.
مسعود درویشیان
6 August 2013
سلام. نکتهاش همینجاست. break اصلا کاری به if نداره! break باعث نمیشه از بلاک if خارج بشید. توی حلقه و switch هست که break باعث میشه از اون بلاک خارج بشید. پس وقتی از break استفاده میکنید باعث میشه از اولین حلقهای که داخلش هستید خارج بشید.
میلاد
31 December 2013
باتشکر از مقالات خیلی خوبتون خدا خیرتون بده ما کلاسم رفتیم چیزی یاد نگرفتیم مقالهاتون عالیه فقط کاشpdfهارو یکجا قرارمیدادین که کامل بخونیم حالا حجمش بالا هم باشه مهم نیست باتشکر از زحماتتون
میلاد غریبه:)
علی
24 May 2014
سلام
باتشکر از آموزهای عالیتون
یه سوال:
توی حلقه ی for
( if (i == words.Length – 2
این چه معنیی میده؟ کاربردش چیه؟
مسعود درویشیان
25 May 2014
Lenght یه property هست که طول words رو توی خودش نگه میداره.
علی
26 May 2014
بله اونو میدونم…
منظورم شرط if بود که استفاده کردین،
اینشرط هست…دلیل استفادشو نمیفهمم
ممنون از وقتی که میذارید
mohsen
24 July 2014
با سلام و درود
ببخشید یه سوال اگه ما 100 نفرو اد کرده باشیم و در قسمت جستجو دنبال یکی باشیم و اون نفر 2 باشه برنامه اونو اسه ما پیدا می کنه ولی باز ادامه می ده تا 100 تارو در حلقه فور ازمایش کنه باید چی کرد؟؟
مسعود درویشیان
24 July 2014
وقتی پیداش کردید باید از حلقه break کنید.
esysss
20 August 2014
حدود 5 ساعت نوشتنش طول کشید
کارم درسته
/*******************************
* esysss *
******************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication15
{
class Program
{
static void Main(string[] args)
{
string[] names = new string[1000];
long[] numbers = new long[1000];
int count = 0;
bool dare = false;
int save=10;
esysss:
{
while (true)
{
Console.Clear();
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine(“#### wellcome to this phonebook ####\n\n1- add a new contact\n2- search\n3- edit contacts\n4- delete contact\n5- show all contacts\n—————————–“);
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine(“please choose a number or for exit press q”);
Console.Write(“enter it : “);
string input = Console.ReadLine();
if (input == “q” || input == “Q”)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine(“thanks for using\twe see you soon\nbye bye”);
Console.ReadLine();
Environment.Exit(0);
}
else if (input == “1”)
{
Console.ForegroundColor = ConsoleColor.DarkYellow;
Console.Write(“enter name : “);
names[count] = Console.ReadLine();
Console.Write(“enter number :”);
numbers[count] = Int64.Parse(Console.ReadLine());
Console.WriteLine(“add success!!!!!!!!\nkiss me”);
Console.ReadLine();
count++;
goto esysss;
}
else if (input == “2”)
{
search :
Console.ForegroundColor = ConsoleColor.Blue;
Console.WriteLine(“1- search by name \t2-search by number”);
Console.Write(“enter the number : “);
string a = Console.ReadLine();
if (a == “1”)
{
Console.Write(“enter name : “);
string name = Console.ReadLine();
for (int i = 0; i < count; i++)
{
if (name == names[i])
{
Console.ForegroundColor = ConsoleColor.Gray;
Console.WriteLine("here we gooo\nwe found it\n\nname : " + names[i] + " ——— number : " + numbers[i]);
Console.ReadLine();
dare = true;
}
}
if (dare == false)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("sorry\t your name is not here !!!");
Console.ReadLine();
goto esysss;
}
}
else if (a == "2")
{
Console.Write("enter the number phone : ");
string number = Console.ReadLine();
for (int i = 0; i < count; i++)
{
if (number == numbers[i].ToString())
{
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("here we gooo\nwe found it\n\nname : " + names[i] + " ——— number : " + numbers[i]);
Console.ReadLine();
dare = true;
}
}
if (dare == false)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("sorry\t your number phone is not here");
Console.ReadLine();
}
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("please try again with real number");
Console.ReadLine();
goto search;
}
}
else if (input == "3")
{
edit :
Console.ForegroundColor = ConsoleColor.Gray;
Console.WriteLine("1-edit name\t2-edit number");
string s = Console.ReadLine();
if (s == "1")
{
Console.Write("enter the last name : ");
string nname = Console.ReadLine();
for (int i = 0; i < count; i++)
{
if (nname == names[i])
{
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("name is :"+names[i]+" —–number is : "+numbers[i]);
save = i;
}
}
Console.ForegroundColor = ConsoleColor.DarkYellow;
Console.Write("enter the new name : ");
names[save] = Console.ReadLine();
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("edit done!!!!!!");
Console.ReadLine();
goto esysss;
}
if (s == "2")
{
Console.ForegroundColor = ConsoleColor.White;
Console.Write("enter your last number to edit :");
string w = Console.ReadLine();
for (int i = 0; i < count; i++)
{
if (w == numbers[i].ToString())
{
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("name : " + names[i] + "……….. number : " + numbers[i]);
Console.ReadLine();
save = i;
}
}
Console.ForegroundColor = ConsoleColor.White;
Console.Write("enter new number phone :");
numbers[save] = Int64.Parse(Console.ReadLine());
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("edit done!!!!!!!");
Console.ReadLine();
}
else
{
Console.WriteLine("sorry try again!!!!!");
Console.ReadLine();
goto edit;
}
}
else if (input == "4")
{
Console.ForegroundColor = ConsoleColor.White;
Console.Write("enter the name or number to delete : ");
string delete = Console.ReadLine();
for (int i = 0; i < count; i++)
{
if (delete == names[i])
{ Console.WriteLine("name is : " + names[i] + "———–number is : " + numbers[i]);
dare = true;
save = i;
}
else if (delete == numbers[i].ToString())
{ Console.WriteLine("name is : " + names[i] + "———–number is : " + numbers[i]);
dare = true;
save = i;
}
}
if (dare == true)
{
for (int i = save; i < count; i++)
{
numbers[i] = numbers[i + 1];
names[i] = names[i + 1];
}
count–;
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("delete done!!!!!!!!");
Console.ReadLine();
}
else
{
Console.WriteLine("delete faile !!!!!!!!!");
Console.ReadLine();
}
}
else if (input == "5")
{
for (int i = 0; i < count; i++)
{
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("name : " + names[i] + "———– number : " + numbers[i]);
}
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("end!!!!!!!!");
Console.ReadLine();
}
else
{
Console.ForegroundColor = ConsoleColor.DarkRed;
Console.WriteLine("sorry\ntry again ##########");
Console.ReadLine();
}
}
}
}
}
}
محبوب
9 March 2015
سلام خسته نباشید
من یه سوال خیلی مهم دارم-اگه میشه فقط جوابشو زود برام میل کنید
ممنون دوست خوبم
من با سی شارپ می خوام برنامه ای نوشتم که یک فایل تکست رو باز میکنه و تعداد کاراکتر و کلمات اون رو نمایش میدهد.
الان از شما می خوام دستوری بهم بدید که من بتونم کاراکترهای حروف بزرگ رو در یک آرایه و حروف کوچک رو در یک آرایه سیو کنم.تا بتونم عملیاتی روش انجام بدم.
خیلی ممنون میشم
jigooli
21 December 2015
سلام خسته نباشید
من دارم برنامه ماشین حساب مهندسی رو در کنسول
سی شارپ میزنم امافقط موفق به انجام چهار عمل اصلی شدم
امکانش هست دستور sin ,cos ,tan,cot, m+ رو برام بزارید؟؟
بهنام
20 February 2018
سلام جناب درویشیان وقتتون بخیر
من مثال اول قسمت 18 را در حال انجام دادن بودم که متوجه شدم متد input را ویژوال استدیو سیستمم نداره و زمانی که می خوام بنویسیم با فشردن دکمه ی q از برنامه خارج بشه ،ارور میده.
مشکل از کجاست؟
ممنون
پوریا
4 April 2018
سپاس ، عاشقتم مهندس