Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1. Klasa Data, z polami int dzien,miesiac,rok(dostep dowolny), konstruktor, metoda wyswietlajaca - np. 12-sty-2014 (miesiac zawsze jako 3 pierwsze litery).
- 2. Przeladowanie operatora ==, czy dni sa rowne
- 3. Przeladowanie rzutowania data na int, ma zwracac ile dni minelo od poczatku roku
- 4. Metoda sprawdzajaca czy rok sie przestepny(byly podane jakie musi spelniac warunki)
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace kolokwium
- {
- class Program
- {
- public class Data
- {
- private int rok;
- private int miesac;
- private int dzien;
- public string rok_slow;
- public int m_dni;
- public Data(int d,int m,int r)
- {
- dzien = d;
- miesac = m;
- rok = r;
- }
- public override string ToString()
- {
- string result;
- result = string.Empty;
- switch(miesac)
- {
- case 1:
- rok_slow = "sty";
- break;
- case 2:
- rok_slow = "lut";
- break;
- case 3:
- rok_slow = "mar";
- break;
- case 4:
- rok_slow = "kwi";
- break;
- case 5:
- rok_slow = "maj";
- break;
- case 6:
- rok_slow = "cze";
- break;
- case 7:
- rok_slow = "lip";
- break;
- case 8:
- rok_slow = "sie";
- break;
- case 9:
- rok_slow = "wrz";
- break;
- case 10:
- rok_slow = "paz";
- break;
- case 11:
- rok_slow = "lis";
- break;
- case 12:
- rok_slow = "gru";
- break;
- }
- return result = dzien + "-" + rok_slow + "-" + rok;
- }
- public static bool operator ==(Data d1,Data d2)
- {
- if (d1.dzien == d2.dzien && d1.miesac == d2.miesac && d1.rok == d2.rok)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- public static bool operator !=(Data d1,Data d2)
- {
- if (d1.dzien == d2.dzien && d1.miesac == d2.miesac && d1.rok == d2.rok)
- {
- return false;
- }
- else
- {
- return true;
- }
- }
- public static explicit operator int(Data d1)
- {
- int result;
- switch(d1.miesac)
- {
- case 1:
- d1.m_dni = 0;
- break;
- case 2:
- d1.m_dni = 31;
- break;
- case 3:
- d1.m_dni = 58 ;
- break;
- case 4:
- d1.m_dni = 89;
- break;
- case 5:
- d1.m_dni = 119 ;
- break;
- case 6:
- d1.m_dni = 150;
- break;
- case 7:
- d1.m_dni = 180;
- break;
- case 8:
- d1.m_dni = 210;
- break;
- case 9:
- d1.m_dni = 241;
- break;
- case 10:
- d1.m_dni = 272;
- break;
- case 11:
- d1.m_dni = 302;
- break;
- case 12:
- d1.m_dni = 332;
- break;
- }
- result = d1.dzien + d1.m_dni;
- return result;
- }
- public static bool przestepny(Data d1)
- {
- if (d1.rok % 4 == 0 && d1.rok % 100 != 0)
- return true;
- else if (d1.rok % 400 == 0)
- return true;
- else
- return false;
- }
- }
- static void Main(string[] args)
- {
- Data D1 = new Data(2, 5, 2000);
- Data D2 = new Data(4, 12, 2015);
- Data D3 = new Data(4, 12, 2015);
- Console.WriteLine("Pierwsza data: {0}",D1.ToString());
- Console.WriteLine("Druga data: {0}", D2.ToString());
- Console.WriteLine("D1 == D2?: {0}", D1 == D2);
- Console.WriteLine("D2 == D3?: {0}", D2 == D3);
- Console.WriteLine("Od poczatku roku minelo: {0}", (int)D1);
- Console.WriteLine("Czy D1 jest przestepny: {0}", Data.przestepny(D1));
- Console.Read();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement