tailieu
//Đề 2: Cài đặt lớp SACH gồm
//dữ liệu: tên sách, tác giả, giá;
//phương thức xuất bản.
//Cài đặt lớp SGK kế thừa lớp SACH và bổ sung
//dữ liệu: lớp (LOP);
//phương thức: định nghĩa lại phương thức xuất bản để
//thêm điều kiện nếu LOP<6 thì được giảm giá 10%.
//Viết chương trình nhập mảng SGK có n quyển (n<10),
//in danh sách các SGK giảm giá.
#include<iostream>
#include<string>
using namespace std;
class sach{
public:
string m_tensach;
string m_tacgia;
float m_gia;
public:
sach(){m_tensach="";m_tacgia="";m_gia=0;};
sach(string tensach,string tacgia,float gia){
m_tensach=tensach;
m_tacgia=tacgia;
m_gia= gia;
};
friend istream& operator>>(istream &is,sach &x)
{
cout<<"nhap ten sach :";is>>x.m_tensach;
cout<<"nhap tac gia :";is>>x.m_tacgia;
cout<<"nhap gia sach :";is>>x.m_gia;
return is;
}
friend ostream& operator<<(ostream &os,sach &x)
{
os<<"("<<x.m_tensach<<","<<x.m_tacgia<<","<<x.m_gia<<")";
return os;
}
void xuatban(){cout<<"sach nay duoc xuat ban";};
};
class sgk:public sach{
public:
int m_lop;
public:
sgk():sach(){m_lop=0;};
sgk(string tensach,string tacgia,float gia,int lop):sach(tensach,tacgia,gia){
m_lop = lop;
};
friend istream& operator>>(istream &is,sgk &x)
{
cout<<"nhap ten sach :";is>>x.m_tensach;
cout<<"nhap tac gia :";is>>x.m_tacgia;
cout<<"nhap gia sach :";is>>x.m_gia;
cout<<"nhap lop :";is>>x.m_lop;
return is;
};
friend ostream& operator<<(ostream &os,sgk &x)
{
os<<"("<<x.m_tensach<<","<<x.m_tacgia<<","<<x.m_gia<<","<<x.m_lop<<")";
return os;
};
int operator<(sgk x)
{
if(m_lop <x.m_lop)return 1;
return 0;
};
void xuatban(){if(m_lop<6) cout<<"giam gia 10%";}
};
int main(){
//xây dựng một menu cho phép thao tác với bài toán đã cho như sau:
//-nhap -in -xuat ban -thoát
//cho lớp sách giáo khoa
// viết toán tử so sánh lớn hơn sgk1 > sgk2 nếu sgk1.lop > sgk2.lop
// viết thêm chức năng trong menu thực hiện sắp xếp sgk theo lớp
//
int n;
cout<<" nhap so n:";cin>>n;
sgk mangsgk[3];
sgk t;
for(int i=0;i<n;i++)
{
cout<<"Nhap sach giao khoa thu:"<<i+1;
cin>>mangsgk[i];
}
cout<<"danh sach sgk:";
for(int i=0;i<n;i++)
{
if(mangsgk[i].m_lop<6) cout<<mangsgk[i];mangsgk[i].xuatban();
}
/*int chon;
while (true)
{
cout<<"thao tac sgk
";
cout<<"01.nhap danh sach
";
cout<<"02.in danh sach
";
cout<<"03.xuat ban
";
cout<<"04.sap xep theo lop
";
cout<<"05.thoat
";
cout<<"chon mot chuc nang bat ky
";
cin>>chon;
switch(chon)
{
case 1:
cout<<"nhap so luong sach
";
cin>>n;
for(int i=0;i<n;i++){
cout<<" nhap sach giao khoa thu "<<i+1;
cin>>mangsgk[i];
};
cin.ignore();
break;
case 2:
cout<<"in ra danh sach
";
for(int i=0;i<n;i++){
cout<<mangsgk[i]<<"
";
};
break;
case 3:
cout<<"xuat ban
";
for(int i=0;i<n;i++){
mangsgk[i].xuatban();};
break;
case 4:
cout<<"sap xep sgk";
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
if(mangsgk[i]<mangsgk[j]){
t=mangsgk[i];
mangsgk[i]=mangsgk[j];
mangsgk[j]=t;
};
};
};
break;
case 5:
exit(1);break;
default :
cout <<" ban da nhap sai hay nhap lai
";
break;
}
}
*/
};
#include <iostream>
#include <string>
using namespace std;
//xây dựng một menu cho phép thao tác với bài toán đã cho như sau:
//-nhap -in -linh thưởng -thoát
//cho lớp sinh viên
class nguoi{
//dữ liệu: họ và tên, giới tính, địa chỉ;
//phương thức: lĩnh thưởng. +(xây dựng-constructor+vào ra)
public:
string m_hoten;
int m_gioitinh;
string m_diachi;
public:
nguoi(){m_hoten = ""; m_gioitinh = 0; m_diachi = "";};
nguoi(string hoten, int gioitinh, string diachi){m_hoten = hoten; m_gioitinh = gioitinh; m_diachi = diachi;};
friend istream& operator >> (istream &is, nguoi &x)
{
cout << "Nhap ho ten: "; is >> x.m_hoten;
cout << "Nhap gioi tinh: "; is >> x.m_gioitinh;
cout << "Nhap dia chi: "; is >> x.m_diachi;
return is;
};
friend ostream& operator << (ostream &os, nguoi &x)
{
os << x.m_hoten << ", gioi tinh(0/1)" << (x.m_gioitinh? "Nam" : "Nu") << ", dia chi " << x.m_diachi;
return os;
};
void LinhThuong()
{ cout << "Toi duoc linh thuong";
};
};
class sv: public nguoi{
//dữ liệu: điểm trung bình(DTB);
//phương thức: định nghĩa lại phương thức lĩnh thưởng để
//thêm điều kiện nếu DTB>8 thì được nhận 500000đ
public:
float m_DTB;
public:
sv():nguoi(){m_DTB=0;};
sv(string hoten, int gioitinh, string diachi, float DTB):nguoi(hoten, gioitinh, diachi)
{
m_DTB = DTB;
};
friend istream& operator >> (istream &is, sv &x)
{
cout << "Nhap ho ten: "; is >> x.m_hoten;
cout << "Nhap gioi tinh: "; is >> x.m_gioitinh;
cout << "Nhap dia chi: "; is >> x.m_diachi;
cout << "Nhap diem trung binh: "; is >> x.m_DTB;
return is;
};
friend ostream& operator << (ostream &os, sv &x)
{
os << x.m_hoten << ", gioi tinh: " << (x.m_gioitinh? "Nam" : "Nu")
<< ", dia chi " << x.m_diachi << ", DTB = " << x.m_DTB;
return os;
};
void LinhThuong()
{
if (m_DTB > 8)
cout << "Nhan duoc 500000 tien thuong!!!
";
};
};
void main(){
//- nhập mảng SV có n người (n<10), khai báo mảng (nhập n )
// nhập mảng (từng phần tử của mảng: for (i=0;i<n;i++))
//- in danh sách các sinh viên lĩnh thưởng for (i=0;i<n;i++)
int n;
cout << "Nhap so n ";
cin >> n;
sv mangsv[10];
for (int i = 0; i < n; i++)
{
cout << "Nhap sinh vien thu " << i+1;
cin >> mangsv[i];
}
cout << "DANH SACH SINH VIEN:
";
for (int i = 0; i < n; i++)
{
if (mangsv[i].m_DTB > 8)
cout << mangsv[i]<<"
";
}}
Bạn đang đọc truyện trên: Truyen2U.Com