Стоимость проезда на автобусе C# [закрыто]C#

Место общения программистов C#
Ответить
Anonymous
 Стоимость проезда на автобусе C# [закрыто]

Сообщение Anonymous »

как должен выглядеть вывод bustop - это ввод пользователя
вопрос
мне нужна помощь в файле program.cs, так как я не могу выполнить ту часть, где программа читает файл расстояния, соответствующего цене в CSV-файле, и получите цену:
[QUESTION]
Приложение FareCalculation (расширенное)
< старый
[*]Создайте новый проект консольного приложения Snnnnnnnn_FareCalculatorApp в Visual Studio (где Snnnnnnnn — номер вашего студента).

[*]Реализовать классы, показанные ниже. Не забудьте включить конструкторы!


Класс BusStop
BusStop
-distance:double
-code:string
-road:string
-description:string
+ToString():string
Класс тарифа
Fare
-upToDistance:double
-amount:int
+ToString():string
Как и в практическом занятии 2, расчет тарифа на основе расстояния доступен в Предоставлен файл «distance-based-fare.csv».
На основе сведений о маршруте автобуса 174, доступных в предоставленном файле «bus_174.csv», напишите объектно-ориентированный файл программа для сделать следующее:
  • отображает детали маршрута,
  • предлагает пользователю войти на остановку посадки и высадки автобуса ,
  • рассчитать и отобразить пройденное расстояние и соответствующий тариф.
Вы можете использовать соответствующие общие классы сбора для сохраните данные об остановке и тарифах. Обоснование выбора универсальных классов коллекций должно быть записано в виде комментариев в вашей программе.
---------------------- -------------------------------------------------- -------------------------------------------------- ----

Код: Выделить всё

using busfarefolder

// File path for the CSV file
string filePath = "bus_174.csv";
string[] distance_fare = File.ReadAllLines("distance-based-fare.csv");

// Check if the file exists
if (File.Exists(filePath))
{
string[] busDetails = File.ReadAllLines(filePath);

// Check if there are any lines in the file
if (busDetails.Length > 0)
{
string[] header = busDetails[0].Split(',');
Console.WriteLine("{0,-15} {1,-15} {2,-25} {3,-20}", header[0], header[1], header[2], header[3]);

// Process each bus stop entry starting from index 1 to skip header
for (int i = 1; i < busDetails.Length; i++)
{
string[] data = busDetails[i].Split(',');

// Store the data into variables
double distance = double.Parse(data[0]);
string code = data[1];
string road = data[2];
string description = data[3];

// Create a new BusStop object
BusStop busStop = new BusStop(distance, code, road, description);

// Print the bus stop details
Console.WriteLine("{0,-15} {1,-15} {2,-25} {3,-20}", busStop.Distance, busStop.Code, busStop.Road, busStop.Description);
}
}
else
{
Console.WriteLine("No data found in the file.");
}
}
else
{
Console.WriteLine("File not found: " + filePath);
}

Console.WriteLine("Enter boarding bus stop 42159: ");
string boardingBustop = Console.ReadLine();

Console.WriteLine("Enter alighting bus stop 10499: ");
string alightingBustop = Console.ReadLine();

// Initialize variables to hold distances for boarding and alighting stops
double boardingDistance = -1;
double alightingDistance = -1;

// Find the distances for boarding and alighting stops by iterating over bus_174.csv lines
for (int i = 1; i < filePath.Length; i++)
{
string[] columns = filePath.Split(',');
if (columns[1].Trim() == boardingBustop)
{
boardingDistance = double.Parse(columns[0]);
}
if (columns[1].Trim() == alightingBustop)
{
alightingDistance = double.Parse(columns[0]);
}
}

double distanceTraveled = alightingDistance - boardingDistance;
Console.WriteLine("distance: ");
Console.WriteLine(distanceTraveled.ToString());



Подробнее здесь: https://stackoverflow.com/questions/791 ... tance-fare
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»