Мне нужно написать простое тестовое консольное приложение на C# для отслеживания сбора средств в школе. Вот как выглядит ожидаемый результат. Запросы ввода пользователя должны быть помещены внутри цикла, чтобы программа продолжала запрашивать входные данные, пока не будет введена «999» для оценки пользователя. Если/когда введено значение 999, программа должна рассчитать среднее значение вкладов и отобразить результаты с поздравительным сообщением самому крупному сборщику.Простая консольная консоль C# для ввода пользователя и расчета среднего значения для каждого пользователя
// Создайте класс, который будет реализовывать частные переменные, которые необходимы. создавать методы класса для выполнения требуемых функций. В основном методе, создайте экземпляр одного объекта сбора средств и используйте этот объект для доступа к частной переменной. Эта проблема имеет смысл? Как вы вырезаете класс для выполнения всех этих задач?
Sample output:
/*School Fund Raiser Tracker Application */
Please enter the grade of the contributor (6, 7 or 8)
(Enter 999 to exit): 6
Please enter the amount of the contribution: 100
Please enter the grade of the contributor (6, 7 or 8)
(Enter 999 to exit): 6
Please enter the amount of the contribution: 200
Please enter the grade of the contributor (6, 7 or 8)
(Enter 999 to exit): 7
Please enter the amount of the contribution: 500
Please enter the grade of the contributor (6, 7 or 8)
(Enter 999 to exit): 7
Please enter the amount of the contribution: 100
Please enter the grade of the contributor (6, 7 or 8)
(Enter 999 to exit): 999
Grade Level # of Contrib Total Amount Average
6 2 300 150
7 2 600 300
Моя взять на него:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace FundRaiser
{
public class SchoolFundRaiser
{
//public int grade { get; set; }
//public double contribution { get; set; }
public double average { get; set; }
public int numOfContributions { get; set; }
public void CalculateContribution()
{
int grade= 0; double contribution = 0.0;
double total6 = 0.0, total7 = 0.0, total8 = 0.0, average6 = 0.0, average7 = 0.0, average8 = 0.0;
int count6 = 0, count7 = 0, count8 = 0;
while (grade != 999)
{
Console.WriteLine("Please Enter your grade(6, 7, 8). Enter 999 to quit.");
grade = Convert.ToInt32(Console.ReadLine());
if (grade != 999)
{
Console.WriteLine("Please Enter the Amount you want to contribute. ");
contribution = Convert.ToDouble(Console.ReadLine());
}
else
{
Console.WriteLine("Exiting...");
}
if (grade == 6)
{
total6 = total6 + contribution;
count6 = count6 +1;
}
if (grade == 7)
{
total7 = total7 + contribution;
count7 = count7 + 1;
}
else if (grade == 8)
{
total8 = total8 + contribution;
count8= count8 + 1;
}
}
average6 = total6/count6;
average7 = total7/count7;
average8 = total8/count8;
Console.WriteLine("Grade \t" + "Num of Contributions \t" + "Total Contribution \t" + "Average contribution");
if (grade == 6)
{
average = average6;
numOfContributions = count6;
Console.WriteLine(grade + "\t" + numOfContributions + "\t" + total6 + "\t" + average);
}
if (grade == 7)
{
average = average7;
numOfContributions = count7;
Console.WriteLine(grade + "\t" + numOfContributions + "\t" + total7 + "\t" + average);
}
else
{
average = average8;
numOfContributions = count8;
Console.WriteLine(grade + "\t" + numOfContributions + "\t" + total8 + "\t" + average);
}
}
}
class Program
{
static void Main(string[] args)
{
SchoolFundRaiser testSchoolFundRaiser = new SchoolFundRaiser();
testSchoolFundRaiser.CalculateContribution();
}
}
}
Вы хотя бы что-то пробовали? Если да, отправьте его здесь. – Szymon
@ Шимон по какой-то причине решил сначала не показывать мой код. Ошибка Ctrl + K? – Athapali
Ваш код выглядит отлично. Что за вопрос? – Shaharyar