Консольная програмка. Получить расписание звонков на учебный день - C#

Узнай цену своей работы

Формулировка задачи:

В учебном заведении задается начало учебного дня, продолжительность «пары» или урока, продолжительность обычного и большого перерывов (и их «место» в расписании), количество пар (уроков). Получить расписание звонков на весь учебный день очень нужно, помогите

Решение задачи: «Консольная програмка. Получить расписание звонков на учебный день»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication1
{
    class Program
    {
        const int LESSONTIME = 80; //длинна урока
        const int BREAKTIME = 10; //длинна короткого перерыва
        const int LONGBREAKTIME = 30; //длинна длинного перерыва
        const int NUMBEROFLESSONS = 4; //колличество уроков
        const int LONGBREAK = 2; //указывает на то, который длинный перерыв по счету
        static void Main(string[] args)
        {
            DateTime time = new DateTime(2014, 4, 18, 8, 30, 0); //задаем время начала занятий
            List<DateTime> alarmArr = new List<DateTime>(); //cписок звонков
 
            for (int i = 1; i <= NUMBEROFLESSONS * 2; i++) //поскольку звонок дается в начале и в конце урока, то и звонков у нас будет в два раза больше чем уроков, потому NUMBEROFLESSONS*2
            {
                alarmArr.Add(time); //записываем время в массив
                if ((i%2) > 0) //учитывая тот факт, что первым всегда идет урок, а потом только перерыв, то все уроки будут НЕ четными, а перемены четными, так мы и определяем продолжительность времени через которую давать звонок
                {
                    time = time.AddMinutes(LESSONTIME); //собственно добавляем продолжительность урока
                }
                else
                {
                    if (alarmArr.Count == LONGBREAK * 2) //определяем, о каком виде перерыв идет реч
                    {
                         time = time.AddMinutes(LONGBREAKTIME); //длинном
                    } else //или
                    {
                        time = time.AddMinutes(BREAKTIME); //коротком
                    }
                }
            }
 
            foreach(var alarm in alarmArr) //распечатываем результат
            {
                System.Console.WriteLine(alarm.ToString());
            }
            System.Console.ReadKey();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5
Похожие ответы