Prośba o pomoc i wytłumaczenie

0

Witajcie, po pierwsze chciałbym się z Wami przywitać- to mój pierwszy post tutaj. Jestem studentem i mam nieco problemu z zaliczaniem przedmiotu programowanie obiektowe. Ogólnie chodzi o to, że mam za niedługo kolokwium na którym do napisania będzie program podobny do tego poniżej. Chciałbym zaznaczyć, że nie jestem fanem programowania i nie znam się na nim nawet w stopniu średnim, ale przedmiot muszę zaliczyć a osoba prowadząca nie robi w ogóle żadnych popraw i trzeba płacić warunki dlatego zależy mi na tym, aby ktoś napisał mi co w ogóle robi ten program, oraz w jasny sposób opisał za co odpowiedzialne są poszczególne fragmenty kodu, tak żebym zrozumiał to chociaż na tyle, abym na kolokwium był ten program chociaż w stanie przerobić bo program zaliczeniowy ma być bardzo podobny do tego. Z góry dziękuje za pomoc i pozdrawiam.

 

#include <iostream>
using namespace std;

class OKNO
{
      unsigned a,b;
      public:
            OKNO(): a(10), b(20) {}
            OKNO (unsigned x, unsigned y): a(x), b(y){}
 
     void Rysuj () const;
     void Skaluj (unsigned);
     OKNO operator*(unsigned);

};

int main() {
     OKNO o1, o2 (30,40);
     unsigned s;
     // o1.Rysuj();
     // o2.Rysuj();
         cout<<"Podaj o ile chcesz skalować: ";
         cin>> s;
    // o1. Skaluj (s);
    // o1.Rysuj(s);
     
        o2=o1*s;
        o1. Rysuj();
        o2. Rysuj();
          return 0;
}

/*OKNO::OKNO()
{
          a=10: b=20;
} */

  void OKNO :: Rysuj() const
{
     cout<<a<< "\t"<<b<< endl;
}

void OKNO::Skaluj (unsigned n)
{
    a*=n; b*=n;
}
OKNO OKNO :: operator*(unsigned n)
    void OKNO:Rysuj() const
{
    cout<<a<<"\t"<<b<< endl;
}
    void OKNO::Skaluj (unsigned n)
{
   a*n; b*=n;
}
   OKNO OKNO:: operator *(unsigned n)
{
  a*=n; b*=n;
     
     return * this;
}

1

Co to w ogóle jest? To co podałeś nie ma prawa się kompilować, nawet po poprawkach. Powiedz co program ma robić, albo podaj poprawny, przynajmniej częściowo, kod. I wreszcie, powiedz czego nie rozumiesz.
Nie myśl że ktoś zrobi za Ciebie całe zadanie, tylko dlatego że Twój prowadzący jest zły i niedobry...
Kod umieszczaj w odpowiednich znacznikach, nie zapomnij o wcięciach, tego nie da się czytać.
Nazwy zmiennej nie mogą być liczbą, samo const nie jest poprawnym typem, tak samo jak unsigned, domykaj po sobie nawiasy...

0

@Zellus, program poprawiony, wygląda w tym momencie dokładnie tak jak wyglądał na monitorze na zajęciach. Nie rozumiem za bardzo o co chodziło ci z tym:

Nie myśl że ktoś zrobi za Ciebie całe zadanie, tylko dlatego że Twój prowadzący jest zły i niedobry...
Nie prosiłem nikogo o zrobienie mi zadania tylko o wytłumaczenie:
zależy mi na tym, aby ktoś napisał mi co w ogóle robi ten program, oraz w jasny sposób opisał za co odpowiedzialne są poszczególne fragmenty kodu, tak żebym zrozumiał to chociaż na tyle, abym na kolokwium był ten program chociaż w stanie przerobić bo program zaliczeniowy ma być bardzo podobny do tego
. A co do mojego prowadzącego to masz rację- jest zły i niedobry.

Jak można też zauważyć nie wiedziałem co miał robić ten program dlatego wrzuciłem go na forum, aby się tego dowiedzieć, a Ty odpisujesz abym napisał to to ma robić. Po krótce dowiedziałem się tyle, że ten program miał rysować i skalować; np. po narysowaniu kwadratu myszką można było ten kwadrat rozszerzać i jednocześnie rozszerzały się dwa boki równomiernie od pierwotnej wielkości.

1

Wg mnie każdy [autocenzura] który nie potrafi nawet przepisać z monitora (nie wspominając o zrozumieniu) powinien jednoznacznie nie zaliczyć.

#include <iostream>
using namespace std;
 
class OKNO
  {
   unsigned a,b;
   public:
   OKNO():a(10),b(20) {}
   OKNO(unsigned x,unsigned y):a(x),b(y) {}
   void Rysuj()const {  cout<<a<<"\t"<<b<<endl; }
   void Skaluj(unsigned n) { a*=n; b*=n; }
   OKNO operator*(unsigned n) { return OKNO(a*n,b*n); }
  };
 
int main()
  {
   OKNO o1,o2 (30,40);
   unsigned s;
   o1.Rysuj();
   o2.Rysuj();
   cout<<"Podaj o ile chcesz skalować: ";
   cin>>s;
   o1.Skaluj(s);
   o1.Rysuj(s); 
   o2=o1*s;
   o1.Rysuj();
   o2.Rysuj();
   return 0;
  }
0

Fajnie, że nie potrafię przepisać z monitora:

[IMG]http://i60.tinypic.com/hv4ihj.jpg[/IMG]
[IMG]http://i58.tinypic.com/1j41dt.jpg[/IMG]
[IMG]http://i62.tinypic.com/2627cbt.jpg[/IMG]

EDIT:
Proszę administratora o zamknięcie i najlepiej skasowane tematu, z racji na to, że dalsza polemika nie przyniesie ani zamierzonego efektu ani niczego innego pozytywnego.

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