一直在断断续续在学习C++的东西,今天在空闲时间,码一点小东西作为小练习。这个是一个C++方式实现的药品物资管理,但是它里面并没有涉及到C++比较核心的用法,是比较结构化的,在接下来的学习中,会继续做一些C++的小案例并分享。
定义一个药物的结构体,里面有它的名称,类型,数量,买入价格,卖出价格(是买入价格的3/4);
输入不同的操作来显示不同的处理。
药物结构体:
struct Drug
{
string name;//药品名称
Type type;//药品类型
int num;//拥有数量
float buyPrice;//买入价格
float sellPrice;//卖出价格
};
显示要执行的操作:
void displaySelectType(const string selectType[], const int length) {
for (int i = 0; i < length; i++)
{
cout << selectType[i] << endl;
}
}
买药品:
//买药品
void buyDrug(float &money, Drug &drug, int num) {
cout << "您要购买:" << drug.name << endl;
if (money>=drug.buyPrice*num)
{
money -= drug.buyPrice*num;
drug.num += num;
cout << "购买成功!" << endl;
}
else
{
cout << "金钱不足,购买失败!" << endl;
}
}
卖药品:
//卖出药品
void sellDrug(float &money, Drug &drug, int num) {
cout << "您要卖出:" << drug.name << endl;
if (drug.num >= num)
{
drug.num -= num;
money += drug.sellPrice * num * 3 / 4;
cout << "卖出成功!" << endl;
}
else
{
cout << "您没有那么多药品可以卖出!" << endl;
}
}
药品信息显示:由于这里只显示两种,我这里使用简单的处理
//显示药品的详细信息
void showDrugMsg(const Drug &drugHP,const Drug &drugMp,const float money) {
cout << "当前拥有的药品:" << endl;
cout << "1." << "药品名称:" << drugHP.name << " " << "药品类型:" << showDrugType(drugHP) << " " << "药品数量:" << drugHP.num;
cout << " " << "买入价格:" << drugHP.buyPrice << " " << "卖出价格:" << drugHP.sellPrice * 3 / 4 << endl;
cout << "2." << "药品名称:" << drugMp.name << " " << "药品类型:" << showDrugType(drugMp) << " " << "药品数量:" << drugMp.num;
cout << " " << "买入价格:" << drugMp.buyPrice << " " << "卖出价格:" << drugMp.sellPrice * 3 / 4 << endl;
cout << "目前拥有的金钱数量:" << money << endl;
cout << "显示完成!" << endl;
}
显示药品类型:
//显示药品类型
string showDrugType(Drug drug) {
switch (drug.type)
{
case 0:
return "PlusHP";
break;
case 1:
return "PlusMP";
break;
default:
break;
}
}
这个案例比较重要的就是这几个函数的编写,在main函数中调用即可,对于输入的操作,我使用的是while循环输入。
实现方法有很多种,各位可以自己写出来哦。
创作分享不易,不喜勿喷,有误请提,希望不误认子弟。