⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 computer.cpp

📁 C++继承
💻 CPP
字号:
#include"computer.h"


/********class cpu的实现******************/

void Ccpu::GetCompany()
{
	char *p=new char[6];
	if(Intel==company) 
	{
		strcpy(p,"Intel");
	//	return p;
	}
	if(AMD==company)
	{
		strcpy(p,"AMD");
	//	return p;
	}
	cout<<"本cpu的生产厂家为:"<<p<<endl;
	delete p;
//	return NULL;
}

void Ccpu::SetCompany()
{
	int m;
	cout<<"请选择cpu厂家(1--Intel;2--AMD):";
	int i=0;
	while(1)
	{
		cin>>m;       
		switch(m)
		{
		case 1: company=Intel;
			          i=1;
			          break;
		case 2:   company=AMD;			          
			          i=1;
			          break;
		default:      cout<<"输入有误,请重新输入(1--Intel;2--AMD):";
		}
        if(1==i) break;
	}
	money=(company*rate*50);
}

void Ccpu::GetMoney()
{
	cout<<"本cpu的价格是:"<<money<<endl;
}

void Ccpu::SetRate()
{
	cout<<"请输入cpu的主频(1-4):";
	int i=0;
	int m;
	while(1)
	{
		cin>>m;
		switch(m)
		{
		case 1:       rate=1;
			          i=1;
			          break;
		case 2:       rate=2;			          
			          i=1;
			          break;
        case 3:       rate=3;			          
			          i=1;
			          break;
		case 4:       rate=4;			          
			          i=1;
			          break;
		default:      cout<<"输入有误,请重新输入(1-4):";
		}
        if(1==i) break;
	}
	money=(company*rate*50);
    
}

void Ccpu::Show()
{
	cout<<"本computer的cpu信息为:"<<endl;
	switch(company)
	{
	case Intel: cout<<"厂家:Intel"<<endl;
			          break;
	case AMD:   cout<<"厂家:AMD"<<endl;			          
			          break;
    default:    cout<<"厂家:"<<company<<endl;
	}
	cout<<"主频:"<<rate<<"GHz"<<endl;
	cout<<"价格:"<<money<<"元"<<endl;
}
	

/**********class CMemory类的实现*************/

void CMemory::GetCompany()
{
	char *p=new char[10];
	if(Kingston==company) 
		strcpy(p,"Kingston");
	if(Samsung==company)
		strcpy(p,"Samsung");
	if(Adata==company)
		strcpy(p,"Adata");
	if(HyunDai==company)
		strcpy(p,"HyunDai");

	cout<<"本Memory的生产厂家为:"<<p<<endl;
	delete p;
}

void CMemory::SetCompany()
{
	int m;
	cout<<"请选择Memory厂家(1--Kingston;2--Samsung;3--Adata;4--HyunDai):";
	int i=0;
	while(1)
	{
		cin>>m;       
		switch(m)
		{
		case 1: company=Kingston;
			          i=1;
			          break;
		case 2: company=Samsung;			          
			          i=1;
			          break;
		case 3: company=Adata;			          
			          i=1;
			          break;
		case 4: company=HyunDai;			          
			          i=1;
			          break;

		default:cout<<"输入有误,请重新输入(1--Kingston;2--Samsung;3--Adata;4--HyunDai):";
		}
        if(1==i) break;
	}
	money=(company*content*2);
}

void CMemory::GetMoney()
{
	cout<<"本Memory的价格是:"<<money<<endl;
}

void CMemory::SetContent()
{
	int m;
	cout<<"请设定本Memory的大小(126-2048):";
	while(1)
	{
		cin>>m;
		if((m>125)&&(m<2049))  break;
		else cout<<"输入有误,请重新输入:";
	}
	content=m;
    money=(company*content*2);
}

void CMemory::Show()
{
	cout<<"本computer的Memory信息为:"<<endl;
	switch(company)
	{
	case Kingston: cout<<"厂家:Kingston"<<endl;
			          break;
	case Samsung:   cout<<"厂家:Samsung"<<endl;
			          break;
	case Adata:   cout<<"厂家:Adata"<<endl;
			          break;
	case HyunDai:   cout<<"厂家:HyunDai"<<endl;
			          break;
    default:    cout<<"厂家:"<<company<<endl;
	}
	cout<<"大小:"<<content<<"M"<<endl;
	cout<<"价格:"<<money<<"元"<<endl;
}
/*************class MainBoard的实现****************/

void MainBoard::GetCompany()
{
	char *p=new char[10];
	if(ASUS==company) 
		strcpy(p,"ASUS");
	if(BIOSTAR==company)
		strcpy(p,"BIOSTAR");
	if(ECS==company)
		strcpy(p,"ECS");
	if(GIGA==company)
		strcpy(p,"GIGA");

	cout<<"本MainBoard的生产厂家为:"<<p<<endl;
	delete p;
}


void MainBoard::SetComany()
{
	int m;
	cout<<"请选择MainBorad厂家(1--ASUS;2--BIOSTAR;3--ECS;4--GIGA):";
	int i=0;
	while(1)
	{
		cin>>m;       
		switch(m)
		{
		case 1: company=ASUS;
			          i=1;
			          break;
		case 2: company=BIOSTAR;			          
			          i=1;
			          break;
		case 3: company=ECS;			          
			          i=1;
			          break;
		case 4: company=GIGA;			          
			          i=1;
			          break;

		default:cout<<"输入有误,请重新输入(1--ASUS;2--BIOSTAR;3--ECS;4--GIGA):";
		}
        if(1==i) break;
	}
	money=(company*200);
}

void MainBoard::GetMoney()
{
	if(oo)  	cout<<"本MainBoard的价格(包含cpu和memory)是:"<<money<<endl;
        else	cout<<"本MainBoard的价格是:"<<money<<endl;
}

void MainBoard::Show()
{
	cout<<"本computer的MainBoard信息为:"<<endl;
	switch(company)
	{
	case ASUS: cout<<"厂家:ASUS"<<endl;
			          break;
	case BIOSTAR:   cout<<"厂家:BIOSTAR"<<endl;
			          break;
	case ECS:   cout<<"厂家:ECS"<<endl;
			          break;
	case GIGA:   cout<<"厂家:GIGA"<<endl;
			          break;
    default:    cout<<"厂家:"<<company<<endl;
	}
	if(oo)  	cout<<"价格(包含cpu和memory)是:"<<money<<endl;
        else	cout<<"价格是:"<<money<<endl;

}

void MainBoard::Plug(Ccpu &p,CMemory &q)
{
	money=p.money+q.money;
	oo=true;
}

bool MainBoard::SelfCheck()
{
	if(true==oo)	return oo;
	else   return false;
}

/*************class monitor的实现****************/

void Monitor::GetCompany()
{
		char *p=new char[10];
	if(SONY==company) 
		strcpy(p,"SONY");
	if(LG==company)
		strcpy(p,"LG");
	if(viewsonic==company)
		strcpy(p,"viewsonic");
	if(BENQ==company)
		strcpy(p,"BENQ");

	cout<<"本MainBoard的生产厂家为:"<<p<<endl;
	delete p;
}

void Monitor::SetCompany()
{
	int m;
	cout<<"请选择Monitor厂家(1--SONY;2--LG;3--viewsonic;4--BENQ):";
	int i=0;
	while(1)
	{
		cin>>m;       
		switch(m)
		{
		case 1: company=SONY;
			          i=1;
			          break;
		case 2: company=LG;			          
			          i=1;
			          break;
		case 3: company=viewsonic;			          
			          i=1;
			          break;
		case 4: company=BENQ;			          
			          i=1;
			          break;

		default:cout<<"输入有误,请重新输入(1--SONY;2--LG;3--viewsonic;4--BENQ):";
		}
        if(1==i) break;
	}
	money=(company*size*cla);
}

void Monitor::GetMoney()
{
	cout<<"本Monitor的价格是:"<<money<<endl;
}

void Monitor::SetCla()
{
	int m;
	cout<<"请选择MOnitor型号(1--LCD;2--CRT):";
	int i=0;
	while(1)
	{
		cin>>m;       
		switch(m)
		{
		case 1: cla=LCD;
			          i=1;
			          break;
		case 2: cla=CRT;			          
			          i=1;
			          break;
		default:cout<<"输入有误,请重新输入(1--LCD;2--CRT):";
		}
        if(1==i) break;
	}
	money=(company*size*cla);
}

void Monitor::SetSize()
{
	cout<<"请输入Monitor的大小(14-19):";
	int i=0;
	int m;
	while(1)
	{
		cin>>m;
		switch(m)
		{
		case 14:      size=14;
			          i=1;
			          break;
		case 15:       size=15;			          
			          i=1;
			          break;
        case 16:       size=16;			          
			          i=1;
			          break;
		case 17:       size=17;			          
			          i=1;
			          break;
	    case 18:       size=18;			          
			          i=1;
			          break;
		case 19:       size=19;			          
			          i=1;
			          break;
		default:      cout<<"输入有误,请重新输入(14-19):";
		}
        if(1==i) break;
	}
	money=(company*size*cla);
}
	

void Monitor::Show()
{
	cout<<"本computer的Monitor信息为:"<<endl;
	switch(company)
	{
	case SONY: cout<<"厂家:SONY"<<endl;
			          break;
	case LG:   cout<<"厂家:LG"<<endl;
			          break;
	case viewsonic:   cout<<"厂家:viewsonic"<<endl;
			          break;
	case BENQ:   cout<<"厂家:BENQ"<<endl;
			          break;
    default:    cout<<"厂家:"<<company<<endl;
	}
	switch(cla)
	{
	case LCD: cout<<"型号:LCD"<<size<<endl;
			          break;
	case CRT:   cout<<"型号:CRT"<<size<<endl;
			          break;
	}
	cout<<"价格:"<<money<<"元"<<endl;
}

/****************computer的实现************************/

void Computer::Setcpucompany()
{
	cpuname.SetCompany();
}

void Computer::Setcpurate()
{
	cpuname.SetRate();
}

void Computer::Setmainboardcompany()
{
	boardname.SetComany();
}

void Computer::Setmemorycompany()
{
	memname.SetCompany();
}

void Computer::Setmemorysize()
{
	memname.SetContent();
}

void Computer::Setmonitorcompany()
{
	monname.SetCompany();
}

void Computer::Setmonitorsize()
{
	monname.SetSize();
}

void Computer::Displaymoney()
{
	getchar();
	    money=cpuname.money+monname.money;
	    money=money+memname.money;
		money=money+boardname.money;
	cout<<"这台computer整机的价格为:"<<money<<"元"<<endl;
	getchar();
}

void Computer::Displaycontent()
{
	cout<<"这台computer的配置信息为:"<<endl;
	cout<<endl;
	getchar();
	cpuname.Show();
	cout<<"**************************"<<endl;
	memname.Show();
	cout<<"**************************"<<endl;
	monname.Show();
	cout<<"**************************"<<endl;
	boardname.Show();
	cout<<"**************************"<<endl;
}

void Computer::Init()
{
	cout<<"请选择您喜欢的cpu厂家和主频:"<<endl;
	cpuname.SetCompany();
	cpuname.SetRate();
	cout<<"**************************"<<endl;
	cout<<"请选择您喜欢的memory厂家和大小:"<<endl;
	memname.SetCompany();
	memname.SetContent();
	cout<<"将cpu和memory装在MainBoard中......"<<endl;
	boardname.Plug(cpuname,memname);
	getchar();
}
bool Computer::Start()
{
	bool i=false;
	cout<<"检测computer是否安装正确...."<<endl;
	getchar();
    i=boardname.SelfCheck();
	if(i) cout<<"computer安装正确,可以使用!"<<endl;  
	else  cout<<"computer安装错误,请重新安装!"<<endl;
	getchar();
	return i;
}

void Computer::Setmonitorcla()
{
	monname.SetCla();
}

⌨️ 快捷键说明

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