Senin, 29 Agustus 2016

TUGAS BESAR SP ALPRO MENGHITUNG JUMLAH KRAMIK DAN HARGA KERAMIK SATU RUMAH.

TUGAS BESAR SP ALPRO MENGHITUNG JUMLAH KRAMIK DAN HARGA KERAMIK SATU RUMAH.



 http://dinus.ac.id/


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define true 1
#define false 0
#define boolean unsigned char
#define nil 0

typedef char jNama[40];
typedef struct tInfo *next;
typedef struct tInfo
{
      jNama NamaRuang;
      next ruang;
      float lebar;
      float panjang;
      float Luas;
      int harga;
      char keramik;

}Info;

typedef struct
{
    next Pertama;
}  Rumah;

void BuatRumah(Rumah *U)
{
    next room,loop;
    room = nil;

    // Buat ruang teras
    room = (next)malloc(sizeof(Info));

    strcpy(room->NamaRuang,"Ruang Teras");
    room->keramik = 'D';
    (*U).Pertama = room;
    loop = room;
int i;

    // buat kamar kamar
    for( i=1;i<=2;i++){
    room = nil;
    room=(next)malloc(sizeof(Info));


    strcpy(room->NamaRuang,"Kamar Tidur Standard");
    room->keramik = 'A';
    loop->ruang = room;
    loop = room;

    }

    // Buat kamar VIP
    room = nil;
    room=(next)malloc(sizeof(Info));
    strcpy(room->NamaRuang,"Ruang kamar VIP");
    room->keramik = 'A';
    loop->ruang = room;
    loop = room;

    // Buat ruang Kamar Mandi
    room = nil;
    room=(next)malloc(sizeof(Info));
    strcpy(room->NamaRuang,"Ruang kamar mandi");
    room->keramik = 'C';
    loop->ruang = room;
    loop = room;

    //Buat ruang dapur
    room = nil;
    room=(next)malloc(sizeof(Info));
    strcpy(room->NamaRuang,"Ruang Dapur");
    room->keramik = 'B';
    loop->ruang = room;
    room->ruang = nil;


}

void InputUkuranRumah(Rumah *U){
    next room,loop;
    float ukuran;
    room = (*U).Pertama;

    printf("Masukkan ukuran rumah anda per meter persegi\n");
    printf("Type ruang teras\n");
    printf("Lebar ruang : "); scanf("%f",&ukuran);
    room->lebar = ukuran;

    printf("Panjang ruang : "); scanf("%f",&ukuran);
    room->panjang = ukuran;

    room->Luas = room->lebar * room->panjang;
    room->harga = room->Luas * 1.44 * 10000 +1;

    loop = room;
    room = loop->ruang;

    printf("Type ruang kamar standard 1\n");
    printf("Lebar ruang : "); scanf("%f",&ukuran);
    room->lebar = ukuran;

    printf("Panjang ruang : "); scanf("%f",&ukuran);
    room->panjang = ukuran;

    room->Luas = room->lebar * room->panjang;
    room->harga = room->Luas * 0.96 * 40000 +1;

    loop = room;
    room = loop->ruang;

    printf("Type ruang kamar standard 2\n");
    printf("Lebar ruang : "); scanf("%f",&ukuran);
    room->lebar = ukuran;

    printf("Panjang ruang : "); scanf("%f",&ukuran);
    room->panjang = ukuran;

    room->Luas = room->lebar * room->panjang;
    room->harga = room->Luas * 0.96 * 40000 +1;

    loop = room;
    room = loop->ruang;

    printf("Type ruang kamar VIP\n");
    printf("Lebar ruang : "); scanf("%f",&ukuran);
    room->lebar = ukuran;

    printf("Panjang ruang : "); scanf("%f",&ukuran);
    room->panjang = ukuran;

    room->Luas = room->lebar * room->panjang;
    room->harga = room->Luas * 0.96 * 40000 +1;

    loop = room;
    room = loop->ruang;

    printf("Type ruang kamar mandi\n");
    printf("Lebar ruang : "); scanf("%f",&ukuran);
    room->lebar = ukuran;

    printf("Panjang ruang : "); scanf("%f",&ukuran);
    room->panjang = ukuran;

    room->Luas = room->lebar * room->panjang;
    room->harga = room->Luas * 1 * 20000 ;

    loop = room;
    room = loop->ruang;

    printf("Type ruang dapur\n");
    printf("Lebar ruang : "); scanf("%f",&ukuran);
    room->lebar = ukuran;

    printf("Panjang ruang : "); scanf("%f",&ukuran);
    room->panjang = ukuran;

    room->Luas = room->lebar * room->panjang;
    room->harga = room->Luas * 0.99 * 30000 +1;
}

void tampilkan(Rumah U){
    next room ;
    room= U.Pertama;

    while(room!=nil){
    if (room->keramik=='A'){
        printf("\n\nRuang %s \ndengan lebar = %f dan panjang %f\nLuas ruang tsb = %f\n",room->NamaRuang,room->lebar,room->panjang,room->Luas);
        printf("type keramik = %c dengan tipe keramik 40cm x 40cm dengan harga tiap box Rp 40000,00\n",room->keramik);
        printf("Total harga yang dibutuhkan untuk ruangan ini %d",room->harga);

    }
    else if(room->keramik=='B'){
        printf("\n\nRuang %s \ndengan lebar = %f dan panjang %f\nLuas ruang tsb = %f\n",room->NamaRuang,room->lebar,room->panjang,room->Luas);
        printf("type keramik = %c dengan tipe keramik 30cm x 30cm dengan harga tiap box Rp 30000,00\n",room->keramik);
        printf("Total harga yang dibutuhkan untuk ruangan ini %d",room->harga);

    }
    else if(room->keramik=='C'){
        printf("\n\nRuang %s \ndengan lebar = %f dan panjang %f\nLuas ruang tsb = %f\n",room->NamaRuang,room->lebar,room->panjang,room->Luas);
        printf("type keramik = %c dengan tipe keramik 20cm x 20cm dengan harga tiap box Rp 20000,00\n",room->keramik);
        printf("Total harga yang dibutuhkan untuk ruangan ini %d",room->harga);

    }
    else if(room->keramik=='D'){
        printf("\n\nRuang %s \ndengan lebar = %f dan panjang %f\nLuas ruang tsb = %f\n",room->NamaRuang,room->lebar,room->panjang,room->Luas);
        printf("type keramik = %c dengan tipe keramik 60cm x 60cm dengan harga tiap box Rp 10000,00\n",room->keramik);
        printf("Total harga yang dibutuhkan untuk ruangan ini %d",room->harga);

    }

    room = room->ruang;

    }

}

Int searchingMax(Rumah U){
   next room ;
   float luas max = 0;
   room = U.Pertama;
   while(room! = nil){

   if LuasMax (room -> Luas)
       LuasMax = room -> Luas
       room = room -> ruang;
    }

}



int main(){
    Rumah Idaman;
    Idaman.Pertama = nil;


    BuatRumah(&Idaman);
    menu();
    InputUkuranRumah(&Idaman);
    tampilkan(Idaman);
}

Tidak ada komentar:

Posting Komentar

Pengikut