03. Gaming Store: how can I get the currentGamePrice (ObjectAndClass)
Здравейте, опитвам се да реша една задачата от Моre Exercise: Basic Syntax, Conditional Statements and Loops - C# Fundamentals - май 2020 , като използвам обекти. Мисля, че това би трябвало да е най-удачния вариант за решение, защото задачата прилича много на тези, които съм решавала от упражнението за Обекти и класове. Докато решавах се затрудних да взема цената на текущата играта. Може ли да погледнете кода ми, точно където съм написала-"money for game(currentGamePrice)". Точно на това място трябва да се постави цената на текущата игра. Целта ми е след като човек си е купил вече играта да изчисля колко пари са му останали-leftMoney, но за да ги получа трябва да мога да взема цената на текущата игра.
Ще бъда много, много благодарна ако някой ми помогне и вече ще имам истински Gameing Store. :)
https://softuni.bg/trainings/resources/officedocument/49564/basic-syntax-conditional-statements-and-loops-more-exercise-csharp-fundamentals-may-2020/2830
https://judge.softuni.bg/Contests/Practice/Index/1453#2
using System;
using System.Collections.Generic;
using System.Linq;
namespace GamingStore
{
class MainClass
{
public static void Main(string[] args)
{
double currentBalanceMoney = double.Parse(Console.ReadLine());
List<Game> ListGames = new List<Game>();
var firstGame = new Game("OutFall 4", 39.99);
ListGames.Add(firstGame);
var secondGame = new Game("CS: OG", 15.99);
ListGames.Add(secondGame);
var thirdGame = new Game("Zplinter Zell", 19.99);
ListGames.Add(thirdGame);
var fourthGame = new Game("Honored 2", 59.99);
ListGames.Add(fourthGame);
var fifthGame = new Game("RoverWatch", 29.99);
ListGames.Add(fifthGame);
var sixthGame = new Game("RoverWatch Origins Edition", 39.99);
ListGames.Add(sixthGame);
string game = Console.ReadLine();
int leftBalanceMoney = 0;
while(game!="Game Time")
{
var newGame = ListGames.FirstOrDefault(g => g.Name == game);
if (newGame == null)
{
Console.WriteLine("Not Found");
}
else if (newGame != null)
{
if (ListGames.Any(g => g.Name == game && g.Price <= currentBalanceMoney && leftBalanceMoney == 0))
{
Console.WriteLine($"Bought {game}");
leftBalanceMoney = currentBalanceMoney -//money for game(currentGamePrice)
}
else if (ListGames.Any(g => g.Name == game && g.Price <= leftBalanceMoney)
{
Console.WriteLine($"Bought {game}");
leftBalanceMoney = leftBalanceMoney - //money for game(currentGamePrice)
}
else if (ListGames.Any(g => g.Name == game && g.Price > currentBalanceMoney && leftBalanceMoney!= 0)
{
Console.WriteLine("To Expensive");
}
else if (ListGames.Any(g => g.Name == game && g.Price > leftBalanceMoney && leftBalanceMoney != 0)
{
Console.WriteLine("To Expensive");
}
}
if (leftBalanceMoney == 0)
{
Console.WriteLine("Out of money!");
break;
}
game = Console.ReadLine();
}
Console.WriteLine($"Total spent: ${currentBalanceMoney-leftBalanceMoney:f2}. Remaining: ${leftBalanceMoney:f2}");
}
public class Game
{
public string Name { get; set; }
public double Price { get; set; }
public Game(string name, double price)
{
Name = name;
Price = price;
}
}
}
}
Hi Axiomatik,
I don't have enough words to express my gratitude towards you for helping me out!
Best regards!
Elena
No problem, glad to be helping out.
Keep practicing and everything will get easier during the next weeks.
Try working with C# Fundamentals exams as soon as you finished the course material.