1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài Tiểu Luận Lập Trình Hướng Đối Tượng Đề Tài 33 Xây Dựng Chương Trình Quản Lý Cán Bộ Theo Hướng Đối Tượng..pdf

25 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng chương trình quản lý cán bộ theo hướng đối tượng
Tác giả Đỗ Quốc Khánh, Đỗ Thị Hoan
Người hướng dẫn Nguyễn Thái Sơn
Trường học Trường Đại học Đại Nam
Chuyên ngành Công nghệ thông tin
Thể loại Bài tiểu luận
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 25
Dung lượng 1,16 MB

Nội dung

TRƯỜNG ĐẠI HỌC ĐẠI NAM.BÀI TIỂU LUẬN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Đề tài 33: Xây dựng chương trình quản lý cán bộ theo hướng đối tượng.. Ưu điểm của việc sử dụng những phần mềm quản lý là g

Trang 1

TRƯỜNG ĐẠI HỌC ĐẠI NAM.

BÀI TIỂU LUẬN

LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

Đề tài 33: Xây dựng chương trình quản lý cán bộ theo hướng đối tượng.

Họ & tên sinh viên: Đỗ Quốc Khánh

Trang 2

Lý do chọn đề tài:

Từ trước đến nay, công việc quản lý nhân lực của các doanh nghiệp luôn là mộtcông việc thiết yếu Nhu cầu quản lý càng lúc càng cao cũng như đi kèm đó là nhữngkhó khăn và phức tạp do nguồn nhân lực ngày một lớn Việc có những ứng dụng từcông nghệ thông tin đang rất phát triển giúp giảm tải công việc quản lý bằng thủ côngcủa con người là điều rất cần thiết để giải quyết vấn đề trên

Ưu điểm của việc sử dụng những phần mềm quản lý là giảm sự trùng lặp, khảnăng sắp xếp thông tin cũng như đưa ra các báo cáo, hỗ trợ tìm kiếm giúp cho độ chínhxác và toàn vẹn dữ liệu của thông tin được đưa ra ở mức cao nhất có thể khi truy xuấttheo nhiều cách khác nhau cũng như là chia sẻ và ứng dụng thông tin

Từ những cơ sở đã tìm hiểu được về chủ đề trên, nhóm chúng em đã chọn đề tài:Xây dựng chương trình quản lý cán bộ theo hướng đối tượng

Thông tin cán bộ bao gồm:

Yêu cầu chương trình:

Mã Cán Bộ - Họ tên

Giới tính – Quê quán

Năm sinh – Chuyên Môn

Trình độ - Hệ số lương

Phụ cấp trách nhiệm – Ăn trưa

Thực lĩnh tính theo công thức = (HSL + PC)*450000+Ăntrưa

Năm tăng lương – Xếp loại lao động

Tạo và nhập một danh sách cán bộ

Hiển thị các cán bộ có trong danh sách

Liệt kê các cán bộ có chuyên môn CNTT

Hiển thị danh sách các cán bộ được sắp xếp loại giỏi

Sắp xếp danh sách theo mã cán bộ

Loại bỏ một cán bộ theo mã cán bộ

Thêm một cán bộ vào trong danh sách

Trang 3

Trong quá trình làm bài, nhóm em đã cố gắng tìm hiểu những tư liệu cũng như nhữngkiến thức dưới sự hướng dẫn của giảng viên nhằm hoàn thiện bài tập lớn Song khôngthể tránh khỏi sai sót Nhóm em rất mong được nhận sự góp ý từ thấy cô để bài làmđược hoàn thiện hơn.

Trang 4

I Hướng đối tượng và các khái niệm trong lập trình hướng đối tượng.

1 Hướng đối tượng là gì?

Hướng đối tượng là thao tác phân tích quy đổi những sự vật, sự việc, vật thể cótrong bài toán thành những đối tượng trong lập trình, giúp việc quản lý, phát triển, mởrộng chương trình được đơn giản hơn

Lập trình hướng đối tượng là cách sử dụng hàm để tạo ra một hệ thống code cólogic, những hàm được xây dựng có quan hệ với nhau được đặt vào một file và chúngkhông thể liên kết chặt chẽ với nhau

Những đối tượng trong một ngôn ngữ hướng đốin tượng là các kết hợp giữa mã

và dữ liệu mà chúng được nhìn nhận như là một đơn vị duy nhất Mỗi đối tượng cómột tên riêng biệt và tất cả các tham chiếu đến đối tượng đó được tiến hành qua têncủa nó Như vậy, mỗi đối tượng có khả năng nhận vào các thông báo, xử lý dữ liệu(bên trong của nó), và gửi ra hay trả lời đến các đối tượng khác hay đến môi trường

2 Công dụng của hướng đối tượng trong lập trình

Công dụng chính của hướng đối tượng là giúp tăng năng suất, đơn giản hóa độphức tạp khi bảo trì cũng như mở rộng phần mềm bằng cách cho phép lập trình viêntập trung vào các đối tượng phần mềm ở bậc cao hơn

Dựa trên nguyên lý kế thừa, trong quá trình mô tả các lớp có thể loại bỏ nhữngchương trình bị lặp, dư Và có thể mở rộng khả năng sử dụng các lớp mà không cầnthực hiện lại Tối ưu và tái sử dụng code hiệu quả

3 Các khái niệm trong lập trình hướng đối tượng

- Class: Là tập hợp các đối tượng (object) có điểm tương đồng hay khuôn mẫu

để tạo ra đối tượng Ngược lại, đối tượng là khuôn mẫu để tạo ra đối tượng

- Object: còn được gọi là thực thể hay là đối tượng Tùy vào ngữ cảnh củachương trình mà chúng ta phân tích trạng thái và hành vi cho phù hợp Chỉ lấy ranhững hành vi mà ta quan tâm đến, ko cần phải lấy hết tất cả các trạng thái và hành vicủa đối tượng có thể có

-Inheritance: Còn được gọi là kế thừa, đây là đặc tính cho phép một đối tượng

có thể có sẵn đặc tính mà đối tượng đã có thông qua kế thừa Điều này cho phép cácđối tượng chia sẻ hay mở rộng các đặc tính sẵn có mà không phải tiến hành định nghĩalại

Trang 5

II Trình bày thuật toán.

Trang 6

2 Hàm tính số tượng cán bộ xếp loại giỏi.

Ý tưởng thuật toán: Đối chiếu với mục xếp loại lao động có trong input Nếu xếp loại trùng với xếp loại giỏi thì đếm cán bộ đó và đưa thông tin ra màn hình

Cách thức thực hiện: Sử dụng biến check có kiểu bool và đối chiếu Nếu text rỗng thì biến check trả về giá trị check = 0, ngược lại thì thêm text vào b Sau đó xét, nếu text trùng khớp với chuỗi “Gioi” thì đấy giá trị check về true và in ra

Trang 8

4 Xây dựng hàm xóa cán bộ theo mã xác định.

Ý tưởng thuật toán: Nhập vào biến id cần xóa, sau đó đối chiếu với data Nếu data trống thì không xóa, nếu không, ta đối chiếu và lọc ra những cán bộ có mã cán bộ không trùngvới chuỗi kí tự mã cán bộ vào một file text1.txt Sau đó ta xóa dữ liệu trong file cũ đi và copy dữ liệu từ file text1 mới vào file text.txt

Cách thức thực hiện: sử dụng một biến id làm chuỗi kí tự cần xóa Sau đó dùng biến check để có thể đánh dấu đối chiếu trùng hay không Sau đó duyệt chuỗi và dùng file text1 để lưu trữ những phần tử không trùng lặp với id Tiếp đến là xóa dữ liệu của file text và duyệt file text1 và đưa những phần tử có trong đó vào lại text

Trang 9

MyWriteFile1 << text << endl;

}

MyReadFile.close();

MyWriteFile1.close();

ifstream MyWriteFile2("text1.txt"); ofstream MyReadFile2("text.txt"); int so;

stt = 0;

MyWriteFile2 >> so;

cout << check << " 123213" << endl; if(check != -1) MyReadFile2 << so - 1; else MyReadFile2 << so;

MyReadFile2 << endl;

while(getline(MyWriteFile2,text)){ if(stt != check){

Trang 10

MyWriteFile2 >> text; MyReadFile2 << text << endl; }

if(text == "endl") stt++; }

MyWriteFile2.close();

MyReadFile2.close();

}

Trang 12

this->GioiTinh=" "; this->QueQuan=" "; this->NamSinh=0; this->ChuyenMon=" "; this->TrinhDo=" "; this->HSL=0; this->PhuCap=0; this->AnTrua=0; this->ThucLinh=0; this->NamTL=0; this->XepLoai=" "; }

~CanBo(){

this->HoTen=" "; this->MaCB=0; this->GioiTinh=" "; this->QueQuan=" "; this->NamSinh=0; this->ChuyenMon=" "; this->TrinhDo=" "; this->HSL=0; this->PhuCap=0; this->AnTrua=0; this->ThucLinh=0; this->NamTL=0; this->XepLoai=" "; }

virtual void nhap();

Trang 13

virtual void xuat(); virtual void tinhluong(); virtual void CNTT(); virtual void LDGioi(); virtual void SapXepMCB(); virtual void XoaMCB();};

Trang 15

vector<string> a;

bool check = 0;

while (getline(MyReadFile,text)) {

getline(MyReadFile,text);

vector<string> b;

Trang 16

bool check = 0;

while (getline(MyReadFile,text)) {

Trang 18

stt++;

while(getline(MyReadFile,text)){ MyWriteFile1 << text << endl; if(text == "endl") break; }

}

MyReadFile.close();

MyWriteFile1.close();

ifstream MyWriteFile2("text1.txt"); ofstream MyReadFile2("text.txt"); int so;

stt = 0;

MyWriteFile2 >> so;

cout << check << " 123213" << endl; if(check != -1) MyReadFile2 << so - 1; else MyReadFile2 << so;

MyReadFile2 << endl;

while(getline(MyWriteFile2,text)){ if(stt != check){

Trang 20

int tt;

char fileName[]= "canbo.txt";

cout<<" -MENU -"<<endl;

cout<<"1 Hien thi danh sach can bo."<<endl;

cout<<"2 Liet ke cac cac bo co chuyen mon CNTT."<<endl;

cout<<"3 Hien Thi cac can bo xep loai gioi."<<endl;

cout<<"4 Hien thi danh sach theo ma can bo."<<endl;

cout<<"5 Loai bo mot can bo theo ma can bo."<<endl;

cout<<"6 Them can bo vao danh sach."<<endl;

cout<<"Nhap thao tac:";

Trang 21

cout<<"Ho Ten"<<setw(10)<<"|"<<"Ma can bo "<<"|"<<"Gioi tinh

"<<"|"<<"Que quan "<<"|"<<"Nam sinh "<<"|"<<"Chuyen mon "<<"|"<<"Trinh do

"<<"|"<<"He so luong "<<"|"<<"Phu cap "<<"|"<<"An trua "<<"|"<<"Nam tang luong

"<<"|"<<"Xep loai "<<endl;

cout<<"\nHo Ten"<<setw(10)<<"|"<<"Ma can bo "<<"|"<<"Gioi tinh

"<<"|"<<"Que quan "<<"|"<<"Nam sinh "<<"|"<<"Chuyen mon "<<"|"<<"Trinh do

"<<"|"<<"He so luong "<<"|"<<"Phu cap "<<"|"<<"An trua "<<"|"<<"Nam tang luong

"<<"|"<<"Xep loai "<<endl;

a[0].LDGioi();

}

pressAnyKey();

Trang 24

Kết luận

Trong quá trình hoàn thành bài báo cáo em đã rút ra được nhiều kinh nghiệm và nâng cao kỹ năng chuyên môn, phát hiện ra những thiếu sót trong kiến thức của mình Mặc dù đã cố gắng để xây dựng và chuẩn hóa theo lý thuyết nhưng trên thực tế gặp rất nhiều khó khăn, trong phạm vi kiến thức được học chắc chắn báo cáo của e sẽ có những thiếu sót Vì vậy em rất mong nhận được sự góp ý và đánh giá của cô để em có thể hoàn thiện hơn nữa Em xin chân thành cảm ơn!

Trang 25

Tài liệu tham khảo

1 Wikipedia, Lập trình hướng đối tượng

2 Khóa học lập trình hướng đối tượng trên youtube của thầy Nguyễn Tâm Thiện

3 Giáo trình lập trình hướng đối tượng

4. Các tư liệu về lập trình hướng đối tượng của trung tâm VT

Ngày đăng: 25/05/2024, 10:08

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN