22

 avatar
gorazd
c_cpp
10 months ago
2.4 kB
5
Indexable
#include <iostream>
#include <cstring>
#include  <iomanip>
using namespace std;

struct Proizvod {
    char code[20];
    int price;
    int stock;
};
struct Narachka {
    char person[15];
    Proizvod proizvodi[10];
    int brPoProizvod[10];
    int n;
};
void bubbleSort(Narachka &n) {
    for (int i = 0; i<n.n;i++) {
        for (int j = 0; j<n.n-1; j++) {
            if (strcmp(n.proizvodi[j].code,n.proizvodi[j+1].code)>0) {
                Proizvod temp = n.proizvodi[j];
                n.proizvodi[j] = n.proizvodi[j+1];
                n.proizvodi[j+1] = temp;

                // int _temp = n.brPoProizvod[j];
                // n.brPoProizvod[j] = n.brPoProizvod[j+1];
                // n.brPoProizvod[j+1] = _temp;
            }
        }
    }
}
void pecatiFaktura(Narachka narachka) {
    cout<<"Faktura za "<<narachka.person<<endl;
    bool canBuyAll = true;
    for (int k = 0; k<narachka.n; k++) {
        if (narachka.brPoProizvod[k]>=narachka.proizvodi[k].stock) {
            canBuyAll = false;
            break;;
        }
    }
    if (!canBuyAll) {
        cout<<"Fakturata ne moze da se izgotvi"<<endl;
    }else {
        bubbleSort(narachka);
        int sum = 0;
        for (int i = 0; i < narachka.n; i++) {
            sum += narachka.proizvodi[i].price*narachka.brPoProizvod[i];
            cout<<narachka.proizvodi[i].code<<" "<<narachka.proizvodi[i].price<<" "<<narachka.brPoProizvod[i]<<" "<<narachka.proizvodi[i].price*narachka.brPoProizvod[i]<<endl;
        }
        cout<<"Vkupnata suma na fakturata e "<<sum<<endl;
    }
}


int main() {
    Narachka narachka;

    cin>>narachka.person;
    cin>>narachka.n;
    int i;
    //за секој од нарачаните производи се внесуваат информации
    for (i = 0; i < narachka.n; ++i) {
        cin>>narachka.proizvodi[i].code;
        cin>>narachka.proizvodi[i].price;
        cin>>narachka.proizvodi[i].stock;

        // внеси код
        // внеси единицчна цена
        // внеси број на производи во магацин
    }
    //за секој производ се внесува колку такви производи се порачани во нарачката
    int j;
    for (j = 0; j < narachka.n; ++j) {
        cin>>narachka.brPoProizvod[j];
    }
    pecatiFaktura(narachka);


    // повик на функцијата pecatiFaktura


    return 0;
}
Editor is loading...
Leave a Comment