sicily-C++机考模拟考-1000. 购买电脑
2012-06-02 13:59
381 查看
组装一台台式电脑的时候,我们可以根据自己需求,列出一个清档,叫商家帮我们配好清单上的硬件跟软件,简单地模拟这个过程,如同下边的代码,请你根据样例测试数据完成以下三个类的所有方法定义。
PS:请注意输出的一些空格跟符号。
源代码
#include <iostream>
#include <string>
using namespace std;
//硬件类
class Hardwares{
private:
string CPU;
string memory;
string disk;
public:
void setCPU(string CPU);
void setMemory(string memory);
void setDisk(string disk);
void print();
};
//软件类
class Softwares{
private:
string OS;
string browser;
public:
void setOS(string OS);
void setBrowser(string browser);
void print();
};
//组装电脑
class Computer{
private:
string supplier;//商家
Hardwares hardwares;//硬件
Softwares softwares;//软件
public:
Computer(string supplier);
void changeHardware(string hardwareType, string hardwareName);
void changeSoftware(string softwareType, string softwareName);
void print();
};
void Hardwares::setCPU(string CPU)
{
this->CPU = CPU;
}
void Hardwares::setDisk(string disk)
{
this->disk = disk;
}
void Hardwares::setMemory(string memory)
{
this->memory = memory;
}
void Hardwares::print()
{
cout << "Hardwares : " << endl;
cout << "-CPU:" << CPU << endl;
cout << "-memory:" << memory << endl;
cout << "-disk:" << disk << endl;
}
void Softwares::setOS(string OS)
{
this->OS = OS;
}
void Softwares::setBrowser(string browser)
{
this->browser = browser;
}
void Softwares::print()
{
cout << "Softwares : " << endl;
cout << "-OS:" << OS << endl;
cout << "-browser:" << browser << endl;
}
Computer::Computer(string supplier)
{
this->supplier = supplier;
}
void Computer::changeHardware(string hardwareType, string hardwareName)
{
if (hardwareType == "CPU")
{
this->hardwares.setCPU(hardwareName);
}
else if (hardwareType == "memory")
{
this->hardwares.setMemory(hardwareName);
}
else if (hardwareType == "disk")
{
this->hardwares.setDisk(hardwareName);
}
}
void Computer::changeSoftware(string softwareType, string softwareName)
{
if (softwareType == "OS")
{
this->softwares.setOS(softwareName);
}
else if (softwareType == "browser")
{
this->softwares.setBrowser(softwareName);
}
}
void Computer::print()
{
cout << "supplier : " << supplier << endl;
hardwares.print();
softwares.print();
}
注意:hardware : 和software: 后面都有空格
PS:请注意输出的一些空格跟符号。
样例测试数据: Computer c("Shop-Eg"); c.changeHardware("CPU", "AMD"); c.changeHardware("memory", "Samsung DDR3"); c.changeHardware("disk", "Barracuda 500G"); c.changeSoftware("OS", "Windows 7"); c.changeSoftware("browser", "Chrome"); c.print();
对应输出(注意最后一行有一个换行符): supplier : Shop-Eg Hardwares : -CPU:AMD -memory:Samsung DDR3 -disk:Barracuda 500G Softwares : -OS:Windows 7 -browser:Chrome
源代码
#include <iostream>
#include <string>
using namespace std;
//硬件类
class Hardwares{
private:
string CPU;
string memory;
string disk;
public:
void setCPU(string CPU);
void setMemory(string memory);
void setDisk(string disk);
void print();
};
//软件类
class Softwares{
private:
string OS;
string browser;
public:
void setOS(string OS);
void setBrowser(string browser);
void print();
};
//组装电脑
class Computer{
private:
string supplier;//商家
Hardwares hardwares;//硬件
Softwares softwares;//软件
public:
Computer(string supplier);
void changeHardware(string hardwareType, string hardwareName);
void changeSoftware(string softwareType, string softwareName);
void print();
};
void Hardwares::setCPU(string CPU)
{
this->CPU = CPU;
}
void Hardwares::setDisk(string disk)
{
this->disk = disk;
}
void Hardwares::setMemory(string memory)
{
this->memory = memory;
}
void Hardwares::print()
{
cout << "Hardwares : " << endl;
cout << "-CPU:" << CPU << endl;
cout << "-memory:" << memory << endl;
cout << "-disk:" << disk << endl;
}
void Softwares::setOS(string OS)
{
this->OS = OS;
}
void Softwares::setBrowser(string browser)
{
this->browser = browser;
}
void Softwares::print()
{
cout << "Softwares : " << endl;
cout << "-OS:" << OS << endl;
cout << "-browser:" << browser << endl;
}
Computer::Computer(string supplier)
{
this->supplier = supplier;
}
void Computer::changeHardware(string hardwareType, string hardwareName)
{
if (hardwareType == "CPU")
{
this->hardwares.setCPU(hardwareName);
}
else if (hardwareType == "memory")
{
this->hardwares.setMemory(hardwareName);
}
else if (hardwareType == "disk")
{
this->hardwares.setDisk(hardwareName);
}
}
void Computer::changeSoftware(string softwareType, string softwareName)
{
if (softwareType == "OS")
{
this->softwares.setOS(softwareName);
}
else if (softwareType == "browser")
{
this->softwares.setBrowser(softwareName);
}
}
void Computer::print()
{
cout << "supplier : " << supplier << endl;
hardwares.print();
softwares.print();
}
注意:hardware : 和software: 后面都有空格
相关文章推荐
- 第十七周:[Sicily]机考模拟题1000-1006
- Sicily 7996. 购买电脑
- c++实验2-模拟ATM
- c++作业2-分段函数求值,两点距离,模拟ATM
- ATM 模拟 C++
- 第十九周:( Sicily2014) Dairy Queen(c++)
- 模拟一个C++的函数strstr()函数:该函数的返回值是主串中字符串子串的位置以后的所有字符
- 笔记本电脑的购买
- 项目实战笔记 | C++ 实现银行排队服务模拟1 数据结构设计 |实验楼项目
- C++入门学习:纯虚函数、抽象类和模拟接口
- [1133]C/C++经典程序训练3—模拟计算器
- C++实现人员信息管理系统模拟
- C++序列化模拟三 -----酒后日志
- C语言如何模拟C++实现继承和多态
- c/c++实现模拟洗牌发牌
- Poj/OpenJudge 1000 A+b Problem C/C++/Java
- C++第4次实验(求1000以内所有偶数的和)
- 离散事件模拟---银行业务模拟c++实现
- Python模拟C++输出流
- C++实验2-模拟银行