Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 3 của 3
  1. #1

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Khắc phục lỗi ở phần sắp xếp trong C++

    Bài tập 6a.
    Xây dựng lớp đối tượng SANPHAM bao gồm
     Thuộc tính: tên sản phẩm, giá thành
     Phương thức: hàm nhập, hàm hiển thị
    Bài tập 6b.
    Xây dựng lớp đối tượng SANXUAT kế thừa từ lớp SANPHAM có thêm:
     Thuộc tính: tên công nhân, số lượng sản phẩm do công nhân đó sản xuất
     Thuộc tính tĩnh: phụ cấp theo lương sản phẩm (tính %)
     Phương thức: hàm tạo đặt thông tin mặc định, hàm nhập, hàm hiện, hàm tính lương (=số sản phẩm x 5% giá thành + %tiền phụ cấp)
    Chương trình chính: nhập danh sách N đối tượng SANXUAT, hiện danh sách ra màn hình, tính tổng lương, tìm và hiện ra tên các công nhân có tổng lương cao nhất.

    Mong mọi người xem giúp mình, mình làm gần xong rồi, còn phần tính tổng lương, tìm và hiện ra tên các công nhân có tổng lương cao nhất.
    Bác nào có thể code giúp mình được đoạn này k ?
    lấy ra tổng lương của từng nhân viên 1 ấy.
    Mong mọi người sửa giúp !
    Mình xin cảm ơn ạ.

    Mã:
    #include <iostream.h>
    #include <conio.h>
    #include <string.h>
    class sanpham
    {
       private:
         char *tensp;
       public:
         sanpham();
         sanpham(const sanpham &x);
         int gia;
         void nhap();
         void in();
         ~sanpham();
    };
    sanpham::sanpham()
    {
      tensp=new char[30];
      strcpy(tensp,"lap top");
      gia=1;
    }
    sanpham::sanpham(const sanpham &x)
    {
      tensp=new char [30];
      strcpy(tensp,x.tensp);
      gia=x.gia;
    }
    void sanpham::nhap()
    {
      cin.ignore();
      cout<<"nhap ten san pham:";cin.getline(tensp,30);
      cout<<"nhap gia san pham:";cin>>gia;
    }
    void sanpham::in()
    {
      cout<<"ten san pham:"<<tensp;
      cout<<"\tgia san pham:"<<gia<<endl;
    }
    sanpham::~sanpham()
    {
      delete tensp;
    }
    class sanxuat:public sanpham
    {
      private:
         char *tencn;
         int soluong;
         static int  phucap;
      public:
        sanxuat();
        void nhap();
        void in();
        float tinhluong();
        bool operator >=(sanxuat &p);
    };
    int sanxuat::phucap=2;
    sanxuat::sanxuat()
    {
     tencn=new char[30];
     strcpy(tencn,"nguyen thi B");
     soluong=1;
    }
    void sanxuat::nhap()
    {
      sanpham::nhap();
      cin.ignore();
      cout<<"nhap ten cua cong nhan:";cin.getline(tencn,30);
      cout<<"nhap so luong san pham:";cin>>soluong;
    }
    bool sanxuat:: operator >=(sanxuat &p)
    {
      if(p.tinhluong()>tinhluong())
        return 0;
        else
        return 1;
    }
    
    void sanxuat::in()
    {
      sanpham::in();
      cout<<"ten cong nhan:"<<tencn;
      cout<<"\tso luong :"<<soluong<<endl;
      cout<<"\ttien luong:"<<tinhluong()<<endl;
    }
    float sanxuat::tinhluong()
          {
            return (soluong*5*gia*100+phucap*100);
          }
    void main()
    {
      int n;
      cout<<"nhap so san pham:";cin>>n;
      sanxuat p[20];
      for(int i=0;i<n;i++)
      p[i].nhap();
      cout<<endl;
      cout<<"Danh sach san pham:"<<endl;
      for(int i=0;i<n;i++)
      {
      p[i].in();
      cout<<endl;
      }
      
      cout<<"Cong nhan co tong luong cao nhat:"<<endl;
      float max=p[0].tinhluong();
    	for(int i=0;i<n;i++)
    	{
      if(p[i].tinhluong()==max)
      p[i].in();
      }
      getch();
    }
    - - - Nội dung đã được cập nhật ngày 16-07-2014 lúc 09:53 AM - - -

    Bác nào giúp mình 1 hàm với ạ.
    Thanks

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Không phải in ra công nhân có lương top mấy...
    Mà theo mình hiểu thì là ví dụ có 1 người làm ra 2 sản phẩm thì phải cộng lương từ 2 sản phẩm đó đưa vào công nhân ấy thì ra tổng lương công nhân ấy nhận được.
    Còn in ra lương công nhân cao nhất thì có lẽ là đưa ra 1 người có lương cao nhất trong tất cả công nhân thôi

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •