You are on page 1of 10

VIỆN ĐẠI HỌC MỞ HÀ NỘI

KHOA CÔNG NGHỆ ĐIỆN TỬ - THÔNG TIN


--------------o0o--------------

BÁO CÁO
MÔN LẬP TRÌNH HƯỚNG ĐỐI
TƯỢNG
Đề tài: QUẢN LÝ BÁC SỸ

Giảng viên hướng dẫn: Thạc sĩ Phạm Tiến Huy

Sinh viên thực hiện: Nguyễn Trương Duy Anh - 19A12010028


PHẦN I: GIỚI THIỆU

I.1 GIỚI THIỆU NGÔN NGỮ C++.


C++ là một loại ngôn ngữ lập trình bậc trung (middle-level). Đây là ngôn ngữ lập trình đa năng được tạo
ra bởi Bjarne Stroustrup.
C++ là một phiên bản mở rộng của ngôn ngữ lập trình C. Những bản cập nhật gần đây nhất là C++ 14 và
C++ 17, và sắp tới là C++ 20 (đang trong quá trình phát triển), đã và đang mang đến những tính năng hỗ
trợ rất lớn cho lập trình viên C++.
I.2 Giới thiệu đề tài.
Quản lý nhân sự công ty là một đề tài nhằm hỗ trợ con người quản lý, lưu trữ thông tin của nhiều người
trong một tập thể lớn một cách thuận tiện hơn. Qua đó chúng ta có thể thống kê và tính toàn một cách dễ
dàng hơn.

PHẦN II: CODE VÀ CHẠY

II.1 CODE:
#include <iostream>
#include <string>
#include <vector>
#include <fstream>
using namespace std;

class NV
{
private:
string id;
string name;
string money;
string position;
public:
NV(){}
NV(string mnv, string ten, string tienluong, string chucvu) : id(mnv), name(ten),
money(tienluong), position(chucvu){}
void addPerson();
void delPerson(string mnv);
void editPerson(string mnv);
void showInfoPerson();
void showFile();
void setName(string ten)
{
name = ten;
}

void setMoney(string tienluong)


{
money = tienluong;
}
void setPosition(string chucvu)
{
position = chucvu;
}
};
vector<NV> listNV;
int main()
{
int input;
string id;
NV st;
while (true)
{
cout << "-----------------------------------MENU------------------------------\n";
cout << "|1. THEM THONG TIN BAC SY |\n";
cout << "|2. SUA THONG TIN BAC SY |\n";
cout << "|3. XOA THONG TIN BAC SY |\n";
cout << "|4. XUAT THONG TIN BAC SY |\n";
cout <<"|5. XUAT FILE THONG TIN BAC SY |\n";
cout << "|0. THOAT |\n";
cout << "---------------------------------------------------------------------\n";
cout << "Ban chon : " ;
cin >> input;

switch (input)
{
case 1:
cout << "Ban da chon them thong tin BAC SY!\n";
st.addPerson();
break;
case 2:
cin.ignore(); // ignore roi xuong duoi khong ignore nua
cout << "Ban da chon sua thong tin BAC SY!\n";
cout << "Nhap id BAC SY : "; getline(cin, id);
st.editPerson(id);
break;
case 3:
cout << "Ban da chon xoa thong tin BAC SY!\n";
cout << "Nhap id BAC SY : "; cin >> id;
st.delPerson(id);
break;
case 4:
cout << "Ban da chon xuat thong tin BAC SY!\n";
st.showInfoPerson();
case 5:
cout << "Ban da chon xuat File!\n";
st.showFile();
break;
case 0:
return 0;
}
}
}

void NV::addPerson()
{
string mnv, hoTen, tienluong, chucvu;
cin.ignore(32767, '\n');
cout << "Nhap ma ID BAC SY: " ; getline(cin, mnv);
cout << "Nhap ten BAC SY: "; getline(cin, hoTen);
cout << "Nhap tien luong : "; getline(cin,tienluong);
cout << "Nhap chuc vu: ";getline(cin, chucvu);
listNV.push_back(NV(mnv,hoTen,tienluong,chucvu));
}

void NV::showInfoPerson()
{
for (int i=0; i<listNV.size(); i++)

{
cout << "ID : " << listNV[i].id << " ";
cout << "Ten : " << listNV[i].name << " ";
cout << "Tien Luong : " << listNV[i].money << " ";
cout << "Chuc Vu : " <<listNV[i].position<< endl;
}
}
void NV::delPerson(string mnv)
{
for (int i=0; i<listNV.size() ; i++)
{
if (listNV[i].id == mnv)
{
listNV.erase(listNV.begin() + i);
}
}
}
void NV::editPerson(string mnv)
{
for (int i=0; i<listNV.size(); i++)
{
if (listNV[i].id==mnv)
{
string ten, tienluong,chucvu;
//cin.ignore();
cout << "Nhap lai ten BAC SY: "; getline(cin, ten);
cout << "Nhap lai tien luong: "; getline(cin, tienluong);
cout << "Nhap chuc vu moi: "; getline(cin, chucvu);
listNV[i].setName(ten);
listNV[i].setMoney(tienluong);
listNV[i].setPosition(chucvu);
}
else
cout << "Khong co BAC SY ID nhu nay!" << endl;
}
}
void NV::showFile()
{
ofstream fo("danhsachnv.txt");
for (int i=0; i<listNV.size(); i++)
{
fo << "ID : " << listNV[i].id << endl;
fo << "Ten : " << listNV[i].name << endl;
fo << "Tien Luong : " << listNV[i].money <<"$"<<endl;
fo << "Chuc Vu : " <<listNV[i].position<< endl;
fo << "------------------------------------\n";
}
fo.close();
string myfile;
ifstream fi("danhsachnv.txt");
for(int i=0; i<listNV.size(); i++);
{
while (getline (fi, myfile))
{
cout<< myfile;
}
}
fi.close();

II.2 CHẠY.
HÌNH 1
HÌNH 2
HÌNH 3: XUẤT FILE

You might also like