Advertisement
Pearlfromsu

fdfdfd

Sep 18th, 2022
716
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.22 KB | None | 0 0
  1.  
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace OOP_130922 {
  9.     //Кротов Сергей КБ-21СО Лабораторная №1 Вариант 9. Печатное издание
  10.     enum ChallengeType {
  11.         Exam,
  12.         Test
  13.     }
  14.     class Challenge {
  15.  
  16.         ChallengeType _type; //тип испытания(экзамен, зачёт)
  17.         int _day; //день проведения
  18.         int _month; //месяц
  19.         string _handler; //проводящий экзамен
  20.         List<string> _members; //участники экзамена
  21.         List<int> _marks; //участники экзамена
  22.  
  23.         //Challenge primer = new ...
  24.         //primer.Day = 5; //работает set
  25.         //Console.WriteLine(primer.Day); //работает get
  26.         //
  27.         public int Day { //день испытания
  28.             get {
  29.                 return _day;
  30.             }
  31.             set {
  32.                 if (value > 31 || value < 1) {
  33.                     Console.WriteLine("Введён неверный день. Пересоздайте объект");
  34.                 } else
  35.                     _day = value;
  36.             }
  37.         }
  38.         public int Month { //месяц испытания
  39.             get {
  40.                 return _month;
  41.             }
  42.             set {
  43.                 if (value > 12 || value < 1) {
  44.                     Console.WriteLine("Введён неверный месяц. Пересоздайте объект");
  45.                 } else
  46.                     _month = value;
  47.             }
  48.         }
  49.  
  50.         public string Handler { //Проводящий испытание
  51.             get {
  52.                 return _handler;
  53.             }
  54.             set {
  55.                 if (string.IsNullOrEmpty(value)) {
  56.                     Console.WriteLine("Не введён проводящий испытание. Пересоздайте объект");
  57.                 } else
  58.                     _handler = value;
  59.             }
  60.         }
  61.         //"List<string>"
  62.         public List<string> Members { //Проводящий испытание
  63.             get {
  64.                 return _members;
  65.             }
  66.             set {
  67.                 bool fl = false;
  68.                 for (int i = 0; i < value.Count; i++) {
  69.                     if (string.IsNullOrEmpty(value[i])) {
  70.                         fl = true;
  71.                         break;
  72.                     }
  73.                 }
  74.                 if (fl) {
  75.                     Console.WriteLine("Некорректный список участников испытания. Пересоздайте объект");
  76.                 } else
  77.                     _members = value;
  78.             }
  79.         }
  80.  
  81.         public List<int> Marks { //Проводящий испытание
  82.             get {
  83.                 return _marks;
  84.             }
  85.             set {
  86.                 bool fl = false;
  87.                 for (int i = 0; i < value.Count; i++) {
  88.                     if (value[i] < 2 || value[i] > 5) {
  89.                         fl = true;
  90.                         break;
  91.                     }
  92.                 }
  93.                 if (fl) {
  94.                     Console.WriteLine("Некорректный список результатов участников испытания. Пересоздайте объект");
  95.                 } else
  96.                     _marks = value;
  97.             }
  98.         }
  99.  
  100.         public Challenge(ChallengeType type, int day, int month, string handler = "ЯрГУ", List<string> members = null, List<int> marks = null) {
  101.             if (members == null)
  102.                 members = new List<string>();
  103.             if (marks == null)
  104.                 marks = new List<int>();
  105.            
  106.             this._type = type; //тип испытания(экзамен, зачёт)
  107.             this.Day = day; //день проведения
  108.             this.Month = month; //месяц
  109.             this.Handler = handler; //проводящий экзамен
  110.             this.Members = members; //участники экзамена
  111.             this.Marks = marks; //оценки участников
  112.         }
  113.  
  114.         public Challenge() : this(ChallengeType.Exam, 1, 1) { }
  115.  
  116.         public void addMemberWithMark(string name, int mark) {
  117.             if (string.IsNullOrEmpty(name)) {
  118.                 Console.WriteLine("Пустое имя");
  119.                 return;
  120.             }
  121.             if (mark < 2 || mark > 5) {
  122.                 Console.WriteLine("Некорректная оценка");
  123.                 return;
  124.             }
  125.             _members.Add(name);
  126.             _marks.Add(mark);
  127.         }
  128.        
  129.         public void printMembers() {
  130.             //String.Join("\n", _members);
  131.             Console.WriteLine("Список участников испытания: ");
  132.             foreach (string name in _members)
  133.                 Console.WriteLine(name);
  134.         }
  135.  
  136.  
  137.         public override string ToString() {
  138.             return string.Format("{0}: ({1}.{2})", _type, Day, Month);
  139.         }
  140.         //Challenge ch1, ch2;
  141.         //if(ch1 > ch2)
  142.         public static bool operator >(Challenge t1, Challenge t2) {
  143.             return t1.Day > t2.Day;
  144.         }
  145.         public static bool operator <(Challenge t1, Challenge t2) {
  146.             return t1.Day < t2.Day;
  147.         }
  148.         public static bool operator <=(Challenge t1, Challenge t2) {
  149.             return t1.Day <= t2.Day;
  150.         }
  151.         public static bool operator >=(Challenge t1, Challenge t2) {
  152.             return t1.Day >= t2.Day;
  153.         }
  154.     }
  155.     class Program {
  156.         static void Main(string[] args) {
  157.             List<string> names = new List<string>() { "Misha", "Gosha", "Masha" };
  158.             List<int> marks = new List<int>() { 5, 3, 4 };
  159.             var misha = new Challenge(ChallengeType.Test, 20, 9, "Артём", names, marks);
  160.             var vasya = new Challenge();
  161.            
  162.  
  163.  
  164.             //вместо var компилятор подставит Student
  165.             /*misha._fio = "Бабкевич Михаил";
  166.             misha._groupName = "KB-21";
  167.             misha._status = "academ";
  168.             misha._number = 123456;*/
  169.  
  170.  
  171.             Console.WriteLine(misha);
  172.             Console.WriteLine(vasya);
  173.  
  174.             Console.WriteLine(misha.GetType());
  175.             Console.WriteLine(misha.GetHashCode());
  176.             Console.WriteLine(vasya.GetHashCode());
  177.             Console.WriteLine(misha.Equals(vasya));
  178.             Console.ReadKey();
  179.         }
  180.     }
  181. }
  182.  
  183.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement