Tải bản đầy đủ (.pdf) (6 trang)

Code C Quan ly san pham vang bac

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (291.98 KB, 6 trang )

namespace Quản_lí_sản_phẩm
{
internal abstract class VangBac
{
protected int MaSP;
protected string TenSP;
protected string HangSX;
protected double DonGia;
public VangBac()
{
MaSP = 0;
}
public VangBac(int maSP, string tenSP, string hangSX, double donGia)
{
MaSP = maSP;
TenSP = tenSP;
HangSX = hangSX;
DonGia = donGia;
}
public int maSP
{
get { return MaSP; }
set { MaSP = value; }
}
public string tenSP
{
get { return TenSP; }
set { TenSP = value; }
}
public string hangSX
{


get { return HangSX; }
set { HangSX = value; }
}
public double donGia
{
get { return DonGia; }
set { DonGia = value; }
}
public abstract void XuatTTSanPham();
public abstract double TinhTongTien();
public abstract void XetGiamGia();
public virtual void NhapTTSanPham()
{
Console.Write("Nhap ma san pham: ");
maSP = int.Parse(Console.ReadLine());
Console.Write("Nhap ten san pham: ");
tenSP = Console.ReadLine();
Console.Write("Nhap hang san xuat: ");
hangSX = Console.ReadLine();
Console.Write("Nhap don gia: ");
donGia = double.Parse(Console.ReadLine());
}
}
}

class Vang

:VangBac

{

private int TuoiVang;
private string LoaiVang;
private int SoLuong;
public Vang() : base ()
{
}


public Vang (int tuoiVang, string loaiVang, int soLuong, int maSP, string tenSP, string
hangSX, double donGia):base(maSP, tenSP, hangSX, donGia)
{
TuoiVang = tuoiVang;
LoaiVang = loaiVang;
SoLuong = soLuong;
}
public override void XuatTTSanPham()
{
Console.WriteLine("Ma san pham: {0} ", maSP);
Console.WriteLine("Ten san pham: {0} ", tenSP);
Console.WriteLine("Hang san xuat: {0}", hangSX);
Console.WriteLine("Don gia: {0}", donGia);
Console.WriteLine("Tuoi vang: {0}", TuoiVang);
Console.WriteLine("Loai vang: {0}", LoaiVang);
Console.WriteLine("So luong: {0}", SoLuong);
}
public override void NhapTTSanPham()
{
base.NhapTTSanPham();
Console.Write("Nhap tuoi vang: ");
TuoiVang = int.Parse(Console.ReadLine());

Console.Write("Nhap loai vang: ");
LoaiVang = Console.ReadLine();
Console.Write("Nhap so luong: ");
SoLuong = int.Parse(Console.ReadLine());
}
public override void XetGiamGia()
{
if(TuoiVang == 96 && LoaiVang == "nhan")
{
DonGia = DonGia * 0.97f;
}
else
{
if(TuoiVang == 97 && LoaiVang == "nhan")
{
DonGia = DonGia * 0.98f;
}
else
{
if (TuoiVang == 98 && LoaiVang == "nhan")
{
DonGia = DonGia * 0.99f;
}
}
}
}
public override double TinhTongTien()
{
return SoLuong * DonGia;
}

public string loaiVang
{
get { return LoaiVang; }
set { LoaiVang = value; }
}
}
}
internal class Bac : VangBac
{
private string LoaiBac;
private string Kieu;


private int SoLuong;
public Bac() : base ()
{
}
public Bac(string loaiBac, string kieu, int soLuong, int maSP, string tenSP,
string hangSX, double donGia):base(maSP, tenSP, hangSX, donGia)
{
LoaiBac = loaiBac;
Kieu = kieu;
SoLuong = soLuong;
}
public override void NhapTTSanPham()
{
base.NhapTTSanPham();
Console.Write("Nhap loai bac: ");
LoaiBac = Console.ReadLine();
Console.Write("Nhap kieu: ");

Kieu = Console.ReadLine();
Console.Write("Nhap so luong: ");
SoLuong = int.Parse(Console.ReadLine());
}
public override void XuatTTSanPham()
{
Console.WriteLine("Ma san pham: {0} ", maSP);
Console.WriteLine("Ten san pham: {0} ", tenSP);
Console.WriteLine("Hang san xuat: {0}", hangSX);
Console.WriteLine("Don gia: {0}", donGia);
Console.WriteLine("Loai bac: {0}", LoaiBac);
Console.WriteLine("Kieu: {0}", Kieu);
Console.WriteLine("So luong: {0}", SoLuong);
}
public override void XetGiamGia()
{
if(Kieu == "day chuyen" && LoaiBac == "8k")
{
DonGia = DonGia * 0.96f;
}
else
{
if(Kieu == "lac" && LoaiBac == "10k")
{
DonGia = DonGia * 0.98f;
}
}
}
public override double TinhTongTien()
{

return DonGia * SoLuong;
}
}
}
static void NhapTTSP(out VangBac[] ds, out int n, out int dem)
{
int iChon;
int tL;
dem = 0;
Console.Write("Nhap so san pham: ");
n = int.Parse(Console.ReadLine());
ds = new VangBac[n];
do
{
dem++;
Console.Write("Ban muon nhap san pham nao? (1:Vang 2:Bac ) ");
iChon = int.Parse(Console.ReadLine());


if (iChon == 1)
{
ds[dem - 1] = new Vang();
ds[dem - 1].NhapTTSanPham();
}
else
{
ds[dem - 1] = new Bac();
ds[dem - 1].NhapTTSanPham();
}
Console.Write("Ban muon tiep tuc khong? 1.Co, 2.Khong ");

tL = int.Parse(Console.ReadLine());
} while (tL != 2);
}
static void XuatTTVang(VangBac[] ds, int n, int dem)
{
for (int i = 0; i < n; i++)
{
if (ds[i] is Vang)
{
ds[i].XuatTTSanPham();
}
}
}
static void XuatSPHangPNJ(VangBac[] ds, int n, int dem)
{
for (int i = 0; i < n; i++)
{
if (ds[i].hangSX == "PNJ")
{
if (ds[i] is Vang)
{
ds[i].XuatTTSanPham();
}
else
{
ds[i].XuatTTSanPham();
}
}
}
}

static void SapXepGiaTang(VangBac[] ds, int n, int dem)
{
VangBac iTam;
for (int i = 0; i < dem; i++)
{
for (int j = i + 1; j < dem; j++)
{
if (ds[i].donGia > ds[j].donGia)
{
iTam = ds[i];
ds[i] = ds[j];
ds[j] = iTam;
}
}
}
Console.WriteLine("DANH SACH SAN PHAM CO DON GIA TANG DAN");
for (int i = 0; i < dem; i++)
{
ds[i].XuatTTSanPham();
}
}
static void XuatSPCoGiaTuXDenY(VangBac[] ds, int n, int dem)
{
double X, Y;
do


{
Console.Write("Nhap don gia X: ");
X = double.Parse(Console.ReadLine());

Console.Write("Nhap don gia Y: ");
Y = double.Parse(Console.ReadLine());
} while (X < 0 || Y < X );
for (int i = 0; i < n; i++)
{
if (ds[i].donGia > X && ds[i].donGia < Y)
{
if (ds[i] is Vang)
{
ds[i].XuatTTSanPham();
}
else
{
ds[i].XuatTTSanPham();
}
}
}
}
static void XuatSPCoMaZ(VangBac[] ds, int n, int dem)
{
int Z;
Console.Write("Nhap ma san pham Z: ");
Z = int.Parse(Console.ReadLine());
for (int i = 0; i < n; i++)
{
if (ds[i].maSP == Z)
{
if (ds[i] is Vang)
{
ds[i].XuatTTSanPham();

}
else
{
ds[i].XuatTTSanPham();
}
}
}
}
static void TinhTongTienTheoSanPham(VangBac[] ds, int n, int dem)
{
double sum1 = 0;
double sum2 = 0;
for (int i = 0; i < n; i++)
{
if (ds[i] is Vang)
{
Vang I = (Vang)ds[i];
if (I.loaiVang == "nhan")
{
sum1 += I.TinhTongTien();
}
else if (I.loaiVang == "mieng")
{
sum2 += I.TinhTongTien();
}
}
}
Console.WriteLine("Tong tien vang nhan: {0}", sum1);
Console.WriteLine("Tong tien vang mieng: {0}", sum2);
}

static void Main(string[] args)
{


int n;
VangBac[] ds;
int dem;
int tL, iChon;
NhapTTSP(out ds, out n, out dem);
do
{
Console.Clear();
Console.WriteLine("1. Xuat thong tin cac san pham la Vang");
Console.WriteLine("2. Xuat thong tin cac san pham cua hang PNJ");
Console.WriteLine("3. Sap xep cac san pham co gia tang");
Console.WriteLine("4. Xuat ra thong tin cac san pham co gia tu X den
Y");

}

Console.WriteLine("5. Xuat ra thong tin cac san pham co ma Z");
Console.WriteLine("6. Tinh tong tien theo tung loai san pham");
Console.Write("Ban chon so nao: ");
iChon = int.Parse(Console.ReadLine());
switch (iChon)
{
case 1:
{
XuatTTVang(ds, n, dem);
break;

}
case 2:
{
XuatSPHangPNJ(ds, n, dem);
break;
}
case 3:
{
SapXepGiaTang(ds, n, dem);
break;
}
case 4:
{
XuatSPCoGiaTuXDenY(ds, n, dem);
break;
}
case 5:
{
XuatSPCoMaZ(ds, n, dem);
break;
}
case 6:
{
TinhTongTienTheoSanPham(ds, n, dem);
break;
}
}
Console.ReadKey();
Console.WriteLine("Ban muon tiep tuc khong? 1,Co, 2.Khong ");
tL = int.Parse(Console.ReadLine());

} while (tL != 2);



×