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