may.cpp

来自「it s a code for calculator the price of 」· C++ 代码 · 共 109 行

CPP
109
字号
// May.cpp: implementation of the CMay class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "May.h"
#include "ChiTietPhuc.h"
#include "ChiTietDon.h"
#include "ChiTiet.h"
#include "iostream"
using namespace std;
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CMay::CMay()
{
	n=0;
}

CMay::~CMay()
{
	for(int i=0; i<n; i++)
		delete ds[i];
}

void CMay::Nhap()
{
	cout << "Nhap n cua may: ";
	cin >> n;
	ds.resize (n);
	int loai;
	for(int i=0; i<n; i++)
	{
		do
		{
			cout << "Nhap loai(0.Don, 1.Phuc): ";
			cin >> loai;
		}
		while (!(loai==0 || loai==1));
		switch(loai)
		{
		case 0:
			ds[i] = new CChiTietDon;
			break;
		case 1:
			ds[i] = new CChiTietPhuc;
			break;
		}
		ds[i]->Nhap();
	}
}

int CMay::TimKieu(long ms)
{
	for(int i=0; i<n; i++)
	{
		int kq = ds[i] -> TimKieu(ms);
		if(kq != -1)
			return kq;
	}
	return -1;
}

float CMay::TinhTien()
{
	float s=0;
	for(int i=0; i<n; i++)
		s += ds[i] -> TinhTien();
	return s;
}

void CMay::Xuat()
{
	cout << "\nMay gom:\n";
	for(int i=0; i<n; i++)
	{
		ds[i] -> Xuat();
		cout << endl;
	}
}

int CMay::DemChiTietDon()
{
	int dem=0;
	for(int i=0; i<n; i++)
		dem += ds[i]->DemChiTietDon();
	return dem;
}

CChiTiet* CMay::TimKiem(long ms)
{
	for(int i=0; i<n; i++)
	{
		CChiTiet* kq = ds[i]->TimKiem(ms);
		if(kq != NULL)
			return kq;
	}
	return NULL;
}

float CMay::TinhTien (long ms)
{
	float giatien=0;
	CChiTiet* chitiet=TimKiem(ms);
	if(chitiet != NULL)
		giatien = chitiet->TinhTien();
	return giatien;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?