BG Development


Страници: (2) [1] 2   ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> Задача по ООП(с 2 класа)
D.Ivanov
Публикувано на: 23-05-2018, 09:46
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 2
Регистриран на: 13.05.18



Здравейте!Задачата е следната: Да се създаде клас People с член данни:име(символен низ с дължина 50 знака),банкова сметка(символен низ с дължина 15 знака),поле позиция(цяло число от 1 до 3/1-ръководител на звено,2-служител,3-работник) и отработени часове за месеца,метод за отпечатване и конструктур по подразбиране.Втори клас - заплата Pay с член данни:заплата за трите типа служители(реален тип) за служителите 1 - ръководител на звено Boss,2 служител Employee и 3 работник Worker,класът да притежава конструктор по подразбиране.Да се декларира приятелска функция на двата класа с която да се изчислява заплатата на всеки служител от трите категории.Това съм направил аз до момента :
CODE
#include <iostream>
#include <conio.h>
using namespace std;
class People;
class Pay
{
   char Name[50];
   char BankAcc[15];
   int Position;
   int HoursWorking;
   public:
          People()
          {
                  cout<<"Enter a name";
                  cin>>Name;
                  cout<<"Enter a Bank Account";
                  cin>>BankAcc;
                  cout<<"Enter a position";
                  cin>>Position;
                  switch (Position)
                  {
                         case 1:cout<<"Boss";
                         break;
                         case 2:cout<<"Employee";
                         break;
                         case 3:cout<<"Worker"
                         break;
                         }
                                 cout<<"Enter a hours of working";
                                 cin>>HoursWorking;
                                 }
                                 friend double calculate(Position &,HoursWorking &);
                                 };
                                 int People::Position;
                                 class Pay
                                 {
                                       double for_a_Boss;
                                       double for_a_Employee;
                                       double for_a_Worker;
                                       public:
                                              Pay()
                                              {
                                                cout<<"Enter a salary of Boss";
                                                cin>>for_a_Boss;
                                                cout<<"Enter a salary of Employee";
                                                cin>>for_a_Employee;
                                                cout<<"Enter a salary of Worker";
                                                cin>>for_a_Worker;
                                                }
                                                friend double calculate(Position &,HoursWorking &);
                                                };
                                                double calculate(Position &x,HoursWorking &y)
                                                {
                                                       double s;
                                                       if(x.Position==1)
                                                       s=x.Position*y.for_a_Boss;
                                                       if(x.Position==2)
                                                       s=x.Position*y.for_a_Employee;
                                                       if(x.Position==3)
                                                       s=x.Position*y.for_a_Worker;
                                                       }
                                                       return s;
                                                       }
                                                       clrscr();
                                                       People object;
                                                       Pay salary;
                                                       object.display();
                                                       cout<<"is recieved"<<caculate(object,salary)<<"BGN"<<endl;
                                                       getch();
                                                       }

Да ми кажете къде греша?Мерси предварително на отзовалите се
PMEmail Poster
Top
Gamma Goblin
Публикувано на: 23-05-2018, 09:50
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1236
Регистриран на: 21.02.18



Идентацията ти е толкова смотана, че нямаше да погледна какво си направил даже и да ми плащаше за това.

Другата ти грешка е че не днаеш как да зададеш правилно въпроса си, и затова получаваш такъв отговор.

И за малко да забравя - отварящата се скоба се пише на същия ред !!!

Това мнение е било редактирано от Gamma Goblin на 23-05-2018, 09:51


--------------------
Напред! Живота е сраженье! Напред! И прав всегда ходи!
Напред, макар към поражение! Ако ще паднеш, прав падни!
---
Raw, and untamed in spirit, We chew this world and Spit it out
---
Challenge my own world to chaos
---
Im not intimidated by the good looking ones, it's the ugly ones that scare the shit out of me
PMEmail PosterUsers Website
Top
SuN
Публикувано на: 23-05-2018, 10:02
Quote Post


Group Icon
Име:
Група: Администратор
Ранг: Почетен член

Мнения: 6855
Регистриран на: 27.01.05



Ох, пак се появиха тия дето заместват демонстрацията на знания с несъществена критика...


--------------------
Копирай лесно ударено и - ѝ Ѝ
Замърсяване на въздуха в София - http://aqicn.org/city/bulgaria/sofia/druzhba/
PMEmail Poster
Top
fast_user
Публикувано на: 23-05-2018, 10:06
Quote Post



Име:
Група: Потребител
Ранг: Редовен член

Мнения: 406
Регистриран на: 19.09.12



QUOTE (Gamma Goblin @ 23-05-2018, 10:50)
И за малко да забравя - отварящата се скоба се пише на същия ред !!!

Вземи пиши и на Линус, че нещо и той не знае как да си форматира кода.


--------------------
Linux is only free if your time has no value.
Linux Akbar
PMEmail Poster
Top
Gamma Goblin
Публикувано на: 23-05-2018, 10:20
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1236
Регистриран на: 21.02.18



QUOTE (SuN @ 23-05-2018, 10:02)
Ох, пак се появиха тия дето заместват демонстрацията на знания с несъществена критика...

кой те кара да се появяваш ?


--------------------
Напред! Живота е сраженье! Напред! И прав всегда ходи!
Напред, макар към поражение! Ако ще паднеш, прав падни!
---
Raw, and untamed in spirit, We chew this world and Spit it out
---
Challenge my own world to chaos
---
Im not intimidated by the good looking ones, it's the ugly ones that scare the shit out of me
PMEmail PosterUsers Website
Top
SuN
Публикувано на: 23-05-2018, 10:38
Quote Post


Group Icon
Име:
Група: Администратор
Ранг: Почетен член

Мнения: 6855
Регистриран на: 27.01.05



QUOTE (Gamma Goblin @ 23-05-2018, 10:20)
QUOTE (SuN @ 23-05-2018, 10:02)
Ох, пак се появиха тия дето заместват демонстрацията на знания с несъществена критика...

кой те кара да се появяваш ?

Това беше констатация.


--------------------
Копирай лесно ударено и - ѝ Ѝ
Замърсяване на въздуха в София - http://aqicn.org/city/bulgaria/sofia/druzhba/
PMEmail Poster
Top
relax4o
Публикувано на: 23-05-2018, 14:58
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2079
Регистриран на: 04.04.07



Какви са тези редактори, които форматират всеки път така кода на студентите. Ужас. Поне малко да ги учат и на това в даскало.

Колкото до въпроса на автора. Какво и има на твоята програма? Не работи ли, не се компилира или ...?
Ако не работи като хората, поне кажи кое не работи като хората, за да ти се помогне подобаващо.

Никой няма да седне да компилира кода, само за да тества.

Абе не съм запознат с ООП в C++, ама това въобще разрешено ли е в езика и каква му е идеята:

CODE

class People;


Това да не работи като предефинирането на функциите?

CODE

#include ...

using namespace std;

void someFunction();

void someFunction() {
   //...
}


Това мнение е било редактирано от relax4o на 23-05-2018, 15:02


--------------------
Бисери :D

QUOTE (oveRLuckEd)
Ползваш някоя нова версия на PHP, която е вече ооп ориентирана и заради това ти я изкарва тази грешка.


QUOTE (nbacool2)
Щом няма input полета, значи няма откъде да се направи SQL инжекция Very Happy
PM
Top
Gamma Goblin
Публикувано на: 23-05-2018, 15:11
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1236
Регистриран на: 21.02.18



QUOTE
Абе не съм запознат с ООП в C++, ама това въобще разрешено ли е в езика и каква му е идеята:
forward declaration. Това решава проблем който не би трябвало да съществува. За да си опростят компилатора насират целия с++ код на света.


--------------------
Напред! Живота е сраженье! Напред! И прав всегда ходи!
Напред, макар към поражение! Ако ще паднеш, прав падни!
---
Raw, and untamed in spirit, We chew this world and Spit it out
---
Challenge my own world to chaos
---
Im not intimidated by the good looking ones, it's the ugly ones that scare the shit out of me
PMEmail PosterUsers Website
Top
relax4o
Публикувано на: 23-05-2018, 15:12
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2079
Регистриран на: 04.04.07



Специално си поиграх да ти индентирам кода, за да се откроят нещата, които няма да ти сработят.

CODE

#include <iostream>
#include <conio.h>
using namespace std;

class People //;

//class Pay
{
   char Name[50];
   char BankAcc[15];
   int Position;
   int HoursWorking;
   
   public:
       People() {
           cout<<"Enter a name";
           cin>>Name;
           cout<<"Enter a Bank Account";
           cin>>BankAcc;
           cout<<"Enter a position";
           cin>>Position;
                 
           switch (Position) {
               case 1:
                   cout<<"Boss";
                   break;
               case 2:
                   cout<<"Employee";
                   break;
               case 3:
                   cout<<"Worker";
                   break;
           }
                               
           cout<<"Enter a hours of working";
           cin>>HoursWorking;
       }
                               
       friend double calculate(Position &,HoursWorking &);
};

int People::Position;

class Pay
{
   double for_a_Boss;
   double for_a_Employee;
   double for_a_Worker;
   
   public:
       Pay() {
           cout<<"Enter a salary of Boss";
           cin>>for_a_Boss;
           cout<<"Enter a salary of Employee";
           cin>>for_a_Employee;
           cout<<"Enter a salary of Worker";
           cin>>for_a_Worker;
       }
                                               
       friend double calculate(Position &,HoursWorking &);
};
                                               
double calculate(Position &x,HoursWorking &y) {
   double s;
                                                     
   if(x.Position==1) {
       s=x.Position*y.for_a_Boss;
   }
                                                     
   if(x.Position==2) {
       s=x.Position*y.for_a_Employee;
   }
   
   if(x.Position==3) {
       s=x.Position*y.for_a_Worker;
   }
   
   return s;
}


// тука така като гледам трябва да добавиш main функция

// void main() {
   clrscr();
   People object;
   Pay salary;
   object.display();
   cout<<"is recieved"<<caculate(object,salary)<<"BGN"<<endl;
   getch();
//}


Горе, което е закоментирано е most likely да е грешно написано.
А най-долу кода е по-вероятно да иска main фунцкия, иначе няма как да ти сработи програмата.
Останалата логика не съм я гледал, но на пръв поглед трябва да оправиш тези неща.

Това мнение е било редактирано от relax4o на 23-05-2018, 15:13


--------------------
Бисери :D

QUOTE (oveRLuckEd)
Ползваш някоя нова версия на PHP, която е вече ооп ориентирана и заради това ти я изкарва тази грешка.


QUOTE (nbacool2)
Щом няма input полета, значи няма откъде да се направи SQL инжекция Very Happy
PM
Top
D.Ivanov
Публикувано на: 23-05-2018, 16:55
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 2
Регистриран на: 13.05.18



QUOTE (relax4o @ 23-05-2018, 15:12)
Специално си поиграх да ти индентирам кода, за да се откроят нещата, които няма да ти сработят.


Благодаря на теб,а иначе съм останал с правилното виждане като разгледах в началото че това е най-спамерския и най-непотребен форум.Ходи да си полезен поне ти в някой другicon_smile.gif
п.с Как ме разбра какво питам нали не е зададен правилно въпроса icon_biggrin.gif
PMEmail Poster
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (2) [1] 2  Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2018 | BG Development | All Rights Reserved
RSS 2.0