• 1404/11/29

آرایه های دو بعدی :

سلام استاد امیدوارم حالتون خوب باشه

من یک هفته ای میشه که دوره رو شروع کردم و به همین دلیل هنوز خیلی عقبم. واسه همین نگرانم در آینده مشکل ساز میشه یا نه؟

و در ادامه تمرین مربوط به جلسه 14 - آرایه های دو بعدی:


string[,] cars_info =            //ذخیره اسم راننده، نام ماشین و شماره پلاک ماشین
{
    {"Hossein" , "Tiba" , "78A123"} ,
    {"Ali" , "Pride" , "23F563"} ,
    {"Mobin" , "Lexus" , "12L345" }
};

Console.WriteLine(cars_info[2, 2]);

البته اولش نمی تونستم آرایه های دو بعدی رو درک کنم ولی بعدش یاد جدول های اکسل افتادم که اونجا به صورت A1 و B3 و ... آدرس میدادیم ولی اینجا به صورت [0,1] و ... آدرس میدیم و فهمیدم یه جورایی داریم یه جدول رو تعریف می کنیم اگه درست فکر کرده باشم.

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

و یدونه هم پروژه کوچولو درست کردم که اطالاعات 4 تا دانش آموز رو ذخیره کرده و شاخص توده بدنی اونها رو خساب میکنه:


string[,] student_info =            //ذخیره نام دانش آموز، قد و جرم او
{
    {"Hamed" , "1.79" , "75"},
    {"Ali" , "1.85" , "78"},
    {"Ahmad" , "1.73" , "91"},
    {"Tohid" , "1.82" , "57"},
};


Console.WriteLine("Please enter student name :");
string input = Console.ReadLine();

    switch(input)
    {
        case "Hamed" :
            {
                double height = Convert.ToDouble(student_info[0, 1]);
                double weight = Convert.ToDouble(student_info[0, 2]);
                double BMI = weight / (height * height);
                Console.WriteLine("Student's BMI is : " + BMI);
                break;
            }
        case "Ali":
            {
                double height = Convert.ToDouble(student_info[1, 1]);
                double weight = Convert.ToDouble(student_info[1, 2]);
                double BMI = weight / (height * height);
                Console.WriteLine("Student's BMI is : " + BMI);
                break;
            }
        case "Ahmad":
            {
                double height = Convert.ToDouble(student_info[2, 1]);
                double weight = Convert.ToDouble(student_info[2, 2]);
                double BMI = weight / (height * height);
                Console.WriteLine("Student's BMI is : " + BMI);
                break;
            }
        case "Tohid":
            {
                double height = Convert.ToDouble(student_info[3, 1]);
                double weight = Convert.ToDouble(student_info[3, 2]);
                double BMI = weight / (height * height);
                Console.WriteLine("Student's BMI is : " + BMI);
                break;
            }
        default:
            {
                Console.WriteLine("Student not found ...");
                break;
            }
    }

البته این پروژه رو صرفا واسه تمرین نوشتم وگرنه خیلی اضافه کاری داره. اگه تعداد دانش آموزا زیاد بود عملا switch دیگه به کارمون نمیومد. و اینکه مجبور شدم بار ها و بار ها متغیر قد و وزن رو تعریف کنم. بهتر بود خودش تشخیص بده و بره پیدا کنه مثل Lookup در اکسل ولی خب هنوز بلد نیستم.

و یه مشکلی که داشت این بود که اعداد اعشاری رو تا 15 رقم ادامه میداد که لازم نبود.

و یه سوال دیگه هم دارم. وقتی داشتین switch رو آموزش میدادی یه شرط تعریف کردید که جلوی ورودی خالی رو میگیره:

if(input == "")

من اینم امتحان کردم اگه کاربر یبار دکمه اسپیس رو تو کیبورد بزنه و بعد اینتر رو بزنه کد دوباره اجره میشه و یه جورایی این شرط رو دور میزنه. میشه جلوی این رو گرفت؟

ببخشید که زیاد سوال پرسیدم همینجوری فقط سواله که پشت سر هم میاد 😅

  • 1404/11/29
  • ساعت 13:50

سلام ، وقت بخیر 

دوره را ادامه بدید جواب همه سوالاتتون رو میگیرید 

نگران هیچ موردی هم نباشید 


logo-enamadlogo-samandehi