enkapsulacja, co to jest??

0

witam wszystkich.
no i siedze w kropce, mam c++ na infie nie wiem co to Enkapsulacja bo taki mam temat na prace kontrolna i nigdzie tego nie potrafie znalezc, juz nawet szukałem ale nie ma takiego czegos, moze ktos z was wie na czym polega enkapsulacja i jakie z niej wynikaja konsekwencje????

i drugie mam problem z malym programem a treasc taka
"utworzyc klase [i]zołnierz[/i] ze skladnikami : [i]stopien, wzrost i stanowisko[/i] oraz funkcje dostepu umozliwiajace sprawdzenie jakie stanowisko <ort>zajmoje </ort>zołnierz i jaki ma wzrost."

mam juz nawet kod na ktorym mam to oprzec ale nie jestem z tego dobry moze by ktos był tak mily i go przekształcił zgodnie z textem

#include <iostream.h>
#include <studio.h>
class silnik {
public:
   int moc, obroty, obciazenie;

   silnik();
   void mierz(int il_kw);
   void mierz1(int il_obr);
   int obc(void);
   int obr(void);
  };

  silnik::silnik() {
   moc = 105;
   obroty = 1500;
   obciazenie = 900;  }

 void silnik::miez(int il_kw) {
  moc = moc + il_kw; 
}
 void silnik::miez(int il_kw) {
  moc = moc + il_obr; }
 int silnik::obc(void) {
  return obciazenie;
  }
 int silnik::obr(void) {
  return obroty;
 }
 void wypisz_stan(silnik &sil) {
  cout << "moc silnika wynosi : "<< sil.moc << "obroty : " << sil.obroty << "obciazenie: " << sil.obciazenie << "\n";
 }

int main(int argc, char *argv[])
{
  silnik sil;
  wypisz_stan(sil);
  sil.mierz1(5000);
  wypisz_stan(sil);
  sil.mierz(1);
  wypisz_stan(sil);
  sil.mierz(1);
  wypisz_stan(sil);
  return 0;
 }

byłbym bardzo wdzieczny za wszelka pomoc, c++ nie jest moja dobra strona, a musze to zaliczyc

0
  1. GOOGLE!! !! ("enkapsulacja", 3. pozycja od góry chyba, tj. 1,78 sek)
    http://www.leinad.master.pl/ftp/programowanie/C++/C++%20(kurs)/cbx-4.2.html
    PS> świetna strona, moim zdaniem facet powinien ksiązke napisać :)

  2. Ma być możliwość zapisu do pliku?
    i czy żołnierz ma być reprezentowany przez imię nazwisko, czy przez jakiś numer?

0

zobacze na to pierwsze co do drugiego to ma byc to <ort>najprostrze</ort>, <ort>wsumie </ort>to nie mielismy jeszcze o plikach ale musze sie wywyzszyc bo oblałem ustny ;-| a nie chce mi sie kolejny raz zdawac u niego wiec jak napisze ta prace dobrze to bede miec dopu lub dost a to ostatni sermestr. <ort>wsumie </ort>moglo by byc na plikach ale nie jaki imie i nazwisko, tylko generał, polkownik, takie cos.

co do ustnego , bylo tymrazem hardkorowo, nie bylo tylko wyszukac bledow i to koniec, bylo napisac wlasnie program , gosciu juz mi sie nie podoba ale to ostatni miesiac chodzenia i obrona pracy w nowym roku

0

KONKRETNIEJ - Co ma robić ten program??
Czy ma to być baza mogąca przechowywać iluś tam żołnieży i wyszukujesz jakiegoś konkretnego, a program wyświetla ci dane, czy musisz po prostu sobie stwrzyć klase dotyczącą jednego żołnieża z funkcją wyświetlającą te dane?

0

raczej starczylo by to

czy musisz po prostu sobie stwrzyć klase dotyczącą jednego żołnieża z funkcją wyświetlającą te dane?

0

Enkapsulacja, to ładnie po zagranicznemu, ale jak wolisz to poszukaj równiez pod 'kapsułkowanie'. Ma nawet ładne polskie 'ł' w środku. :]

0

raczej starczylo by to

czy musisz po prostu sobie stwrzyć klase dotyczącą jednego żołnieża z funkcją wyświetlającą te dane?
ale tak serio to sadze ze tu chodzi o to pierwsze, albo wiesz co dobra zrob to pierwsze i tak pytac sie mnie juz nie bedzie , bo ino mu dam i to wszystko

0

Program napisałem w ok. 17'30'' przed szkołą i już nawet nie zdąrzyłem go tu wrzucić:) Więc nie czepiaj się o szczegóły (brakuje m.in. opcji usuwania wpisów).

(Przepraszam, że wwalam to tutaj, ale to nie zasługuje na to by iść do kodów źródłowych) Aha... pisałem w Dev-C++ (chyba 4)

#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <fstream.h>
#include <stdlib.h>

class CWaleczny
{
public:
        bool Pokaz(char name[80]);
private:
        typedef struct { 
        int wzrost;
        char* stopien;
        char* stanowisko;
        char* nazwa; } Jaki;

};
bool CWaleczny::Pokaz(char name[80])
{
    char buff1[80];
    char buff2[80];
    char buff3[80];
    char buff4[80];
    ifstream infile("zolnierze.txt");
    if (!infile) {cout<<"BŁĄD ODCZYTU"<<endl; return 0;}
    else
    {
    while (!infile.eof())
    {
    infile.getline(buff1, sizeof(buff1));
    infile.getline(buff2, sizeof(buff2));
    infile.getline(buff3, sizeof(buff3));
    infile.getline(buff4, sizeof(buff4));
    Jaki dane;
    dane.nazwa = buff1;
    dane.stopien = buff2;
    dane.stanowisko = buff3;
    dane.wzrost = atoi(buff4);
    bool czy = true;
    for(int i=0; i<strlen(name); i++)
            {
            if(dane.nazwa[i]!=name[i])
                {
                czy = false; 
                }
            }    
    if(czy)
         {
         cout << "ŻOŁNIERZ: " << dane.nazwa <<endl;
         cout << "  |-STOPIEN   : " << dane.stopien <<endl;
         cout << "  |-STANOWISKO: " << dane.stanowisko <<endl;
         cout << "  `-WZROST    : " << dane.wzrost <<endl;
         return 1;
         }
    }
    }
    infile.close();
}
//-------------------------------
int main(int argc, char *argv[])
{
while(true)
{
cout << ".----------MENU----------." << endl;
cout << "|                        |" << endl;
cout << "|1. Lista Żołnierzy      |" << endl;
cout << "|2. Pokaż dane żołnierza |" << endl;
cout << "|3. Dodaj dane żołnierza |" << endl;
cout << "|4. K O N I E C          |" << endl;
cout << "|                        |" << endl;
cout << "`------------------------'" << endl;

int wybor;
cin >> wybor; 
if(wybor==4) {cout<<"DO WIDZENIA!!"; return 0;};
if(wybor==1)
    {
    char buff1[80];
    char buff2[80];
    char buff3[80];
    char buff4[80];
    ifstream infile("zolnierze.txt");
    if (!infile) {cout<<"BŁĄD ODCZYTU"<<endl; continue;};
    while (!infile.eof())
    {
    infile.getline(buff1, sizeof(buff1));
    infile.getline(buff2, sizeof(buff2));
    infile.getline(buff3, sizeof(buff3));
    infile.getline(buff4, sizeof(buff4));
    if(strlen(buffer1)>0)
    {
    cout << "ŻOŁNIERZ: " << buff1 <<endl;
    cout << "  |-STOPIEN   : " << buff2 <<endl;
    cout << "  |-STANOWISKO: " << buff3 <<endl;
    cout << "  `-WZROST    : " << buff4 <<endl;
    }
    }
    infile.close();
    }
else
if(wybor==2)
    {
    CWaleczny *Zolnierz;
    char name[80];
    cout << "Podaj nazwę żołnierza: ";
    cin >> name;
    if(!Zolnierz->Pokaz(name))
        {
        continue;
        }
    }
else
if(wybor==3)
    {
    char buff1[80];
    char buff2[80];
    char buff3[80];
    char buff4[80];
    cout << endl << "Podaj nazwę żołnierza: ";
    cin >> buff1;
    cout << endl << "Podaj jego stopień: ";
    cin >> buff2;
    cout << endl << "Podaj jego stanowisko: ";
    cin >> buff3;
    cout << endl << "Podaj jego wzrost: ";
    cin >> buff4;

    ofstream outfile("zolnierze.txt", ios::app);
    if (!outfile) cout << "NIE MOŻNA OTWORZYĆ/UTWORZYĆ PLIKU" << endl;
    outfile << buff1 << endl << buff2 <<endl << buff3 <<endl << buff4 <<endl ;
    outfile.close();
    }
}


}

<font color="blue">[</span><font color="red">ADD</span><font color="blue">]</span>
GOOGLE to moja wyrocznia :)

0

Enkapsulacja, to ładnie po zagranicznemu, ale jak wolisz to poszukaj równiez pod 'kapsułkowanie'. Ma nawet ładne polskie 'ł' w środku. :]

A ja wolę "hermetyzacja" lub jeszcze ładniejsze "osłonowanie" lub "opakowywanie" :P (choć co do ostatniego nie jestem pewien czy jest tu poprawnie użyte :| )

Ciekaw jestem, jakby się przeprowadziło szczerą ankietę wśród ludzi odwiedzających 4p, to ile osób zadeklarowałoby, że używa jakiejkolwiek wyszukiwarki internetowej i jak często... [stuk]

0

Ciekaw jestem, jakby się przeprowadziło szczerą ankietę wśród ludzi odwiedzających 4p, to ile osób zadeklarowałoby, że używa jakiejkolwiek wyszukiwarki internetowej i jak często... [stuk]

Ja kilkadziesiąt razy dziennie google [cygaro].

0

krecik - wielkie dzieki, moze nawet dostene 5 ale na to nie licze, bo i tak bedzie ort!, no ale to juz moja sprawa. troche to rozbudowane ale co mi tam , byle tylko zaliczyc i wynosci sie z tej budy. Jeszcze raz dzieki.
co do google to <ort>urzywam </ort>ale nie czesto bo nie szukam czesto nowych tematow ale jak musze to idzie onet a potem jak juz onet mnie zawiedzie to wtedy idzie google.pl , najczesciej ogladam to co zawsze wiec nie szukam nowych <ort>zrudeł </ort>iformacji ale znam to i ort!.

1 użytkowników online, w tym zalogowanych: 0, gości: 1