C# как извлечь значения из цикла for - PullRequest
1 голос
/ 30 января 2020

Я новичок в программировании и застрял на задании.

Назначение - ввести имя, возраст и количество продаж для 4 разных работников. После этого мне нужно разместить работников по порядку в зависимости от объема продаж.

Где я в основном застрял, это l oop -часть. Я не понимаю, как я могу вставить значения 4 рабочим и затем вернуть их значения по порядку.

        int pay = 1000;

            Console.WriteLine("What is the first- and lastname of the worker: ");
            string name = Convert.ToString(Console.ReadLine());
            Console.WriteLine("What is the age of the worker: ");
            int age = Convert.ToInt16(Console.ReadLine());
            Console.WriteLine("What district does the worker work at: ");
            string district = Convert.ToString(Console.ReadLine());
            Console.WriteLine("How many sales has the worker done: ");
            int sales = Convert.ToInt16(Console.ReadLine());

            Console.WriteLine("\n");

        Console.WriteLine("Name\t\tAge\tDistrict\tSales");
        Console.WriteLine(name + "\t" + age + "\t" + district + "\t\t" + sales);

        Console.WriteLine("\n");
        if (sales > 199)
        {
            pay = pay + sales * 4;
            Console.WriteLine(name + " is level 4 \nand will get: " + pay + "kr this month");
        }
        else if (sales <= 199 && sales >= 100)
        {
            pay = pay + sales * 3;
            Console.WriteLine(name + " is level 3 \nand will get: " + pay + "kr this month");
        }
        else if (sales <= 99 && sales >= 50)
        {
            pay = pay + sales * 2;
            Console.WriteLine(name + " is level 2 \nand will get: " + pay + "kr this month");
        }
        else
        {
            pay = pay + sales;
            Console.WriteLine(name + " is level 1\nand will get: " + pay + "kr this month");
        }

~ Прошу прощения, я до сих пор не изучил правильную структуру кодирования.

1 Ответ

3 голосов
/ 30 января 2020

Этот класс Worker будет содержать информацию об одном работнике:

public class Worker() 
{
    string Name;
    int NumberOfSales;
    int Age;

    public Worker(string _n, int _nos, int _a) 
    {
        Name = _n;
        NumberOfSales = _nos;
        Age = _a;
    }
}

Этот фрагмент кода будет выполняться 4 раза, получать информацию о работниках, создавать для каждого из них объект Worker, а затем добавлять объекты в Workers Объект списка:

List<Worker> Workers = new List<Workers>();
int Worker = 1;
for (int i = Worker; i < 5; i++)  
{
    Console.WriteLine("Enter name for Worker {0}", Worker);
    name = Console.ReadLine();
    Console.WriteLine("Enter age for Worker {0}", Worker);
    age = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("Enter number of sales for Worker {0}", Worker);
    nOfSales = Convert.ToInt32(Console.ReadLine());
    Worker worker = new Worker(name, age, nOfSales);
    Workers.Add(worker);
}

В этой следующей ссылке вы можете узнать, как отсортировать объект списка Workers, просмотрев каждое свойство NumberOfSales объекта Worker: Как Сортировать список по свойству объекта

...