اكتب class Article يمثل سلعة تجارية, ويحتوي معطيات تمثل اسم السلعة name , سعرها price والكمية المتوفرة منها amount ؟

  • برمجة
  • برمجة سي بلس بلس

اكتب class Article يمثل سلعة تجارية, ويحتوي معطيات تمثل اسم السلعة name , سعرها price والكمية المتوفرة منها amount المطلوب:

1-عرف باني بوسطاء يقوم بتهيئة معطيات class Article ؟

2-عرف توابع function get لكل من معطيات class Article ؟

3-بفرض لدينا سلسلة محلات تجارية, في كل محل تجاري يوجد مستودع Storehouse يحتوي على مجموعة من السلع articles .عرف صف يمثل مستودع Storehouse؟

4-عرف مشيد لتهيئة مجموعة السلع articles ضمن مستودع؟

5 -عرف تابع filter يعيد السلع المتوفرة في مستودع والتي سعرها أقل أو يساوي قيمة ما؟

6 -حمل بشكل زائد المعامل + ليقوم بإضافة سلعة إلى مستودع ؟

7 -حمل بشكل زائد المعامل [ ] للوصول إلى سلعة في مستودع؟

8 -ضمن التابع main ,المطلوب:

1.8 عرف مستودع storehouse وقم بتهيئ ته بمجموعة من السلع؟

2.8 أضف سلعة إلى ذلك المستودع؟

3.8 اطبع السلع في ذلك المستودع والتي سعرها أقل أو يساوي 100؟

4.8 اطبع اسم السلعة األولى في ذلك المستودع؟

الأجوبة

#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;
}
هل كان المحتوى مفيد؟

تبحث عن مدرس اونلاين؟

محتاج مساعدة باختيار المدرس الافضل؟ تواصل مع فريقنا الان لمساعدتك بتأمين افضل مدرس
ماهو التخصص الذي تبحث عنه؟
اكتب هنا...