اكتب class Article يمثل سلعة تجارية, ويحتوي معطيات تمثل اسم السلعة name , سعرها price والكمية المتوفرة منها amount ؟
- برمجة
- برمجة سي بلس بلس
- 2021-05-25
- ahmadghneem
الأجوبة
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class Article {
string name;
double price;
int amount;
public:
Article(string n, double p, int a) {
name = n;
price = p;
amount = a;
}
double getPrice() {return price;}
string getName() {return name;}
double getAmount() {return amount;}
};
class Storehouse {
vector<Article> articles;
public:
Storehouse(vector<Article> a) {articles = a;}
vector<Article> filter(double p) {
vector<Article> temp;
for (auto i : articles)
if (i.getAmount() > 0 && i.getPrice() <= p)
temp.push_back(i);
return temp;
}
Storehouse operator+(Article a) {
articles.push_back(a);
return *this;
}
Article operator[](int i) {return articles[i];}
};
int main() {
vector<Article> articles { Article("PC", 100, 5), Article("laptop", 400, 10) };
Storehouse storehouse(articles);
storehouse + Article("added article", 80, 100);
if (!storehouse.filter(100).empty()) {
for (auto item : storehouse.filter(100))
cout << item.getName() << " " << item.getAmount() << " "
<< item.getPrice() << endl;
} else
cout << "There are no articles with this price" << endl;
cout << storehouse[0].getName() << endl;
}أسئلة مشابهة
القوائم الدراسية التي ينتمي لها السؤال