diff --git a/vaja2/a.out b/vaja2/a.out new file mode 100755 index 0000000..830dd7c Binary files /dev/null and b/vaja2/a.out differ diff --git a/vaja2/main.c b/vaja2/main.c new file mode 100644 index 0000000..652323a --- /dev/null +++ b/vaja2/main.c @@ -0,0 +1,84 @@ +#include + +typedef struct {double re, im;} cplx; + +cplx csum (cplx a, cplx b) // Complex sum +{ + cplx sum; + sum.re = a.re + b.re; + sum.im = a.im + b.im; + return sum; +} + +cplx cdif (cplx a, cplx b) // Complex difference +{ + cplx difference; + difference.re = a.re - b.re; + difference.im = a.im - b.im; + return difference; +} + +cplx cprod (cplx a, cplx b) // Complex product +{ + cplx product; + product.re = (a.re * b.re) - (a.im * b.im); + product.im = (a.im * b.re) + (a.re * b.im); + return product; +} + +cplx cquo (cplx a, cplx b) // Complex quotient +{ + cplx quotient; + quotient.re = ((a.re * b.re)+(a.im * b.im)) / ((b.re*b.re)+(b.im*b.im)); + quotient.im = ((a.im * b.re)-(a.re * b.im)) / ((b.re*b.re)+(b.im*b.im)); + return quotient; +} + +int main(int argc, void** args) +{ + double j, k; + cplx a={1,2}, b={-3,-4}, c = {12.3, 12.4}; + char exitflag=0; + int menu=0; + while(!exitflag) + { + + printf("A = %.1lf%+.1lfi B = %.1lf%+.1lfi\n\n", a.re, a.im, b.re, b.im); + puts("(1) vnos"); + puts("(2) vsota"); + puts("(3) razlika"); + puts("(4) produkt"); + puts("(5) kvocient"); + puts("(6) izhod"); + printf("Vnesi ukaz: "); + scanf(" %d", &menu); + switch(menu) + { + case 1: + printf("Vnesi prvo vrednost: "); + scanf("%lf%lfi", &a.re, &a.im); + printf("Vnesi drugo vrednost: "); + scanf("%lf%lfi", &b.re, &b.im); + break; + case 2: c = csum(a, b); + printf("Vsota je %f%+fi\n",c.re, c.im); + break; + case 3: c = cdif(a, b); + printf("Razlika je %f%+fi\n",c.re, c.im); + break; + case 4: c = cprod(a, b); + printf("Produkt je %f%+fi\n",c.re, c.im); + break; + case 5: c = cquo(a, b); + printf("Kvocient je %f%+fi\n",c.re, c.im); + break; + default: continue; + case 6: exitflag++; + } + + } +} + + + +