While-Loop - More Exercises 02. Report System
Добър ден, в обяснението на задачата има подвеждане на условние конструкции с '>=' или '<=', където трябва да бъде без '=', предлагам и самия код за да стане по ясно!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _02.Report_System
{
class Program
{
static void Main(string[] args)
{
int sum = int.Parse(Console.ReadLine());
double sumInCash = 0;
int countCash = 0;
double sumInCreditCard = 0;
int countCreditCard = 0;
double averageCash = 0;
double averageCreditCard = 0;
int transaction = 0;
int cashOrCreditCard = 0;
while (true)
{
string input = Console.ReadLine();
if (input == "End")
{
Console.WriteLine($"Failed to collect required money for charity.");
return;
}
else
{
transaction = int.Parse(input);
cashOrCreditCard++;
if (transaction > 100 && cashOrCreditCard % 2 != 0)
{
Console.WriteLine("Error in transaction!");
}
else if (transaction < 10 && cashOrCreditCard % 2 == 0)
{
Console.WriteLine("Error in transaction!");
}
else
{
if (cashOrCreditCard % 2 != 0)
{
countCash++;
sumInCash += transaction;
}
else if (cashOrCreditCard % 2 == 0)
{
countCreditCard++;
sumInCreditCard += transaction;
}
Console.WriteLine("Product sold!");
if (sumInCash + sumInCreditCard >= sum)
{
break;
}
}
}
}
averageCash = sumInCash / countCash;
averageCreditCard = sumInCreditCard / countCreditCard;
Console.WriteLine($"Average CS: {averageCash:f2}");
Console.WriteLine($"Average CC: {averageCreditCard:f2}");
}
}
}
Забележка:
Маркирам ги в жълто, но незнам защо не излизат?
Става въпрос за реда: if (transaction > 100 && cashOrCreditCard % 2 != 0)
и реда: else if (transaction < 10 && cashOrCreditCard % 2 == 0)