Jump to content

Search the Community

Showing results for tags 'klasy'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Programowanie
    • Java
    • C++
    • C
    • Assembler
    • .NET Framework
    • Delphi / Pascal
    • Objective-C
    • Swift
    • Rust
    • Go
    • D
    • Visual Basic
    • Inne jezyki programowania
  • Języki skryptowe
    • JavaScript
    • PHP
    • Python
    • Ruby
    • Perl
    • Lua
    • VBScript
    • Programy wsadowe i shell
    • Inne języki skryptowe
  • Programowanie funkcyjne
    • Haskell
    • Lisp
  • Bazy danych
    • SQL i bazy danych
    • NoSQL nierelacyjne bazy danych
    • ABAP
    • Visual FoxPro
  • Projektowanie i inżynieria oprogramowania
    • Algorytmy i struktury danych
    • Inżynieria oprogramowania
    • Projektowanie UI i UX
    • Reverse engineering
  • Projektowanie stron internetowych
    • HTML, XHTML i XML
    • CSS
    • Optymalizacja SEO
    • Inne
  • Praca, edukacja i kariera
    • Oferty pracy
    • Zlecenia
    • Kariera
    • Edukacja
    • Szkolenia i konferencje
    • Biznes i prawo
    • Magazyn Programista
  • Projekty
    • Moje projekty
    • Mam pomysł na...
    • Konkursy
  • Hardware i software
    • Projektowanie i programowanie elektroniki
    • Hardware i software
    • Sieci komputerowe i Internet
  • Forum
    • Ogłoszenia, uwagi i sugestie
    • Społeczność
    • Off Topic
    • Giełda

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website

Found 4 results

  1. Szukałam i nie znalazłam Jak odwołać się z konstruktora klasy Osoba do konstruktora klasy Adres? Wyskakuje mi błąd w klasie Osoba, z którym nie wiem jak sobie poradzić. Już drugi tydzień się z tym męczę. Proszę o pomoc i wytłumaczenie. Nie mogę zastosować get, sat i nie mogę zmieniać kodu w klasie Program. W klasie Osoba i Adres wszystkie nazwy muszą pozostać takie jakie są. Kod trzeba przerobić tak aby efekt końcowy był jak na obrazku. Klasa Osoba using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Kadry { public class Osoba { private int numerEwidencyjny; private string nazwisko; private string imie; Adres adres; public Osoba(int numerEwidencyjny, string nazwisko, string imie, Adres adres) { this.numerEwidencyjny = numerEwidencyjny; this.nazwisko = nazwisko; this.imie = imie; this.adres = adres; } public Osoba(int numerEwidencyjny, string imie, int numerDomu) : this(numerEwidencyjny, "Kowalski", imie, "02-222", "Warszawa", "Aleje Jerozolimskie", numerDomu, 0) { } public Osoba(ref Osoba osoba) { numerEwidencyjny = osoba.numerEwidencyjny; nazwisko = osoba.nazwisko; imie = osoba.imie; adres = osoba.adres; } public string ZwrocKod() { return adres.kod; } public string ZwrocMiejscowosc() { return adres.miejscowosc; } public string ZwrocNazweUlicy() { return adres.nazwaUlicy; } public int ZwrocNumerDomu() { return adres.numerDomu; } public int ZwrocNumerMieszkania() { return adres.numerMieszkania; } public string ZwrocInformacjeOsobowe() { return string.Format("\n Pan(i) {0} {1} o numerze ewidencyjnym: {2} zamieszkały(a): {3} {4} {5}", nazwisko, imie, numerEwidencyjny, ZwrocKod(), ZwrocMiejscowosc(), ZwrocNazweUlicy() + " " + ZwrocNumerDomu() + " m" + ZwrocNumerMieszkania()); } public void ZmienDaneOsobowe() { Console.Write("Podaj imię: "); imie = Console.ReadLine(); Console.Write("Podaj nazwisko: "); nazwisko = Console.ReadLine(); do { Console.Write("Podaj numer ewidencyjny: "); } while (!int.TryParse(Console.ReadLine(), out numerEwidencyjny)); } public void ZmienAdres() { Console.Write("Podaj kod: "); adres.kod = Console.ReadLine(); Console.Write("Podaj nazwę miejscowści: "); adres.miejscowosc = Console.ReadLine(); Console.Write("Podaj nazwę ulicy "); adres.nazwaUlicy = Console.ReadLine(); do { Console.Write("Podaj numer domu: "); } while (!int.TryParse(Console.ReadLine(), out adres.numerDomu)); Console.Write("Czy jest numer mieszkania <t/n>: "); char c = Console.ReadKey().KeyChar; if (c == 't') { Console.WriteLine(); do { Console.Write("Podaj numer meszkania: "); } while (!int.TryParse(Console.ReadLine(), out adres.numerMieszkania)); } else { adres.numerMieszkania = 0; } } public Osoba Klonuj() { return (Osoba)this.MemberwiseClone(); } } } Klasa Adres using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Kadry { public class Adres { public string kod; public string miejscowosc; public string nazwaUlicy; public int numerDomu; public int numerMieszkania; public Adres(string kod, string miejscowosc, string nazwaUlicy, int numerDomu, int numerMieszkania) { this.kod = kod; this.miejscowosc = miejscowosc; this.nazwaUlicy = nazwaUlicy; this.numerDomu = numerDomu; this.numerMieszkania = numerMieszkania; } public Adres(ref Adres adres) { kod = adres.kod; miejscowosc = adres.miejscowosc; nazwaUlicy = adres.nazwaUlicy; numerDomu = adres.numerDomu; numerMieszkania = adres.numerMieszkania; } } } Klasa Program using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Kadry { public class Program { static void Main(string[] args) { Osoba os1 = new Osoba(5, "Ola", 43); Console.WriteLine(" Oryginał {0}", os1.ZwrocInformacjeOsobowe()); Console.WriteLine("\n***Zmieniamy klon:***\n"); Osoba klon1 = os1.Klonuj(); Console.WriteLine("\n Klon: {0}", klon1.ZwrocInformacjeOsobowe()); klon1.ZmienDaneOsobowe(); klon1.ZmienAdres(); Console.WriteLine("\n Klon: {0}", klon1.ZwrocInformacjeOsobowe()); Osoba os3 = new Osoba(ref os1); Console.WriteLine(" Oryginał {0}", os3.ZwrocInformacjeOsobowe()); Console.WriteLine("\n***Zmieniamy klon:***\n"); Console.WriteLine("\n Klon: {0}", klon1.ZwrocInformacjeOsobowe()); klon1.ZmienDaneOsobowe(); klon1.ZmienAdres(); Console.WriteLine("\n Klon: {0}", klon1.ZwrocInformacjeOsobowe()); Console.ReadKey(); } } }
  2. Witam stworzylem biblioteke z jedna klasa, dodalem ja do nowego projektu, wywolalem konstruktor iiii... nic, nic sie nie wyswietla jakbym nawet konstruktora nie wywolak:(
  3. Witajcie! Mam do wykonania program na zaliczenie mierzący szybkość sortowaną rożnymi metodami tablicy składającej się z 100000 elementów, każdy element ma być z zakresu od 2000 do 50000. Następnie testujemy prędkość sortowania dla tablicy nieposortowanej, posortowanej do połowy, posortowanej w kolejności rosnącej i kolejności malejącej: Wymyśliłem to sobie tak: Tworzę najpierw losowo wygenerowaną tablicę o podanych elementach Na jej podstawie tworzę wszystkie wspomniane warianty wbudowanymi metodami Z ich użyciem testuję wszystkie sortowania. Jestem skrajnie początkujący w Javie, chcę zrobić to zadanie tylko przy użyciu klas. Problem w tym że nie do końca łapie o co chodzi :(, nie wiem jak przekazać te posortowane tablice dalej jako obiekty import java.util.Arrays; import java.util.Random; public class main { //tablica podstawowa public static void main(String args[]) { int low = 2000; int high = 50000; int size = 100000; int[] baseArray = new int[size]; int[] randomSorted = baseArray.clone(); createArray(baseArray, size, low, high); sortArrays(baseArray, size, low, high); // jak wywołać tu np: tu y //bubbleSort(); //insertionSort(); //dla każdej tablic // #### Tworzę tablice szablonów #### public static void createArray(int[] baseArray, int size, int low, int high) { for (int i = 0; i < baseArray.length; i++) { Random randomNumber = new Random(); baseArray[i] = randomNumber.nextInt(high - low) + low; } System.out.println(Arrays.toString(baseArray)); } //Kopiuje bazową tablicę,tworząc nową tablicę dla: public static void sortArrays(int[] baseArray, int size, int low, int high) { //dla danych losowych int[] randomSorted = baseArray.clone(); System.out.println("Dla danych losowych " + Arrays.toString(randomSorted)); //dla danych posortowanych w kolejności rosnącej int[] ascendingSorted = baseArray.clone(); Arrays.sort(ascendingSorted); System.out.println("Dla danych posortowanych w kolejności rosnącej " + Arrays.toString(ascendingSorted)); //dla danych częściowo posortowanych int[] partiallySorted = baseArray.clone(); //Sortuj tablicę tylko do połowy (czyli od 0 do "długości" skopiowanej tablicy dzielonej na pół) Arrays.sort(partiallySorted, 0, (partiallySorted.length / 2)); System.out.println("Dla danych częściowo posortowanych (do połowy) " + Arrays.toString(partiallySorted)); //oraz dla danych posortowanych w kolejności malejącej int[] descendingSorted = baseArray.clone(); for (int i = 0; i < descendingSorted.length; i++) { descendingSorted[i] = ascendingSorted[ascendingSorted.length - 1 - i]; } System.out.println("Dla danych posortowanych w kolejności malejącej " + Arrays.toString(descendingSorted)); } // public static void bubbleSort() { //tu kod np dla sortowania bąbelkowego }; public static void insertionSort() { //tu kod np dla sortowania bąbelkowego }; }
  4. Cześć :) Mam prosbe czy mozecie mi pomoc w napisaniu programu, mam tu zastosowac konstruktor kopiujacy do obiektu dynamicznego, operator przypisania ( wykladowca mowil ze to sie robi w metodzie) oraz przeciazyc operator <<. Pozniej mam to przetestowac czy dobrze dziala prosze o pomoc ponizej wkleilam caly kod. :) #include <iostream> #include <cstring> using namespace std; class Procesor { private: string marka; int czestotliwosc; public: Procesor() : marka("Radeon") , czestotliwosc(1000) { #ifdef TESTPR cout << "Dziala konstruktor domyslny Procesor()" << endl; #endif } ~Procesor() { #ifdef TESTPR cout << "Dziala destruktor ~Procesor()" << endl; #endif } void infoprocesor() { cout << "marka procesora " << marka << endl; cout << " czestotliwosc procesora : " << czestotliwosc << endl; } }; #include <iostream> //#include "Karta.h" using namespace std; class Karta { private: string nazwa; int pamiec; public: Karta() : nazwa("Nvidia") , pamiec(2000) { //cout << "Karta " << endl; #ifdef TESTPR cout << "Dziala konstruktor dynamiczny Karta()" << endl; #endif } ~Karta() { #ifdef TESTPR cout << "Dziala destruktor ~Karta()" << endl; #endif } void wyswietlinfo() { cout << "nazwa karty" << nazwa << endl; cout << " pamiec karty" << pamiec << endl; } }; #include <iostream> #include <cstdio> #include <cstring> #include "procesor.cpp" #include "Karta.cpp" using namespace std; typedef int TypDanychT; class Komputer { private: string wykonawca; string producent; Procesor procesor; static int licznik; int dysk; Karta* karta; int ram; public: friend ostream& operator<<(ostream&, Komputer const&); Komputer(int x, int y) { this->x = x; this->y = y; } static int zwrocLicznik() { return licznik; } int x, y; Komputer() { karta = NULL; //cout << "konstruktor" << endl; x = 3; y = 5; dysk = 500; ram = 2000; ++licznik; #ifdef TESTPR cout << "Dziala konstruktor domyslny Komputer()" << endl; #endif } void dodajkarta() { if (karta == NULL) karta = new Karta(); cout << "dodana karta" << endl; } void usunkarta() { if (karta) delete karta; cout << "usunieto karta" << endl; } void infokomp() { cout << "dysk ma pojemnosc " << dysk << endl; cout << "pamiec ram wynosci " << ram << endl; if (karta) karta->wyswietlinfo(); procesor.infoprocesor(); } Komputer(const Komputer& o) { #ifdef TESTPR cout << "Dziala konstruktor kopiujacy Komputer()" << endl; #endif producent = o.producent; wykonawca = o.wykonawca; procesor = o.procesor; dysk = o.dysk; //if (o.karta != NULL) //karta = new Karta(*o.karta); cout << "konstruktor kopiujacy sie wywolal " << endl; cout << "pojemnosc dysku komputera wynosi " << dysk << endl; } ~Komputer() { --licznik; #ifdef TESTPR cout << "Dziala desturktor ~Komputer()" << endl; #endif } bool operator==(const Komputer& k) { return producent == k.producent; } void setProducent(string producent) { this->producent = producent; } Komputer& operator=(const Komputer& p) { cout << "operator przypisania" << endl; dysk = p.dysk; ram = p.ram; <em>/* if (p.karta != NULL) { if (karta == NULL) karta = new Karta; *karta = *p.karta; }*/</em> return *this; } Komputer operator+(Komputer& m) { cout << "operator + " << endl; Komputer temp; temp.x = x + m.x; temp.y = y + m.y; return temp; } // void przypisania::operator = (przypisania &b) //ostream& operator<< (ostream &wyjscie, Komputer const& ex) // { // wyjscie << "Pierwsza liczba: " << ex.pierwsza << " oraz druga: " << ex.druga << endl; //return wyjscie; // } }; #include "komputer.cpp" using namespace std; int Komputer::licznik = 0; int main() { //Karta *karta; //karta = new Karta(); cout << "Jest " << Komputer::zwrocLicznik() << " komputerow" << endl; Komputer k1; cout << "Jest " << Komputer::zwrocLicznik() << " komputer" << endl; Komputer k2; cout << "Sa " << Komputer::zwrocLicznik() << " komputery" << endl; Komputer* k3; cout << "Jestesmy po deklaracjach/definicjach" << endl; k3 = new Komputer(); cout << "Sa " << Komputer::zwrocLicznik() << " komputery" << endl; cout << (k1 == k2) << endl; cout << "procesory sa takie same wiec zwrocilo 1" << endl; k2.setProducent("Intel"); cout << (k1.operator==(k2)) << endl; cout << "procesory nie sa takie same wiec zwrocilo 0" << endl; cout << "Jest " << Komputer::zwrocLicznik() << " komputerow" << endl; delete k3; cout << "Jest " << Komputer::zwrocLicznik() << " komputerow bo usunelam jeden hah" << endl; Komputer k5; cout << "Jest " << Komputer::zwrocLicznik() << " komputerow" << endl; Komputer k6(k5); // konstruktor kopiujacy Komputer k7; Komputer k8; k7 = k8; k7 = k2 + k1; k2.dodajkarta(); k2.usunkarta(); k1.infokomp(); return 0; }
×
×
  • Create New...