Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- // output:
- //Marko 2
- //proizvod1 10 4
- //proizvod2 20 3
- //3 2
- //место за вашиот код
- typedef struct Proizvod {
- char kod[20];
- int cena;
- int dostapni_proizvodi;
- } Proizvod;
- typedef struct Narachka {
- char narachatel[15];
- Proizvod proizvodi[10];
- int narachani_proizvodi[10]; // na pozicija i se naogja brojot na narachani proizvodi od i-tiot proizvod
- int kupeni_proizvodi;
- } Narachka;
- void sortiraj_proizvodi(Narachka*);
- int uspesna_naracka(Narachka n) {
- int i;
- for(i = 0; i < n.kupeni_proizvodi; ++i) {
- if(n.narachani_proizvodi[i] > n.proizvodi[i].dostapni_proizvodi) return 0;
- }
- return 1;
- }
- void pecatiFaktura(Narachka n) {
- printf("Faktura za %s\n", n.narachatel);
- if(uspesna_naracka(n)) {
- sortiraj_proizvodi(&n);
- int i, vkupna_suma = 0;
- for(i = 0; i < n.kupeni_proizvodi; ++i) {
- printf("%s %d %d %d\n", n.proizvodi[i].kod, n.proizvodi[i].cena, n.narachani_proizvodi[i], (n.proizvodi[i].cena * n.narachani_proizvodi[i]));
- vkupna_suma += (n.proizvodi[i].cena * n.narachani_proizvodi[i]);
- }
- printf("Vkupnata suma na fakturata e %d", vkupna_suma);
- } else {
- printf("Fakturata ne moze da se izgotvi");
- }
- }
- void zameni_proizvodi(Proizvod* p1, Proizvod* p2) {
- Proizvod temp = *p1;
- *p1 = *p2;
- *p2 = temp;
- }
- void zameni_kolichini(int* a, int* b) {
- int temp = *a;
- *a = *b;
- *b = temp;
- }
- void sortiraj_proizvodi(Narachka* niza) {
- int i,j;
- for(i = 0; i < (*niza).kupeni_proizvodi - i - 1; ++i) {
- for(j = 0; j < (*niza).kupeni_proizvodi - i - 1; ++j) {
- if(strcmp((*niza).proizvodi[j].kod, (*niza).proizvodi[j+1].kod) > 0) {
- zameni_proizvodi(&(*niza).proizvodi[j], &(*niza).proizvodi[j+1]);
- //zameni_kolichini(&(*niza).narachani_proizvodi[j], &(*niza).narachani_proizvodi[j+1]);
- }
- }
- }
- }
- int main() {
- Narachka narachka;
- scanf("%s", narachka.narachatel);// внеси го името лицето кое ја прави нарачката
- scanf("%d", &narachka.kupeni_proizvodi);// внеси го бројот на порачани производи во нарачката
- int i;
- //за секој од нарачаните производи се внесуваат информации
- for (i = 0; i < narachka.kupeni_proizvodi; ++i) {
- scanf("%s", narachka.proizvodi[i].kod); // внеси код
- scanf("%d", &narachka.proizvodi[i].cena); // внеси единицчна цена
- scanf("%d", &narachka.proizvodi[i].dostapni_proizvodi); // внеси број на производи во магацин
- }
- //за секој производ се внесува колку такви производи се порачани во нарачката
- int j;
- for (j = 0; j < narachka.kupeni_proizvodi; ++j) {
- //се внесува број на производи во нарачката
- scanf("%d", &narachka.narachani_proizvodi[j]);
- }
- // повик на функцијата pecatiFaktura
- pecatiFaktura(narachka);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement