แสดงบทความที่มีป้ายกำกับ List แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ List แสดงบทความทั้งหมด

วันจันทร์ที่ 16 กุมภาพันธ์ พ.ศ. 2558

c# Grade Calculator (Using List Object)

ไม่มีความคิดเห็น:

//Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace GradeCalculatorUsingListObject
{
    class Program
    {
        static void Main(string[] args)
        {
            //add list Grade
            List ls = new List();
            ls.Add(new Grades(49f, "F"));
            ls.Add(new Grades(49.5f, "D"));
            ls.Add(new Grades(55f, "D+"));
            ls.Add(new Grades(60f, "C"));
            ls.Add(new Grades(65f, "P"));
            ls.Add(new Grades(70f, "B"));
            ls.Add(new Grades(75f, "B+"));
            ls.Add(new Grades(80f, "A"));

            //
            //float point = 49f;

            Console.WriteLine("49.5f : grade : " + CalGrade(49.5f, ls));
            Console.WriteLine("0 : grade : " + CalGrade(0, ls));
            Console.WriteLine("72 : grade : " + CalGrade(72, ls));
            Console.WriteLine("70 : grade : " + CalGrade(70, ls));
            Console.WriteLine("43 : grade : " + CalGrade(43, ls));
            Console.WriteLine("28 : grade : " + CalGrade(28, ls));
            Console.WriteLine("97 : grade : " + CalGrade(97, ls));
            Console.WriteLine("23 : grade : " + CalGrade(23, ls));
            Console.WriteLine("84 : grade : " + CalGrade(84, ls));
            Console.WriteLine("64 : grade : " + CalGrade(64, ls));
            Console.WriteLine("72 : grade : " + CalGrade(74, ls));


            Console.ReadLine();

        }

        public static string CalGrade(float point, List list)
        {
            //int[] arr = { 800, 11, 50, 771, 649, 770, 240, 9 };

            int current = 0;
            int next = 0;

            for (int write = 0; write < list.Count - 1; write++)
            {
                current = write;
                next = current + 1;

                //55 <= 56 <= 60
                if (list[current].score <= point && point <= list[next].score)
                {
                    if (list[current].score >= point)
                    {
                        return list[current].grade;
                    }
                    else if (list[next].score <= point)
                    {
                        return list[next].grade;
                    }
                    else if (list[next].score >= point)
                    {
                        return list[current].grade;
                    }
                }
                else if (list[current].score > point)
                {
                    return list[current].grade;
                }
                else if (list[current].score <= point && point >= list[next].score)
                {
                    if (current == (list.Count - 2))
                    {
                        return list[current + 1].grade;
                    }
                }

            }
            return null;
        }

        public class Grades
        {
            public float score { set; get; }
            public string grade { set; get; }
            public Grades(float score, string grade)
            {
                this.score = score;
                this.grade = grade;
            }
        }
    }
}

Read More