Advertisement
Motionisst

Untitled

Apr 22nd, 2024
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.93 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3. class commodity {
  4.     string id, name, color, size;
  5.     int  price, num;
  6. public:
  7.     commodity(){}
  8.     commodity(string id,string name,string size,string color,int price,int num):id(id),name(name),size(size), color(color),price(price), num(num){}
  9.     void couttotalprice() {
  10.         cout << price * num << ".00"<<endl;
  11.     }
  12.     void coutinformation() {
  13.         cout << name << "," << size<< "," << color << "," << price << ".00" << "," << num  << ",";
  14.         couttotalprice();
  15.     }
  16.     string getid() {return id;}
  17.     int getnum() {return num;}
  18.     int getprice() {return price;}
  19.     void addnum() {num++;}
  20.     void subtractnum() {num--;}
  21.     void deletenum() {num = 0;}
  22. }; commodity a[100];
  23. int main() {
  24.     int t;
  25.     cin >> t;
  26.     while (t--) {
  27.         int n;
  28.         string id, name, color, size;
  29.         int  price, num;
  30.         cin >> n;
  31.         for(int i=n-1;i>=0;i--) {
  32.             string way;
  33.             cin >> way;
  34.             if (way == "ADD") {
  35.                 cin >> id >> name >> size >> color >> price >> num;
  36.                 a[i] = commodity(id, name, size, color, price, num);
  37.             }
  38.             if (way == "UP") {
  39.                 string upnum;
  40.                 cin >> upnum;
  41.                 for (int i = 0; i < n; i++) {
  42.                     if (upnum == a[i].getid())
  43.                         a[i].addnum();
  44.                 }
  45.             }
  46.             if (way == "DELETE") {
  47.                 string deletenum;
  48.                 cin >> deletenum;
  49.                 for (int i = 0; i < n; i++) {
  50.                     if (deletenum == a[i].getid())
  51.                         a[i].deletenum();
  52.                 }
  53.             }
  54.             if (way == "DOWN") {
  55.                 string downnum;
  56.                 cin >> downnum;
  57.                 for (int i = 0; i < n; i++) {
  58.                     if (downnum == a[i].getid()) {
  59.                         a[i].subtractnum();
  60.                     }
  61.                 }
  62.             }
  63.         }
  64.         cout << "商品清单:" << endl << "商品,颜色,尺码,单价,数量,小计" << endl;
  65.         int cnt = 0, sum = 0;
  66.         for (int i = 0; i < n; i++) {
  67.             if (a[i].getnum()) {
  68.                 cnt += a[i].getnum();
  69.                 sum += a[i].getnum() * a[i].getprice();
  70.                 a[i].coutinformation();
  71.             }
  72.         }
  73.         cout << "----------" << endl << cnt << "件商品,总商品金额" << sum << ".00" << endl << endl;
  74.     }
  75.     return 0;
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement