Loading...
Iliyan_ts avatar Iliyan_ts 5 Точки

[Homework] C# Fundamentals - Objects and Classes - Problem{6} - Vehicle Catalogue

Здравейте, на въпросната задачка ми дава само 33/100, въпреки че тествах кода по техните условия, вече не сещам за нищо...Моля някой да ми посочи грешката а не да ми показва примерно решение.Благодаря предварително.

 

код - https://pastebin.com/6TYAMutM

условие - https://judge.softuni.bg/Contests/Compete/Index/1215#5

Тагове:
0
Fundamentals Module
VasilKostov avatar VasilKostov 135 Точки
Best Answer

Привет, току-що попrавих кода, на другият колга - погледни го там, проблема ви е, при отпечатването - трябва да отпечатате резултатите и за двата вида превозни средства, дори и единят вид да липсва, в катъв случай - опречатваш 0.00, за averageHP.

Линк: тук

0
10/11/2018 13:55:59
VasilKostov avatar VasilKostov 135 Точки

А в твоят код, специално, проблема е когато принтираш 0.00 averageHP - трябва да е {0:F2}, а не {0.00}, защото това излиа на конзолата като "0."

0
Yovor37 avatar Yovor37 1 Точки

Здравейте, започнах да решавам задачата по този начин и се забърках, ,моля да ми кажете къде бъркам

 

using System;
using System.Collections.Generic;
using System.Linq;

namespace _06._Vehicle_Catalogue
{
    class Program
    {
        static void Main(string[] args)
        {
            var catalog = new Catalog();
            while (true)
            {
                string command = Console.ReadLine();
                if (command == "End")
                {
                    break;
                }

                string[] tokens = command.Split();

                string type = tokens[0];
                string model = tokens[1];
                string color = tokens[2];
                int horsePower = int.Parse(tokens[3]);

                if (type == "car")
                {
                    var car = new Car(model, color, horsePower);
                    catalog.Cars.Add(car);

                }
                else if (type == "truck")
                {
                    var truck = new Truck(model, color, horsePower);
                    catalog.Trucks.Add(truck);

                }


            }
            while (true)
            {
                string command = Console.ReadLine();

                if (command == "Close the Catalogue")
                {
                    break;
                }

                var car = catalog.Cars.Find(x => x.Model == command);
                var truck = catalog.Trucks.Find(x => x.Model == command);

                Console.WriteLine(car);
                Console.WriteLine(truck);

            }
            var carsHp = catalog.Cars.Average(x => x.HorsePower);
            var trucksHp = catalog.Trucks.Average(x => x.HorsePower);

            Console.WriteLine($"Cars have average horsepower of: {carsHp:f2}.");
            Console.WriteLine($"Trucks have average horsepower of: {trucksHp:f2}.");

        }
    }
    class Catalog
    {
        public Catalog()
        {
            Cars = new List<Car>();
            Trucks = new List<Truck>();
        }
        public List<Car> Cars { get; set; }
        public List<Truck> Trucks { get; set; }
    }
    class Car
    {
        public string Model { get; set; }
        public string Color { get; set; }
        public int HorsePower { get; set; }

        public Car(string model, string color, int horsePower)
        {
            this.Model = model;
            this.Color = color;
            this.HorsePower = horsePower;
        }
        public override string ToString()
        {
            return $"Type: Car\nModel: {this.Model}\nColor: {this.Color}\nHorsepower: {this.HorsePower}";
        }
    }
    class Truck
    {
        public string Model { get; set; }
        public string Color { get; set; }
        public int HorsePower { get; set; }

        public Truck(string model, string color, int horsePower)
        {
            this.Model = model;
            this.Color = color;
            this.HorsePower = horsePower;

        }
        public override string ToString()
        {
            return $"Type: Truck\nModel: {this.Model}\nColor: {this.Color}\nHorsepower: {this.HorsePower}";
        }
    }
}
 

0
antonfotev avatar antonfotev 4 Точки

На същата задача също ми дава 33 точки. Кодът ми е следния:

 

using System;
using System.Collections.Generic;
using System.Linq;

public class Vehicle
{
    public Vehicle(){}
    public Vehicle(string type, string model, string color, int horsepower)
    {
      this.Type = type;
      this.Model= model;
      this.Color = color;
      this.Horsepower = horsepower;    
    }
    
 public string Type {get; set;}
 public string Model {get; set;}
 public string Color {get; set;}
 public int Horsepower {get; set;}
}
                    
public class Program
{
    public static void Main()
    {
      var orderVehiclkles = new List<Vehicle>();
        
        string inputPrim = null;
        
        while ((inputPrim = Console.ReadLine()) != "End")
        {
            string[] input = inputPrim
                .Split();

            orderVehiclkles.Add(new Vehicle(input[0], input[1], input[2], int.Parse(input[3])));        
        } // end while
        
        while ((inputPrim = Console.ReadLine()) != "Close the Catalogue")
        {        
          foreach (var kvp in orderVehiclkles)
          {
             if(kvp.Model == inputPrim)
             {
                var currnetVehicle = new Vehicle(kvp.Type, kvp.Model, kvp.Color, kvp.Horsepower);
                GetPrintTisVehickle(currnetVehicle);
                break;
             }
          } // first foreach
        } // end while
        
        decimal CarsHorsepower = 0;
        decimal TrucksHorsepower = 0;
        
         foreach (var kvp in orderVehiclkles)
          {
            if(kvp.Type == "car") 
            {
             CarsHorsepower += kvp.Horsepower;  
            }
            else
            {
             TrucksHorsepower += kvp.Horsepower;  
            }
            
          } // first foreach
        int n = orderVehiclkles.Where(s => s.Type == "car").Count();
        int x = orderVehiclkles.Where(s => s.Type == "truck").Count();
        if(n > 0)
        {
         CarsHorsepower = CarsHorsepower / n;    
         Console.WriteLine("Cars have average horsepower of: {0:0.00}.", CarsHorsepower);
        }
        else
        {
         Console.WriteLine("Cars have average horsepower of: 0.00");
        }
        
        if (x > 0)
        {
         TrucksHorsepower = TrucksHorsepower / x;
         Console.WriteLine("Trucks have average horsepower of: {0:0.00}.", TrucksHorsepower);
        }
        else
        {
         Console.WriteLine("Trucks have average horsepower of: 0.00");
        } // end dable if-else
        
    }
    
    public static void GetPrintTisVehickle(Vehicle currnetVehicle)
    {
        if(currnetVehicle.Type == "car")
        {
         Console.WriteLine("Type: Car"); 
        }
        else
        {
         Console.WriteLine("Type: Truck");     
        }
        
        Console.WriteLine("Model: {0}", currnetVehicle.Model); 
        Console.WriteLine("Color: {0}", currnetVehicle.Color);                  
        Console.WriteLine("Horsepower: {0}", currnetVehicle.Horsepower); 
    }                
}

// truck Man red 200
// truck Mercedes blue 300
// car Ford green 120
// car Ferrari red 550
// car Lamborghini orange 570
// End
// Ferrari
// Ford
// Man
// Close the Catalogue

// Type: Car
// Model: Ferrari
// Color: red
// Horsepower: 550
// Type: Car
// Model: Ford
// Color: green
// Horsepower: 120
// Type: Truck
// Model: Man
// Color: red
// Horsepower: 200
// Cars have average horsepower of: 413.33.
// Trucks have average horsepower of: 250.00.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.