定义一个菜品类,包含菜名和菜价两个私有数据成员,设置菜名菜价,输出菜名菜价,获取菜价等共有成员函数。main函数中读入n个菜品的菜名和价格,然后输出菜价低于mprice的所有菜品信息(按输入顺序输出),以及低于此价格最高菜品信息(如果有相同价格的值,则输出最先读入的)。
输入格式:
第一行输入菜品数n(0<n<100),随后n行输入n个菜品的名字和价格,然后下一行输入mprice的值。
输出格式:
输出低于mprice的菜品信息(一行一个),以及低于mprice的价格最高的菜品的信息。
输入样例:
在这里给出一组输入。例如:
5
排骨 9.8
红烧肉 10.5
清蒸鱼 15
大白菜 5.5
鱼香茄子 6.8
10
输出样例:
在这里给出相应的输出。例如:
排骨 9.8
大白菜 5.5
鱼香茄子 6.8
max:排骨 9.8
--------------------------------------------------------------------------------------------------------------------------------
#include <iostream>
#include <string>
using namespace std;
class C
{
private:
double Mprice;
string Name;
double Cost;
public:
void setName(const string& name)
{
Name = name;
}
string getName() const
{
return Name;
}
void setCost(const double& cost)
{
Cost = cost;
}
double getCost() const
{
return Cost;
}
void setMprice(const double& mprice)
{
Mprice = mprice;
}
double getMprice() const
{
return Mprice;
}
};
int main()
{
C s[100],m;
int n;
cin >> n;
for (int i = 0; i < n; i++)
{
string name;
double cost;
cin >> name >> cost;
s[i].setCost(cost);
s[i].setName(name);
}
double mprice;
cin >> mprice;
m.setMprice(mprice);
for (int i = 0; i < n; i++)
{
if (s[i].getCost() < m.getMprice())
{
cout << s[i].getName() << " " << s[i].getCost() << endl;
}
}
double max = 0;
int x;
for (int i = 0; i < n; i++)
{
if (s[i].getCost() < m.getMprice() && s[i].getCost() > max)
{
max = s[i].getCost();
x = i;
}
}
if (max > 0)
{
cout <<"max:" << s[x].getName() << " " << s[x].getCost() << endl;
}
}