Example #1
0
        //Create days
        public CoursesDetails CreateDays(string d)
        {
            CoursesDetails day = new CoursesDetails();

            day.SubjectDescription = d;
            day.Class     = "";
            day.Lecturer  = "";
            day.GroupCode = -1;

            return(day);
        }
Example #2
0
        //Fill day with empty hours
        public void FillDay(Day l, TimeSpan et)
        {
            var lastClass = new TimeSpan(23, 0, 0);

            if (et < lastClass)
            {
                CoursesDetails blankLess = CreateDays("");
                blankLess.NumConLessons = (int)(new TimeSpan(23, 0, 0).TotalHours - et.TotalHours);
                blankLess.GroupCode     = -1;
                l.Add(blankLess);
            }
        }
Example #3
0
        static void Main(string[] args)
        {
            int    totalCreditHours = 0;
            double totalPoints = 0, gpa = 0;

            Console.WriteLine("  ***ABASYN UNIVERSITY ISLAMABAD CAMPUS***\n\n");
            Console.WriteLine("***GPA Calculation Program by Sohaib Javed***\n\n");

            Console.Write("Please Enter Number of Courses :");
            byte courses = byte.Parse(Console.ReadLine());

            CoursesDetails[] student = new CoursesDetails[courses];
            Console.WriteLine("\nEnter your details\n");
            for (int i = 0; i < courses; i++)
            {
                Console.Write("{0}: Enter Course Name :", (i + 1));
                student[i].name = Console.ReadLine();
                Console.Write("Enter Credit hours of {0} :", student[i].name);
                student[i].credits = int.Parse(Console.ReadLine());
                Console.Write("Enter Grade of {0} :", student[i].name);
                student[i].grade  = Console.ReadLine();
                totalCreditHours += student[i].credits;
                switch (student[i].grade)
                {
                case "a":
                case "A":
                    student[i].gpa = 4.0 * student[i].credits;
                    break;

                case "a-":
                case "A-":
                    student[i].gpa = 3.67 * student[i].credits;
                    break;

                case "b+":
                case "B+":
                    student[i].gpa = 3.33 * student[i].credits;
                    break;

                case "b":
                case "B":
                    student[i].gpa = 3.00 * student[i].credits;
                    break;

                case "b-":
                case "B-":
                    student[i].gpa = 2.67 * student[i].credits;
                    break;

                case "c+":
                case "C+":
                    student[i].gpa = 2.33 * student[i].credits;
                    break;

                case "c":
                case "C":
                    student[i].gpa = 2.00 * student[i].credits;
                    break;

                case "c-":
                case "C-":
                    student[i].gpa = 1.37 * student[i].credits;
                    break;

                case "d+":
                case "D+":
                    student[i].gpa = 1.33 * student[i].credits;
                    break;

                case "d":
                case "D":
                    student[i].gpa = 1.00 * student[i].credits;
                    break;

                case "f":
                case "F":
                    student[i].gpa = 0.00 * student[i].credits;
                    break;

                case "i":
                case "I":
                    student[i].gpa = 0.00 * student[i].credits;
                    break;

                default:
                    break;
                }
                totalPoints += student[i].gpa;
                Console.WriteLine("\n");
            }
            gpa = totalPoints / totalCreditHours;
            Console.WriteLine("\n\nYour GPA is {0}", gpa);
        }
Example #4
0
 //Add course to list of courses
 public void Add(CoursesDetails c)
 {
     Courses.Add(c);
 }
Example #5
0
        //Create full timeTable including empty hours from 8:00 to 23:00
        public List <TimeTable> MakeTimeTable(List <TimeTable> timeTables)
        {
            List <TimeTable> AllTimeTables = new List <TimeTable>();

            for (int i = 0; i < timeTables.Count(); i++)
            {
                //List<List<SummerSemester>> tTable = new List<List<SummerSemester>>();
                TimeTable tTable = new TimeTable();
                Day       daya   = new Day();
                Day       dayb   = new Day();
                Day       dayc   = new Day();
                Day       dayd   = new Day();
                Day       daye   = new Day();
                Day       dayf   = new Day();

                daya.Courses.Add(CreateDays("יום ראשון"));
                dayb.Courses.Add(CreateDays("יום שני"));
                dayc.Courses.Add(CreateDays("יום שלישי"));
                dayd.Courses.Add(CreateDays("יום רביעי"));
                daye.Courses.Add(CreateDays("יום חמישי"));
                dayf.Courses.Add(CreateDays("יום שישי"));

                var sTimea = new TimeSpan(8, 0, 0);
                var sTimeb = new TimeSpan(8, 0, 0);
                var sTimec = new TimeSpan(8, 0, 0);
                var sTimed = new TimeSpan(8, 0, 0);
                var sTimee = new TimeSpan(8, 0, 0);
                var sTimef = new TimeSpan(8, 0, 0);

                bool first = true;
                int  sumStart = 0, sumEnd = 0;
                int  countStart = 0, countEnd = 0;
                foreach (var c in timeTables[i].Sunday.Courses)
                {
                    //Average of start and end hours
                    if (timeTables[i].Sunday.Courses.Last() == c)
                    {
                        sumEnd += (int)c.EndHour.Value.Hours;
                        countEnd++;
                    }
                    if (first)
                    {
                        sumStart += (int)c.StartHour.Value.Hours;
                        countStart++;
                        first = false;
                    }

                    if (c.StartHour > sTimea)
                    {
                        CoursesDetails blankLess = CreateDays("");
                        blankLess.NumConLessons = (int)(((TimeSpan)(c.StartHour)).TotalHours - sTimea.TotalHours);
                        daya.Courses.Add(blankLess);
                        sTimea = (TimeSpan)(c.EndHour + new TimeSpan(0, 10, 0));
                    }
                    daya.Courses.Add(c);
                    sTimea = (TimeSpan)(c.EndHour + new TimeSpan(0, 10, 0));
                }
                first = true;
                foreach (var c in timeTables[i].Monday.Courses)
                {
                    if (timeTables[i].Monday.Courses.Last() == c)
                    {
                        sumEnd += (int)c.EndHour.Value.Hours;
                        countEnd++;
                    }
                    if (first)
                    {
                        sumStart += (int)c.StartHour.Value.Hours;
                        countStart++;
                        first = false;
                    }
                    if (c.StartHour > sTimeb)
                    {
                        CoursesDetails blankLess = CreateDays("");
                        blankLess.NumConLessons = (int)(((TimeSpan)(c.StartHour)).TotalHours - sTimeb.TotalHours);
                        dayb.Courses.Add(blankLess);
                        sTimeb = (TimeSpan)(c.EndHour + new TimeSpan(0, 10, 0));
                    }
                    dayb.Courses.Add(c);
                    sTimeb = (TimeSpan)(c.EndHour + new TimeSpan(0, 10, 0));
                }
                first = true;
                foreach (var c in timeTables[i].Tuesday.Courses)
                {
                    if (timeTables[i].Tuesday.Courses.Last() == c)
                    {
                        sumEnd += (int)c.EndHour.Value.Hours;
                        countEnd++;
                    }
                    if (first)
                    {
                        sumStart += (int)c.StartHour.Value.Hours;
                        countStart++;
                        first = false;
                    }
                    if (c.StartHour > sTimec)
                    {
                        CoursesDetails blankLess = CreateDays("");
                        blankLess.NumConLessons = (int)(((TimeSpan)(c.StartHour)).TotalHours - sTimec.TotalHours);
                        dayc.Courses.Add(blankLess);
                        sTimec = (TimeSpan)(c.EndHour + new TimeSpan(0, 10, 0));
                    }
                    dayc.Courses.Add(c);
                    sTimec = (TimeSpan)(c.EndHour + new TimeSpan(0, 10, 0));
                }
                first = true;
                foreach (var c in timeTables[i].Wednesday.Courses)
                {
                    if (timeTables[i].Wednesday.Courses.Last() == c)
                    {
                        sumEnd += (int)c.EndHour.Value.Hours;
                        countEnd++;
                    }
                    if (first)
                    {
                        sumStart += (int)c.StartHour.Value.Hours;
                        countStart++;
                        first = false;
                    }
                    if (c.StartHour > sTimed)
                    {
                        CoursesDetails blankLess = CreateDays("");
                        blankLess.NumConLessons = (int)(((TimeSpan)(c.StartHour)).TotalHours - sTimed.TotalHours);
                        dayd.Courses.Add(blankLess);
                        sTimed = (TimeSpan)(c.EndHour + new TimeSpan(0, 10, 0));
                    }
                    dayd.Courses.Add(c);
                    sTimed = (TimeSpan)(c.EndHour + new TimeSpan(0, 10, 0));
                }
                first = true;
                foreach (var c in timeTables[i].Thursday.Courses)
                {
                    if (timeTables[i].Thursday.Courses.Last() == c)
                    {
                        sumEnd += (int)c.EndHour.Value.Hours;
                        countEnd++;
                    }
                    if (first)
                    {
                        sumStart += (int)c.StartHour.Value.Hours;
                        countStart++;
                        first = false;
                    }
                    if (c.StartHour > sTimee)
                    {
                        CoursesDetails blankLess = CreateDays("");
                        blankLess.NumConLessons = (int)(((TimeSpan)(c.StartHour)).TotalHours - sTimee.TotalHours);
                        daye.Courses.Add(blankLess);
                        sTimee = (TimeSpan)(c.EndHour + new TimeSpan(0, 10, 0));
                    }
                    daye.Courses.Add(c);
                    sTimee = (TimeSpan)(c.EndHour + +new TimeSpan(0, 10, 0));
                }
                first = true;
                foreach (var c in timeTables[i].Friday.Courses)
                {
                    if (timeTables[i].Friday.Courses.Last() == c)
                    {
                        sumEnd += (int)c.EndHour.Value.Hours;
                        countEnd++;
                    }
                    if (first)
                    {
                        sumStart += (int)c.StartHour.Value.Hours;
                        countStart++;
                        first = false;
                    }
                    if (c.StartHour > sTimef)
                    {
                        CoursesDetails blankLess = CreateDays("");
                        blankLess.NumConLessons = (int)(((TimeSpan)(c.StartHour)).TotalHours - sTimef.TotalHours);
                        dayf.Courses.Add(blankLess);
                        sTimef = (TimeSpan)(c.EndHour + new TimeSpan(0, 10, 0));
                    }
                    dayf.Courses.Add(c);
                    sTimef = (TimeSpan)(c.EndHour + new TimeSpan(0, 10, 0));
                }
                tTable.StartHourAvg = sumStart / countStart;
                tTable.EndHourAvg   = sumEnd / countEnd;

                FillDay(daya, sTimea);
                FillDay(dayb, sTimeb);
                FillDay(dayc, sTimec);
                FillDay(dayd, sTimed);
                FillDay(daye, sTimee);
                FillDay(dayf, sTimef);

                tTable.Sunday    = daya;
                tTable.Monday    = dayb;
                tTable.Tuesday   = dayc;
                tTable.Wednesday = dayd;
                tTable.Thursday  = daye;
                tTable.Friday    = dayf;

                AllTimeTables.Add(tTable);
            }
            return(AllTimeTables);
        }