Регистрация не е нужна, освен при създаване на тема в "Задача на седмицата".

Как се прави това?

Как се прави това?

Мнениеот Гост » 26 Яну 2022, 02:23

Здравейте! Можете ли да ми помогнете със следната задача, много ми е важна, благодаря Ви предварително!


Завършили основно, средно и висше
образование и без основно образование. Работните
места се описват с :


-Сфера(напр: образование, здравеопазване,
производство, строителство)


-Длъжност(преподавател, зам.директор,
директор, лекар, санитар,работник...),


-Заетост(пълен работен ден, половин ден,
почасова заетост, дневна норма...)


-Заплата(в лева за дадената заетост- за
месец, за час, за норма).





За позициите за висше образование се посочва



-учреждение(учебно, здравно заведение),


За позициите за средно образование се
посочва


- предприятие ( завод, фабрика),


За позициите за основно или без се посочва


- трудова бригада.


Напишете методи, които извеждат информацията
за дадено работно място.


Напишете методи, които извеждат заплатата
за дадено работно място при пълна месечна заетост(22 работни дни).

Създайте инстанции за различните работни места и изведете информацията за тях на екрана.

Реализирайте програма, в която се описват класове за различните категории работни места.
Гост
 

Re: Как се прави това?

Мнениеот ammornil » 28 Яну 2022, 22:01

Едно потенциално скелетно решение предлагам прикачено и публикувано, изпълнено в C#.
Съжалявам, че няма кирилизатор на командния промпт, затова всички изходни съобщения са на латиница. Ако имате желание можете да ги промените.

Основен метод
Код: Избери целия код
using System;

namespace CA2_request
{
    internal class Program
    {
        static void Main(string[] args)
        {
            RabMyastoNisko rabMyastoNisko1 = new RabMyastoNisko("Agriculture", "Grapes Picker", "hourly", 5.19m, "Daily 1");
            RabMyastoNisko rabMyastoNisko2 = new RabMyastoNisko("Agriculture", "Team Leader", "hourly", 6.19m, "Daily 1");
            RabMyastoSredno rabMyastoSredno1 = new RabMyastoSredno("Agriculture", "Vine-grower", "hourly", 12.19m, "TKZS");
            RabMyastoSredno rabMyastoSredno2 = new RabMyastoSredno("Agriculture", "Tractor Driver", "hourly", 8.19m, "TKZS");
            RabMyastoVishe rabMyastoVishe1 = new RabMyastoVishe("Agriculture", "Head Accountant", "monthly", 1499.00m, "TKZS");

            rabMyastoNisko1.PrintDetails();
            rabMyastoNisko1.PrintSpecialDetails();
            Console.WriteLine();
            rabMyastoNisko2.PrintDetails();
            rabMyastoNisko2.PrintSpecialDetails();
            Console.WriteLine();
            rabMyastoSredno1.PrintDetails();
            rabMyastoSredno1.PrintSpecialDetails();
            Console.WriteLine();
            rabMyastoSredno2.PrintDetails();
            rabMyastoSredno2.PrintSpecialDetails();
            Console.WriteLine();
            rabMyastoVishe1.PrintDetails();
            rabMyastoVishe1.PrintSpecialDetails();
            Console.ReadKey(true);
        }
    }
}


Базов клас:
Код: Избери целия код
using System;
using System.Collections.Generic;
using System.Text;

namespace CA2_request
{
    internal class RabotnoMyasto
    {
        public string Sfera { get; set; }

        public string Dlazhnost { get; set; }

        public string Zaetost { get; set; }

        public decimal Zaplata { get; set; }

        public RabotnoMyasto(string Sph, string Dlz, string Zaet, decimal Zpl)
        {
            this.Sfera = Sph;
            this.Dlazhnost = Dlz;
            this.Zaetost = Zaet;
            this.Zaplata = Zpl;
        }

        public void PrintDetails()
        {
            Console.WriteLine(String.Format("Sphere/Position: {0 : 28}/{1 : 28}",this.Sfera,this.Dlazhnost));
            decimal pay = 0;
            switch (this.Zaetost)
            {
                case "hourly":
                    pay = this.Zaplata * 8 * 22;
                    break;
                case "weekly":
                    pay = this.Zaplata * 13/3;
                    break;
                case "monthly":
                    pay = this.Zaplata;
                    break;
                case "norm":
                    pay = this.Zaplata * 8 * 22;
                    break;
                default:
                    pay = -1;
                    break;
            }
            Console.WriteLine(String.Format("Employment type/ Monthly earnings: {0:26}/{1:6}",this.Zaetost, pay>0 ? pay.ToString() : "not provided"));
        }
    }
}


Подклас Висше образование:
Код: Избери целия код
using System;
using System.Collections.Generic;
using System.Text;

namespace CA2_request
{
    internal class RabMyastoVishe : RabotnoMyasto
    {
        public string Uchrezhdenie { get; set; }

        public RabMyastoVishe(string Sf, string Dl, string Zt, decimal Zpl, string Uchr) : base (Sf,Dl, Zt, Zpl)
        {
            this.Uchrezhdenie = Uchr;
        }

        public void PrintSpecialDetails()
        {
            Console.WriteLine(String.Format("Institution: {0}", this.Uchrezhdenie));
        }
    }
}


Подклас Средно образование:
Код: Избери целия код
using System;
using System.Collections.Generic;
using System.Text;

namespace CA2_request
{
    internal class RabMyastoSredno : RabotnoMyasto
    {
        public string Predpriyatie { get; set; }

        public RabMyastoSredno(string Sf, string Dl, string Zt, decimal Zpl, string Predpr) : base(Sf, Dl, Zt, Zpl)
        {
            this.Predpriyatie = Predpr;
        }


        public void PrintSpecialDetails()
        {
            Console.WriteLine(String.Format("Enterprise: {0}", this.Predpriyatie));
        }
    }
}


Подклас Основно или Без образование:
Код: Избери целия код
using System;
using System.Collections.Generic;
using System.Text;

namespace CA2_request
{
    internal class RabMyastoNisko : RabotnoMyasto
    {
        public string Brigada { get; set; }

        public RabMyastoNisko(string Sf, string Dl, string Zt, decimal Zpl, string Brig) : base(Sf, Dl, Zt, Zpl)
        {
            this.Brigada = Brig;
        }

        public void PrintSpecialDetails()
        {
            Console.WriteLine(String.Format("Team: {0}",this.Brigada));
        }
    }
}


Изход:
Screenshot 2022-01-28 200420.png
Screenshot 2022-01-28 200420.png (20.23 KiB) Прегледано 550 пъти
Прикачени файлове
CA2-request.zip
(182.18 KiB) 74 пъти
[tex]\color{lightseagreen}\text{''Който никога не е правил грешка, никога не е опитвал нещо ново.''} \\
\hspace{21em}\text{(Алберт Айнщайн)}[/tex]
Аватар
ammornil
Математик
 
Мнения: 3767
Регистриран на: 25 Май 2010, 19:28
Местоположение: Великобритания
Рейтинг: 1779

Re: Как се прави това?

Мнениеот Какаши Сенсей » 03 Фев 2022, 11:27

Благодаря Ви!
Най-важно е душата да бъде извисена .
Какаши Сенсей
Фен на форума
 
Мнения: 119
Регистриран на: 05 Май 2021, 10:26
Рейтинг: 28


Назад към C#, Java



Кой е на линия

Регистрирани потребители: Google [Bot]

Форум за математика(архив)