| 
 File: Stare vježbe/vjezbe11/68__strukture_razlomci.c 
/*     68__strukture_razlomci.c     Upoznajemo se sa drugim slozenim tipovima u C-u -- strukturama.     -----     Program definira strukturu razlomak i neke elementarne operacije.     Koristi se ranije napisana funkcija za racunanje mjere iz. */   #include <stdio.h> #include "68__teorija_brojeva.h"   struct razlomak {     int brojnik;     int nazivnik; };   void ispisi (char *poruka, struct razlomak p) {     printf ("%s%d/%d\n", poruka, p. brojnik, p. nazivnik);  }   struct razlomak zbroji (struct razlomak p1, struct razlomak p2) {     struct razlomak rez;     int skrati_sa;       rez.brojnik=p1.brojnik*p2.nazivnik+p2.brojnik*p1.nazivnik;     rez.nazivnik=p1.nazivnik*p2.nazivnik;       skrati_sa=mjera(rez.brojnik, rez.nazivnik);     rez.brojnik/=skrati_sa;     rez.nazivnik/=skrati_sa;       return rez; }   struct razlomak mnozi (struct razlomak p1, struct razlomak p2) {     struct razlomak rez;     int skrati_sa;       rez.brojnik=p1.brojnik*p2.brojnik;     rez.nazivnik=p1.nazivnik*p2.nazivnik;       skrati_sa=mjera(rez.brojnik, rez.nazivnik);     rez.brojnik/=skrati_sa;     rez.nazivnik/=skrati_sa;       return rez; }   int main ( void ) {     struct razlomak p={2, 3}, q={2, 12}, zbroj, produkt;       ispisi("p=", p);     ispisi("q=", q);       zbroj=zbroji (p, q);     ispisi("zbroj=", zbroj);       produkt=mnozi (p, q);     ispisi("produkt=", produkt);       do {         printf("Unesi brojnik i nazivnik prvog razlomka: ");          scanf("%d%d", &p.brojnik, &p.nazivnik);     } while (p.nazivnik==0);       do {         printf("Unesi brojnik i nazivnik drugog razlomka: ");          scanf("%d%d", &q.brojnik, &q.nazivnik);     } while (q.nazivnik==0);       ispisi("p=", p);     ispisi("q=", q);       zbroj=zbroji (p, q);     ispisi("zbroj=", zbroj);       produkt=mnozi (p, q);     ispisi("produkt=", produkt);       return 0;  }   
 
          
  
       |