Advertisement
lpuarmy

Kompleks - Not Yet

Jan 15th, 2013
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.07 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <conio.h>
  3.  
  4. struct kompleks {
  5.     int r1, r2, i1, i2;
  6. };
  7.  
  8. void jumlah(struct kompleks);
  9. void kurang(struct kompleks);
  10. void kali(struct kompleks);
  11. void bagi(struct kompleks);
  12.  
  13. main() {
  14.     struct kompleks x;
  15.     int pil;
  16.    
  17.     puts("BILANGAN KOMPLEKS");
  18.     puts("===============================================");
  19.     printf("Contoh : 4 + 7i\n - 4 = real\n - 7i = imaginer\n");
  20.     puts("-----------------------------------------------");
  21.     printf("Masukkan real 1 kompleks 1     : "); scanf("%d", &x.r1);
  22.     printf("Masukkan imaginer 1 kompleks 1 : "); scanf("%d", &x.i1);
  23.     printf("Masukkan real 2 kompleks 2     : "); scanf("%d", &x.r2);
  24.     printf("Masukkan imaginer 2 kompleks 2 : "); scanf("%d", &x.i2);
  25.     puts("-----------------------------------------------");
  26.     do {
  27.         printf("Pilihan menu\n");
  28.         printf("1. Jumlah\n");
  29.         printf("2. Kurang\n");
  30.         printf("3. Kali\n");
  31.         printf("4. Bagi\n");
  32.         printf("0. Keluar\n");
  33.         printf("Masukkan pilihan Anda : "); scanf("%d", &pil);
  34.         puts("-----------------------------------------------");
  35.  
  36.         switch(pil) {
  37.             case 1 : jumlah(x); break;
  38.             case 2 : kurang(x); break;
  39.             case 3 : kali(x); break;
  40.             case 4 : bagi(x); break;
  41.         }
  42.         puts("-----------------------------------------------");
  43.     }while(pil);
  44.    
  45.     //printf("1. real = %d imaginer = %d\n", x.a[0], x.a[1]);
  46.     getch();
  47.     return 0;
  48. }
  49. void jumlah(struct kompleks a) {
  50.     struct kompleks c;
  51.     c.r1 = a.r1 + a.r2;
  52.     c.i1 = a.i1 + a.i2;
  53.  
  54.     printf("Penjumlahan\n");
  55.     printf("(%d + %di) + (%d + %di) = %d + %di\n", a.r1, a.i1, a.r2, a.i2, c.r1, c.i1);
  56. }
  57. void kurang(struct kompleks a) {
  58.     struct kompleks c;
  59.     c.r1 = a.r1 - a.r2;
  60.     c.i1 = a.i1 - a.i2;
  61.  
  62.     printf("Pengurangan\n");
  63.     printf("(%d + %di) - (%d + %di) = %d + %di\n", a.r1, a.i1, a.r2, a.i2, c.r1, c.i1);
  64. }
  65. void kali(struct kompleks a) {
  66.     struct kompleks c;
  67.     int g,h,j,k;
  68.  
  69.     g = a.r1 * a.r2;
  70.     h = a.r1 * a.i2;
  71.     j = a.r2 * a.i1;
  72.     k = a.i1 * a.i2;
  73.  
  74.     c.r1 = (a.r1 * a.r2) - (a.i1 * a.i2);
  75.     c.i1 = (a.r1 * a.i2) + (a.r2 * a.i1);
  76.  
  77.     printf("Perkalian\n");
  78.     printf("(%d + %di) * (%d + %di)  = %d + %di + %di + %di%c\n", a.r1, a.i1, a.r2, a.i2, g, h, j, k, 253);
  79.     printf("karena i%c = -1 maka  = %d + %di + %di - %d\n", 253, g, h, j, k);
  80.     printf("\t\t     = %d + %di\n", c.r1, c.i1);
  81. }
  82. void bagi(struct kompleks a) {
  83.     struct kompleks c;
  84.     int g,h,j,k;
  85.  
  86.     g = a.r1 * a.r2;
  87.     h = a.r1 * a.i2;
  88.     j = a.r2 * a.i1;
  89.     k = a.i1 * a.i2;
  90.  
  91.     c.r1 = (a.r1 * a.r2) - (a.i1 * a.i2);
  92.     c.i1 = (a.r1 * a.i2) + (a.r2 * a.i1);
  93.  
  94.     printf("Pembagian\n");
  95.     //printf("(%d + %di) * (%d + %di)  = %d + %di + %di + %di%c\n", a.r1, a.i1, a.r2, a.i2, g, h, j, k, 253);
  96.     printf("%d + %di\n", a.r1, a.i1);
  97.     printf("%c%c%c%c%c%c = \n", 196, 196, 196, 196, 196, 196);
  98.     printf("%d + %di\n", a.r2, a.i2);
  99.  
  100.     printf("%d + %di %3d - %di\n", a.r1, a.i1, a.r2, a.i2);
  101.     printf("%c%c%c%c%c%c x %c%c%c%c%c%c\n", 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196);
  102.     printf("%d + %di %3d - %di\n", a.r2, a.i2, a.r2, a.i2);
  103.     //printf("karena i%c = -1 maka  = %d + %di + %di - %d\n", 253, g, h, j, k);
  104.     //printf("\t\t     = %d + %di\n", c.r1, c.i1);
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement