#include <bits/stdc++.h>
using namespace std;
int main(){
struct solddata{
int p, s;
string c, nama; //Penggunaan string agar kode fleksibel, bisa mengandung huruf serta angka
};
int n;
cout<<"Insert data count : ";cin>>n;
long income=0;
solddata x[n];
for(int i=0; i<n; i++){
cout<<"\n"<<i+1<<".\n";cout<<"kokokok";
getline(cin, x[i].nama);
cout<<"Enter code : "; cin>>x[i].c;
cout<<"Enter price : "; cin>>x[i].p;
cout<<"Enter sold : "; cin>>x[i].s;
}
for(int k=2; k<=n; k++){ //Metode bubble sorting
for(int i=0; i<=n-k;i++){
if(x[i].c > x[i+1].c){
string temp = x[i].c; //Cara konvensional dengan tambahan variabel
x[i].c = x[i+1].c;
x[i+1].c = temp;
swap(x[i].p, x[i+1].p); //Cara yang lebih saya pilih karena ringkas, tidak perlu tambahan variabel
swap(x[i].s, x[i+1].s);
}
}
}
cout<<"\nSelling data\n\n";
cout<<"Code"<<setw(11)<<"Price"<<setw(13)<<"Sold qty"<<setw(13)<<"Income\n";
for(int i=0; i<n; i++){
income += (x[i].p * x[i].s);
cout<<"\n "<<x[i].c<<setw(12)<<x[i].p<<setw(10)<<x[i].s<<setw(18)<<x[i].p * x[i].s;cout<<x[i].nama;
}
cout<<"\n\n\nTotal income\n"<<income;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpewoJCglzdHJ1Y3Qgc29sZGRhdGF7CgkJaW50IHAsIHM7CgkJc3RyaW5nIGMsIG5hbWE7CQkvL1BlbmdndW5hYW4gc3RyaW5nIGFnYXIga29kZSBmbGVrc2liZWwsIGJpc2EgbWVuZ2FuZHVuZyBodXJ1ZiBzZXJ0YSBhbmdrYQoJfTsKCQoJaW50IG47Cgljb3V0PDwiSW5zZXJ0IGRhdGEgY291bnQgOiAiO2Npbj4+bjsKCWxvbmcgaW5jb21lPTA7Cglzb2xkZGF0YSB4W25dOwoJCglmb3IoaW50IGk9MDsgaTxuOyBpKyspewoJCWNvdXQ8PCJcbiI8PGkrMTw8Ii5cbiI7Y291dDw8Imtva29rb2siOwoJCWdldGxpbmUoY2luLCB4W2ldLm5hbWEpOwoJCWNvdXQ8PCJFbnRlciBjb2RlICA6ICI7IGNpbj4+eFtpXS5jOwoJCWNvdXQ8PCJFbnRlciBwcmljZSA6ICI7IGNpbj4+eFtpXS5wOwoJCWNvdXQ8PCJFbnRlciBzb2xkICA6ICI7IGNpbj4+eFtpXS5zOwoJfQoJCglmb3IoaW50IGs9Mjsgazw9bjsgaysrKXsJCQkvL01ldG9kZSBidWJibGUgc29ydGluZwoJCWZvcihpbnQgaT0wOyBpPD1uLWs7aSsrKXsKCQkJaWYoeFtpXS5jID4geFtpKzFdLmMpewoJCQkJc3RyaW5nIHRlbXAgPSB4W2ldLmM7IAkvL0NhcmEga29udmVuc2lvbmFsIGRlbmdhbiB0YW1iYWhhbiB2YXJpYWJlbAoJCQkJeFtpXS5jID0geFtpKzFdLmM7IAoJCQkJeFtpKzFdLmMgPSB0ZW1wOwoJCQkJCgkJCQlzd2FwKHhbaV0ucCwgeFtpKzFdLnApOwkvL0NhcmEgeWFuZyBsZWJpaCBzYXlhIHBpbGloIGthcmVuYSByaW5na2FzLCB0aWRhayBwZXJsdSB0YW1iYWhhbiB2YXJpYWJlbAoJCQkJc3dhcCh4W2ldLnMsIHhbaSsxXS5zKTsKCQkJfQoJCX0KCX0KCQoJY291dDw8IlxuU2VsbGluZyBkYXRhXG5cbiI7Cgljb3V0PDwiQ29kZSI8PHNldHcoMTEpPDwiUHJpY2UiPDxzZXR3KDEzKTw8IlNvbGQgcXR5Ijw8c2V0dygxMyk8PCJJbmNvbWVcbiI7CgkKCWZvcihpbnQgaT0wOyBpPG47IGkrKyl7CQkJCQkJCgkJaW5jb21lICs9ICh4W2ldLnAgKiB4W2ldLnMpOwoJCWNvdXQ8PCJcbiAiPDx4W2ldLmM8PHNldHcoMTIpPDx4W2ldLnA8PHNldHcoMTApPDx4W2ldLnM8PHNldHcoMTgpPDx4W2ldLnAgKiB4W2ldLnM7Y291dDw8eFtpXS5uYW1hOwoJfQoJCgljb3V0PDwiXG5cblxuVG90YWwgaW5jb21lXG4iPDxpbmNvbWU7Cgp9