Xây dựng một hàm Class đơn giản và sử dụng
March 07, 2023
Hướng dẫn thực hành Xây dựng hàm Class đơn giản:
Code hướng dẫn:
>
/*
Name: Quan ly thong tin toa do diem
Copyright: None
Author: Tran Anh
Date: 20/01/15 01:53
Description: http:/code.tavn.net
*/
#include<stdio.h>
#include<conio.h>
#include<iostream>
using namespace std;
class Diem{
private:
int x;
int y;
public:
void KhoiTao(int, int);
void NhapDiem();
void InDiem();
void DoiDiem(int, int);
int GiaTriX();
int GiaTriY();
};
void Diem::KhoiTao(int u, int v)
{
x=u;
y=v;
}
void Diem::NhapDiem()
{
cout<<"Nhap X: ";
cin>>x;
cout<<"Nhap Y: ";
cin>>y;
}
void Diem::InDiem()
{
cout<<"(X= "<<x<<", Y= "<<y<<")"<<endl; //"endl;" la in xong xuong dong
}
void Diem::DoiDiem(int dx, int dy)
{
x+=dx;
y+=dy;
}
int Diem::GiaTriX()
{
return x;
}
int Diem::GiaTriY()
{
return y;
}
main()
{
cout<<"***DUNG BIEN THONG THUONG:"<<endl;
Diem a;
a.KhoiTao(5,3);
a.InDiem();
//Doi diem a dich chuyen x tang 1, y tang 2
a.DoiDiem(1,2);
a.InDiem();
//In gia tri X cua diem a
cout<<"X cua a= "<<a.GiaTriX()<<endl;
//In gia tr Y cua diem a
cout<<"Y cua a= "<<a.GiaTriY()<<endl;
//Thu nhap diem cho a
a.NhapDiem();
a.InDiem();
cout<<endl<<"***DUNG BIEN CON TRO:"<<endl;
Diem *p;
p = new Diem;
//Khoi tao diem p con tro
p->KhoiTao(7,4);
p->InDiem();
//Nhap diem p con tro
p->NhapDiem();
p->InDiem();
//Doi diem X tang them 6, Y tang them 7
p->DoiDiem(6,7);
p->InDiem();
//Gia tri X cua P con tro
p->GiaTriX();
//Gia tri Y cua P con tro
p->GiaTriY();
cout<<endl<<"***DUNG MANG DAY SO:"<<endl;
Diem ds[7];
for(int i=0;i<7;i++)
ds[i].KhoiTao(i,i);
for(int i=0;i<7;i++)
{
cout<<" ";
ds[i].InDiem();
}
cout<<endl<<"***TRUY XUAT THEO YEU CAU:"<<endl;
cout<<"- Truy xuat gia tri X cua a: "<<endl;
cout<<"X= "<<a.GiaTriX();
cout<<endl;
cout<<"- Truy xuat gia tri X cua con tro P: "<<endl;
cout<<"X= "<<p->GiaTriX();
cout<<endl;
cout<<"- Truy xuat gia tri X cua phan tu ds[4]: "<<endl;
cout<<"X= "<<ds[4].GiaTriX();
cout<<endl;
cout<<"Tao mot ban sao b giong a: "<<endl;
Diem b=a; //Don gian la gang cho b gia tri bang a
b.InDiem();
getch();
}
>
/*
Name: Quan ly thong tin Sinh vien
Copyright: None
Author: Tran Anh
Date: 20/01/15 01:53
Description: http:/code.tavn.net
*/
#include<conio.h>
#include<stdio.h>
#include<iostream>
using namespace std;
class SinhVien
{
private:
char mssv[15];
char *hoten;
int namsinh;
float diem;
public:
SinhVien();
SinhVien(char*, char*, int,float);
~SinhVien();
void Nhap();
void Inthongtin();
char* XepLoai();
float GiaTriDiem();
};
SinhVien::SinhVien()
{
strcpy(mssv,"");
hoten=new char[200];
strcpy(hoten,"");
namsinh=1900;
diem=0;
}
SinhVien::SinhVien(char* ms, char* ht, int ns, float d)
{
strcpy(mssv,ms);
hoten= new char[200];
strcpy(hoten,ht);
namsinh=ns;
diem=d;
}
SinhVien::~SinhVien()
{
delete[] mssv;
delete hoten;
}
void SinhVien::Nhap()
{
cout<<"Ma so sinh vien: ";
cin>>mssv;
cout<<"Ho va ten: ";
cin.ignore();
cin.getline(hoten,199);
cout<<"Nam sinh: ";
cin>>namsinh;
cout<<"Diem trung binh: ";
cin>>diem;
}
void SinhVien::Inthongtin()
{
cout<<endl;
cout<<"Ten: "<<hoten<<" | "<<mssv<<" | "<<namsinh<<" | "<<diem<< endl;
}
float SinhVien::GiaTriDiem()
{
return diem;
}
char* SinhVien::XepLoai()
{
char* xl;
xl= new char[10];
if(diem<=10) strcpy(xl,"Gioi");
if(diem<8) strcpy(xl,"Kha");
if(diem<6.5) strcpy(xl,"Trung Binh");
if(diem<5) strcpy(xl,"Yeu");
return xl;
}
main()
{
SinhVien a;
// a.Nhap();
//a.Inthongtin();
SinhVien b("13D480201016","Tran Anh", 1999, 4.0);
b.Inthongtin();
cout<<"\nGia tri diem b: "<<b.GiaTriDiem();
cout<<"\nXep loai: "<<b.XepLoai();
getch();
}
Name: Quan ly thong tin Sinh vien
Copyright: None
Author: Tran Anh
Date: 20/01/15 01:53
Description: http:/code.tavn.net
*/
#include<conio.h>
#include<stdio.h>
#include<iostream>
using namespace std;
class SinhVien
{
private:
char mssv[15];
char *hoten;
int namsinh;
float diem;
public:
SinhVien();
SinhVien(char*, char*, int,float);
~SinhVien();
void Nhap();
void Inthongtin();
char* XepLoai();
float GiaTriDiem();
};
SinhVien::SinhVien()
{
strcpy(mssv,"");
hoten=new char[200];
strcpy(hoten,"");
namsinh=1900;
diem=0;
}
SinhVien::SinhVien(char* ms, char* ht, int ns, float d)
{
strcpy(mssv,ms);
hoten= new char[200];
strcpy(hoten,ht);
namsinh=ns;
diem=d;
}
SinhVien::~SinhVien()
{
delete[] mssv;
delete hoten;
}
void SinhVien::Nhap()
{
cout<<"Ma so sinh vien: ";
cin>>mssv;
cout<<"Ho va ten: ";
cin.ignore();
cin.getline(hoten,199);
cout<<"Nam sinh: ";
cin>>namsinh;
cout<<"Diem trung binh: ";
cin>>diem;
}
void SinhVien::Inthongtin()
{
cout<<endl;
cout<<"Ten: "<<hoten<<" | "<<mssv<<" | "<<namsinh<<" | "<<diem<< endl;
}
float SinhVien::GiaTriDiem()
{
return diem;
}
char* SinhVien::XepLoai()
{
char* xl;
xl= new char[10];
if(diem<=10) strcpy(xl,"Gioi");
if(diem<8) strcpy(xl,"Kha");
if(diem<6.5) strcpy(xl,"Trung Binh");
if(diem<5) strcpy(xl,"Yeu");
return xl;
}
main()
{
SinhVien a;
// a.Nhap();
//a.Inthongtin();
SinhVien b("13D480201016","Tran Anh", 1999, 4.0);
b.Inthongtin();
cout<<"\nGia tri diem b: "<<b.GiaTriDiem();
cout<<"\nXep loai: "<<b.XepLoai();
getch();
}
>
/*
Name: Class phong hoc
Authr: Tran Anh
Copyright: None
Communication: http://code.tavn.net
*/
#include<conio.h>
#include<stdio.h>
#include<iostream>
#include<string.h>
using namespace std;
class Room
{
private:
char RoomCode[20];
char* RoomName;
int Quantity;
public:
Room();
void InpRoom();
void OutRoom();
};
Room::Room()
{
strcpy(RoomCode,"");
RoomName=new char[255];
strcpy(RoomName,"");
Quantity=0;
}
void Room::InpRoom()
{
cout<<"\t- Nhap ma phong: ";
cin>>RoomCode;
cin.ignore();
cout<<"\t- Nhap ten phong: ";
cin.getline(RoomName,100);
cout<<"\t- Nhap so luong cho ngoi: ";
cin>>Quantity;
}
void Room::OutRoom()
{
cout<<"\n\t=> Phong "<<RoomCode<<" : "<<RoomName<<" : "<<Quantity<<" cho ngoi"<<endl;
}
main()
{
Room a;
a.InpRoom();
a.OutRoom();
getch();
return 0;
}
>
>
/*
Name: Quan ly mon an
Authr: Tran Anh
Copyright: None
Communication: http://code.tavn.net
*/
#include<stdio.h>
#include<conio.h>
#include<iostream>
#include<string.h>
using namespace std;
class MonAn
{
private:
char MaMonAn[];
char* TenMonAn;
int SoLuong;
int DonGia;
public:
MonAn();
void NhapTT();
void InTT();
int GetDonGia();
};
MonAn::MonAn()
{
strcpy(MaMonAn,"");
TenMonAn=new char[200];
strcpy(TenMonAn,"");
SoLuong=0;
DonGia=0;
}
void MonAn::NhapTT()
{
cout<<"\tNhap thong tin mon:"<<endl;
cout<<"Ma mon: "; cin>>MaMonAn;
fflush(stdin);
cout<<"Ten mon: "; cin.getline(TenMonAn,200);
cout<<"Don gia: "; cin>>DonGia;
}
void MonAn::InTT()
{
cout<<MaMonAn<<"\t"<<TenMonAn<<"\t\t"<<"( "<<DonGia<<" dong)"<<endl;
}
int MonAn::GetDonGia()
{
return DonGia;
}
main()
{
MonAn a[100];
char key;
int i=0;
cout<<"\t\tNHAP THONG TIN NHIEU MON AN\n";
cout<<"\t i: Nhap so moi"<<endl;
cout<<"\t p: In lai danh sach mon an da nhap"<<endl;
cout<<"\t q: In ra danh sach mon an theo thu tu tang dan cua don gia\n";
while(1){
fflush(stdin);
cout<<"\n- Chon thao tac: "; cin>>key;
if(key=='i')
{
i++;
a[i].NhapTT();
}
if(key=='p')
{
int n=i;
cout<<"\n\t Danh sach mon an da nhap:"<<endl;
for(int i=1;i<=n;i++)
a[i].InTT();
}
if(key=='q')
{
int n=i;
cout<<"\n\t Danh sach "<<n<<" mon an da nhap:"<<endl;
for(int i=1;i<n;i++)
for(int j=i+1;j<=n;j++)
if((a[i].GetDonGia())>(a[j].GetDonGia()))
{
MonAn k;
k=a[i];
a[i]=a[j];
a[j]=k;
}
for(int i=1;i<=n;i++)
a[i].InTT();
i=0; // tra don hang ve khong khi da t
}
}
getch();
}
Key:
Post a Comment