From 641d4baf78f128390d975a91d82b13792b9af5c2 Mon Sep 17 00:00:00 2001 From: Stanislav Mykhailenko Date: Wed, 15 Mar 2023 18:47:53 +0200 Subject: [PATCH] Add Lesson 2 Task 1 --- Lesson_2/Task_1/Program.cs | 63 +++++++++++++++++++++++++++++++++++ Lesson_2/Task_1/Task_1.csproj | 10 ++++++ 2 files changed, 73 insertions(+) create mode 100644 Lesson_2/Task_1/Program.cs create mode 100644 Lesson_2/Task_1/Task_1.csproj diff --git a/Lesson_2/Task_1/Program.cs b/Lesson_2/Task_1/Program.cs new file mode 100644 index 0000000..058edc9 --- /dev/null +++ b/Lesson_2/Task_1/Program.cs @@ -0,0 +1,63 @@ +/* +* Lesson 2 Task 1: get a collection of ten products and their prices, then output them sorted by their price, both ascending and descending +* Author: Stanislav Mykhailenko +* License: Unlicense +*/ + +List products = new List(); + +for (int i = 0; i < 10; i++) +{ + string? name; + float price; + string? userInput; + + do + { + Console.Write(string.Format("Enter product {0} name: ", i + 1)); + name = Console.ReadLine(); + } while (name == null); + + do + { + Console.Write(string.Format("Enter product {0} price: ", i + 1)); + userInput = Console.ReadLine(); + } while (!float.TryParse(userInput, out price)); + + products.Add(new Product(name, price)); +} + +products.Sort((x,y) => x.Price.CompareTo(y.Price)); + +Console.WriteLine("Sorted ascending: "); + +foreach (Product product in products) +{ + Console.WriteLine(product); +} + +products.Sort((x,y) => y.Price.CompareTo(x.Price)); + +Console.WriteLine("Sorted descending: "); + +foreach (Product product in products) +{ + Console.WriteLine(product); +} + +class Product +{ + public string Name { get;} + public float Price { get;} + + public override string ToString() + { + return "Name: " + Name + ", Price: " + Price; + } + + public Product(string name, float price) + { + Name = name; + Price = price; + } +} diff --git a/Lesson_2/Task_1/Task_1.csproj b/Lesson_2/Task_1/Task_1.csproj new file mode 100644 index 0000000..f02677b --- /dev/null +++ b/Lesson_2/Task_1/Task_1.csproj @@ -0,0 +1,10 @@ + + + + Exe + net7.0 + enable + enable + + +