Reklama
Pokazuje wyniki od 1 do 4 z 4

Temat: C#- potrzebuję pomocy w zrobieniu zadania

  1. #1
    barteczek

    Domyślny C#- potrzebuję pomocy w zrobieniu zadania

    Witam, potrzebuję pomocy w napisaniu programu na laboratorium ale nie mogę sobie z nim poradzić. Treść zadania:
    Zadania na laboratorium:
    1.Stworzyć w głównej przestrzeni projektu podprzestrzeń Dane, a w niej kolejno dziedziczące po sobie klasy Przedmiot (właściwości automatyczne Nazwa,Waga), Maszyna (Moc), Samochód (Prędkość, LiczbaOsób). Stworzyć w głównej
    przestrzeni nazw projketu klasę statyczną Wyświetlanie, która będzie zawierała metodę DodajDoListy(ListBox lista, Przedmiot dane). Metoda na podanej przy wywołaniu liście wyświetli wszystkie dostępne dane przekazenego obiektu,
    tzn. w przypadku Przedmiotu tylko nazwę i wagę, a Samochodu - nazwę, wagę, moc, prędkość, liczbę osoób. Wykorzystać słowa kluczowe is i as. Na przycisku btnZadanie1 utworzyć obiekty wszystkich klas danych i przetestować działaniemetody DodajDoListy.
    2.Dodać do klasy Samochód pole satyczne LiczbaSamochodow oraz konstruktor bezargumentowy, który przy tworzeniu każdego, nowego obiektu klasy Samchód będzie zwiększał licznik. Uzupełnić klasę Samochód o destruktor, która przy niszczeniu obiektu, będzie ten licznik zmniejszał. Przetestować dzialanie na przycisku btnZadanie2: stworzyć kilka obiektów, sprawdzić licznik dopisując jego wartość do listy, wyzerować referencje kilku obiektów, sprawdzić licznik,
    użyć metody GC.Collect, sprawdzić licznik.
    3.W głównej przestrzeni aplikacji stworzyć delegat DelegatPole reprezentujący metody przyjmujące argumenty typu double wysokość i szerokość i zwracające wartość double. W klasie Form1 stowrzyć metodę dynamiczną, zwracającą
    wartość Objętość przyjmującą argumenty double SzerokoscPodstawy, WysokośćPodstawy, WysokośćBryły oraz delegat do metody liczącej pole podstawy DelegatPole. Metoda ma liczyć objętość graniastosłupa, którego rodzaj podstawy
    będzie decydował o sposobie liczenia jej pola. Stworzyć w klasie Form1 dwie metody PoleProstokąta i PoleTrójkąta pasujące do zdefiniowanego delegatu. Na przycisku btnZadanie3 wywołać dwukrotnie metodę Objętość dla graniastosłupa o podstawie trójkąta i prostokąta. Wyniki dodać do listy lstLista
    4.Do klasy Przedmiot dodać zdarzenie UjemnaWaga, które będzie wyzwalane przy próbie wpisania do właściwości Waga wartości ujemnej. Zdarzenie ma wywoływać standardową metodę obsługi zdarzeń z argumentami object i EventArgs.
    Na przycisku btnZadanie4 stworzyć obiekt klasy Przedmiot, podpiąć testową metodę obsługi zdarzenia i przetestować działanie zdarzenia wyświetlając okienko MessageBox.


    Mój program:
    Kod:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace Lab5
    {
        public partial class Form1 : Form
        {
    
            public double Objetosc(double SzerPod, double WysPod, double WysBry, DelegatPole pole)
            {
                return pole(WysPod, SzerPod) * WysBry;
            }
    
            public double PolePros(double Wys, double Szer)
            {
                return Wys * Szer;
            }
    
            public double PoleTroj(double Wys, double Szer)
            {
                return 0.5 * Wys * Szer;
            }
    
            public Form1()
            {
                InitializeComponent();
            }
    
            private void btnZadanie1_Click(object sender, EventArgs e)
            {
                Dane.Rzecz rzecz = new Dane.Rzecz() { Nazwa = "Lampa", Waga = 0.5 };
                Dane.Przyrzad przyrzad = new Dane.Przyrzad() { Nazwa = "Lutownica", Waga = 1, Moc = 100 };
                Dane.Auto auto = new Dane.Auto() { Nazwa = "Smart", PasaLicz = 2, Pred = 90 };
                Dane.Wyswietlanie.DodajDoListy(lst, rzecz);
                Dane.Wyswietlanie.DodajDoListy(lst, przyrzad);
                Dane.Wyswietlanie.DodajDoListy(lst, auto);
    
            }
    
            private void btnZadanie2_Click(object sender, EventArgs e)
            {
                Dane.Rzecz a = new Dane.Rzecz() { Nazwa = "x", Waga = 20 };
                Dane.Rzecz b = new Dane.Rzecz() { Nazwa = "z", Waga = 20 };
    
                Dane.Wyswietlanie.DodajDoListy(lst, a);
                Dane.Wyswietlanie.DodajDoListy(lst, b);
    
            }
    
            private void btnZadanie3_Click(object sender, EventArgs e)
            {
    
                DelegatPole tam = new DelegatPole(PoleTroj);
                lst.Items.Add(Objetosc(6, 2, 1, tam));
                tam = PolePros;
                lst.Items.Add(Objetosc(0.5, 5, 4, tam));
            }
        }
    
        namespace Dane
        {
    
            static class Wyswietlanie
            {
                public static void DodajDoListy(ListBox lst, Dane.Rzecz Dane)
                {
                    lst.Items.Add(Dane.Nazwa + " " + Dane.Waga);
                }
                public static void DodajDoListy(ListBox lst, Dane.Auto Dane)
                {
                    lst.Items.Add(Dane.Nazwa + " " + Dane.PasaLicz + " " + Dane.Pred);
                }
    
            }
    
            class Rzecz
            {
                public string Nazwa { get; set; }
                public double Waga { get; set; }
            }
    
            class Przyrzad : Rzecz
            {
                public int Moc { get; set; }
            }
    
            class Auto : Przyrzad
            {
                public double Pred { get; set; }
                public int PasaLicz { get; set; }
            }
    
        }
        public delegate double DelegatPole(double Wysokosc, double Szerokosc);
    }
    Ostatnio zmieniony przez barteczek : 31-03-2014, 22:26

  2. #2
    Avatar Bazan
    Data rejestracji
    2008
    Wiek
    31
    Posty
    1,909
    Siła reputacji
    18

    Domyślny

    A tej pomocy to potrzebujesz z czym?
    Dreaming by drumming. ˆˆ™

  3. Reklama
  4. #3
    barteczek

    Domyślny

    z zadaniem 2 i nie umiem zrobić 4 oraz nie jestem pewien czy resztę mam poprawnie zrobione

  5. #4
    Avatar Kusterek
    Data rejestracji
    2013
    Położenie
    Warszawa
    Wiek
    31
    Posty
    1,710
    Siła reputacji
    13

    Domyślny

    nie wiem co jest w tym trudnego ;o
    do klasy Auto (to jest wspomniana klasa samochód, tak?)
    wpisz:
    Kod:
    public static int LiczbaSamochodow = 0;
    w konstruktorze
    Kod:
    LiczbaSamochodow++;
    w destruktorze
    Kod:
    LiczbaSamochodow--;
    ale widze, ze w ogole nie masz konstruktorow, poczytaj co to jest i dodaj jak nalezy.

    irc: freenode.net in #torgdevs

Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)

Podobne tematy

  1. "Upłyną limit czasu żądania"- Logi OTL POMOCY
    Przez Pro Gimbus w dziale Sprzęt i oprogramowanie
    Odpowiedzi: 5
    Ostatni post: 01-01-2013, 08:23
  2. Potrzebuje małej pomocy.
    Przez Hiho w dziale Tibia
    Odpowiedzi: 1
    Ostatni post: 30-09-2010, 15:17
  3. Potrzebuję pomocy - serwer dedykowany.
    Przez Sane Mei w dziale Open Tibia Server
    Odpowiedzi: 21
    Ostatni post: 26-08-2010, 18:29
  4. [ElfBot NG] Potrzebuję pomocy.
    Przez Avithor w dziale Tibia
    Odpowiedzi: 16
    Ostatni post: 30-05-2010, 15:45
  5. [7.4] Potrzebuje LIGHTHACKA !!! POMOCY
    Przez OstryCzosnek w dziale Tibia
    Odpowiedzi: 6
    Ostatni post: 13-02-2010, 00:16

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •