Advertisement
GraionDilach

Interfészesdi - befejezetlen

Apr 4th, 2012
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.17 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace _8.hét
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             Isikidom Hszög = new Háromszög(5, 3, 5);
  13.  
  14.             Console.WriteLine(Hszög.ToString() + " Kerülete: " + Hszög.Kerület() + ". Területe: " + Hszög.Terület() + ".");
  15.  
  16.             Isikidom Tlap = new Téglalap(5, 3);
  17.  
  18.             Console.WriteLine(Tlap.ToString() + " Kerülete: " + Tlap.Kerület() + ". Területe: " + Tlap.Terület() + ".");
  19.  
  20.             Isikidom Kr = new Kör(5);
  21.  
  22.             Console.WriteLine(Kr.ToString() + " Kerülete: " + Kr.Kerület() + ". Területe: " + Kr.Terület() + ".");
  23.  
  24.             Ihasonlithato[] HasonArray = new Ihasonlithato[3];
  25.  
  26.             HasonArray[0] = (Ihasonlithato)Hszög;
  27.             HasonArray[1] = (Ihasonlithato)Tlap;
  28.             HasonArray[2] = (Ihasonlithato)Kr;
  29.  
  30.             for (int i = 0; i < HasonArray.Length; i++)
  31.             {
  32.                 //HasonArray[i].kisebb_e((Isikidom) HasonArray[i].Kerület(), 10)
  33.                
  34.             }
  35.  
  36.         }
  37.     }
  38.  
  39.     interface Isikidom
  40.     {
  41.         double Kerület();
  42.  
  43.         double Terület();
  44.     }
  45.  
  46.     interface Ihasonlithato
  47.     {
  48.         bool nagyobb_e(double elem, double minel);
  49.  
  50.         bool kisebb_e(double elem, double minel);
  51.     }
  52.  
  53.     class Háromszög : Isikidom, Ihasonlithato
  54.     {
  55.         public Háromszög(int thisa, int thisb, int thisc)
  56.         {
  57.             a = thisa; b = thisb; c = thisc;
  58.         }
  59.        
  60.         public int a, b, c;
  61.  
  62.         double Isikidom.Terület(){
  63.             double s = (a + b + c) / 2.0;
  64.             return Math.Sqrt(s*(s-a)*(s-b)*(s-c));
  65.         }
  66.  
  67.         double Isikidom.Kerület()
  68.         {
  69.             return (double)(a + b + c);
  70.         }
  71.  
  72.         bool Ihasonlithato.kisebb_e(double elem, double minel)
  73.         {
  74.             if (elem < minel){
  75.                 return true;
  76.             }
  77.             return false;
  78.         }
  79.  
  80.         bool Ihasonlithato.nagyobb_e(double elem, double minel)
  81.         {
  82.             if (elem > minel)
  83.             {
  84.                 return true;
  85.             }
  86.             return false;
  87.         }
  88.  
  89.         public override string ToString()
  90.         {
  91.             return ("Háromszög, oldalai hossza " + a + ", " + b + ", " + c + ".");
  92.         }
  93.     }
  94.  
  95.     class Téglalap : Isikidom, Ihasonlithato
  96.     {
  97.         public Téglalap(int thisa, int thisb)
  98.         {
  99.             a = thisa; b = thisb;
  100.         }
  101.  
  102.         public int a, b;
  103.  
  104.         double Isikidom.Terület()
  105.         {
  106.             return (double)a * b;
  107.         }
  108.  
  109.         double Isikidom.Kerület()
  110.         {
  111.             return (double)2*(a + b);
  112.         }
  113.  
  114.         bool Ihasonlithato.kisebb_e(double elem, double minel)
  115.         {
  116.             if (elem < minel)
  117.             {
  118.                 return true;
  119.             }
  120.             return false;
  121.         }
  122.  
  123.         bool Ihasonlithato.nagyobb_e(double elem, double minel)
  124.         {
  125.             if (elem > minel)
  126.             {
  127.                 return true;
  128.             }
  129.             return false;
  130.         }
  131.  
  132.         public override string ToString()
  133.         {
  134.             return ("Téglalap, oldalai hossza " + a + ", " + b + ".");
  135.         }
  136.     }
  137.  
  138.     class Kör : Isikidom, Ihasonlithato
  139.     {
  140.         public Kör(int thisa)
  141.         {
  142.             r = thisa;
  143.         }
  144.  
  145.         public int r;
  146.  
  147.         double Isikidom.Terület()
  148.         {
  149.             return r * r * Math.PI;
  150.         }
  151.  
  152.         double Isikidom.Kerület()
  153.         {
  154.             return (2 * r* Math.PI);
  155.         }
  156.  
  157.         bool Ihasonlithato.kisebb_e(double elem, double minel)
  158.         {
  159.             if (elem < minel)
  160.             {
  161.                 return true;
  162.             }
  163.             return false;
  164.         }
  165.  
  166.         bool Ihasonlithato.nagyobb_e(double elem, double minel)
  167.         {
  168.             if (elem > minel)
  169.             {
  170.                 return true;
  171.             }
  172.             return false;
  173.         }
  174.  
  175.         public override string ToString()
  176.         {
  177.             return ("Kör, sugara " + r + ".");
  178.         }
  179.     }
  180. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement