- Регистрация
- 20.02.2022
- Сообщения
- 648
- Благодарностей
- 170
- Баллы
- 43
Ниже код который очень хорошо подходит для моей задачи, но он запускается с ошибкой помогите исправить пожалуйста
В чем вообще задача:
В списке (это будет переменная) хранится Tuple.Create("14:00", 2, 4) время часы количество техники задействовано, скрипту по входным параметрам нужно определить можно ли в указанный период арендовать технику
ну условно:
общее количество техники 3
в 11:00 по 12:00 занято техники 2
в 12:00 по 13:00 занято техники 1
Новое оформление: 11:00 по 13:00 если 1 то да мы сможем предоставить, если 2 то нет так как в период 11 по 12 занято 2 а общее 3 ну и соответственно все в таком духе
В переменной Tuple.Create может быть много времени и тд
Код сгенерировал GPT-3 в конце полный код который он мне отправил
Ошибки которые возникают:
Компиляция кода Ошибка в действии "CS0161" "'C257ccc58046b48eabe7162f4863b54eb.M257ccc58046b48eabe7162f4863b54eb(IZennoPosterProjectModel, Instance)': not all code paths return a value". [Строка: 0; Cтолбец: 15]
Компиляция кода Ошибка в действии "CS0029" "Cannot implicitly convert type 'string' to 'bool'". [Строка: 32; Cтолбец: 8]
В чем вообще задача:
В списке (это будет переменная) хранится Tuple.Create("14:00", 2, 4) время часы количество техники задействовано, скрипту по входным параметрам нужно определить можно ли в указанный период арендовать технику
ну условно:
общее количество техники 3
в 11:00 по 12:00 занято техники 2
в 12:00 по 13:00 занято техники 1
Новое оформление: 11:00 по 13:00 если 1 то да мы сможем предоставить, если 2 то нет так как в период 11 по 12 занято 2 а общее 3 ну и соответственно все в таком духе
В переменной Tuple.Create может быть много времени и тд
Код сгенерировал GPT-3 в конце полный код который он мне отправил
Ошибки которые возникают:
Компиляция кода Ошибка в действии "CS0161" "'C257ccc58046b48eabe7162f4863b54eb.M257ccc58046b48eabe7162f4863b54eb(IZennoPosterProjectModel, Instance)': not all code paths return a value". [Строка: 0; Cтолбец: 15]
Компиляция кода Ошибка в действии "CS0029" "Cannot implicitly convert type 'string' to 'bool'". [Строка: 32; Cтолбец: 8]
C#:
List<Tuple<string, int, int>> busyTimes = new List<Tuple<string, int, int>>
{
Tuple.Create("14:00", 2, 4),
Tuple.Create("12:00", 3, 3)
};
int setTechniques = 5;
string dbProStartTime = "13:00";
int dbProNumberOfRentalHours = 2;
int dbProNumberOfVehicles = 3;
Console.WriteLine(IsTechniqueAvailable(busyTimes, setTechniques, dbProStartTime, dbProNumberOfRentalHours, dbProNumberOfVehicles));
}
static bool IsTechniqueAvailable(List<Tuple<string, int, int>> busyTimes, int setTechniques, string dbProStartTime, int dbProNumberOfRentalHours, int dbProNumberOfVehicles)
{
int startHour = int.Parse(dbProStartTime.Split(':')[0]);
int endHour = startHour + dbProNumberOfRentalHours;
int totalOccupied = 0;
foreach (var busyTime in busyTimes)
{
int busyStartHour = int.Parse(busyTime.Item1.Split(':')[0]);
int busyEndHour = busyStartHour + busyTime.Item2;
if ((busyStartHour >= startHour && busyStartHour < endHour) ||
(busyEndHour > startHour && busyEndHour <= endHour) ||
(startHour >= busyStartHour && endHour <= busyEndHour))
{
totalOccupied += busyTime.Item3;
}
}
return setTechniques - totalOccupied >= dbProNumberOfVehicles;
C#:
using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
List<Tuple<string, int, int>> busyTimes = new List<Tuple<string, int, int>>
{
Tuple.Create("14:00", 2, 4),
Tuple.Create("12:00", 3, 3)
};
int setTechniques = 5;
string dbProStartTime = "13:00";
int dbProNumberOfRentalHours = 2;
int dbProNumberOfVehicles = 3;
Console.WriteLine(IsTechniqueAvailable(busyTimes, setTechniques, dbProStartTime, dbProNumberOfRentalHours, dbProNumberOfVehicles));
}
static bool IsTechniqueAvailable(List<Tuple<string, int, int>> busyTimes, int setTechniques, string dbProStartTime, int dbProNumberOfRentalHours, int dbProNumberOfVehicles)
{
int startHour = int.Parse(dbProStartTime.Split(':')[0]);
int endHour = startHour + dbProNumberOfRentalHours;
int totalOccupied = 0;
foreach (var busyTime in busyTimes)
{
int busyStartHour = int.Parse(busyTime.Item1.Split(':')[0]);
int busyEndHour = busyStartHour + busyTime.Item2;
if ((busyStartHour >= startHour && busyStartHour < endHour) ||
(busyEndHour > startHour && busyEndHour <= endHour) ||
(startHour >= busyStartHour && endHour <= busyEndHour))
{
totalOccupied += busyTime.Item3;
}
}
return setTechniques - totalOccupied >= dbProNumberOfVehicles;
}
}