Kamis, Maret 24, 2016

BAHASA C.MY_ADVENTURE #19

/*
Program ticketing pesawat
Nama, kota tujuan, keterangan waktu, pemilihan pesawat ditentukan oleh inputan/user.
IS : sembarang
FS : cetak harga tiket pesawat sesuai pesanan user.
*/

#include<stdio.h>

typedef struct {
char hari[10], bulan[20];
int tanggal, tahun;
} kalender;

int harga (kalender user, int kota_tujuan, int pesawat, int jumlah_tiket, int jenis_tiket, int total);
char* kota(int kota_tujuan);
char* jam_brangkat(int jam);
char* jam_tiba(int jam, int kota_tujuan);
char* nama_pesawat(int pesawat);

int main(){
char nama[20];
int kota_tujuan, jam, pesawat, jenis_tiket, jumlah_tiket;
int total;
kalender user;
printf("=====================================================\n");
printf("\tSELAMAT DATANG DI PROGRAM TICKETING PESAWAT\n");
printf("=====================================================\n");
printf("Nama Pemesan : "); scanf("%s", &nama);
printf("Kota Tujuan yang tersedia : \n");
printf("1. Solo\n");
printf("2. Surabaya\n");
printf("3. Makassar\n");
printf("Silahkan pilih : "); scanf("%d", &kota_tujuan);
printf("Jadwal Keberangkatan : \n");
printf("Hari : "); scanf("%s", &user.hari);
printf("tanggal : "); scanf("%d", &user.tanggal);
printf("Bulan : "); scanf("%s", &user.bulan);
printf("Tahun : "); scanf("%d", &user.tahun);
printf("Jadwal Penerbangan : \n");
printf("1. 09.30 AM\n");
printf("2. 11.50 AM\n");
printf("3. 03.15 AM\n");
printf("Silahkan pilih : "); scanf("%d", &jam);
printf("Jenis Pesawat : \n");
printf("1. Garuda Indonesia\n");
printf("2. Batik air\n");
printf("Silahkan pilih : "); scanf("%d", &pesawat);
printf("Jenis tiket : \n");
printf("1. Executive\n");
printf("2. Ekonomi\n");
printf("Silahkan pilih : "); scanf("%d", &jenis_tiket);
printf("Jumlah tiket : "); scanf("%d", &jumlah_tiket);
printf("\n\n=====================================================\n");
printf("=====================================================\n");
printf("Nama Pemesan : %s\n", nama);
printf("Kota Tujuan : %s", kota(kota_tujuan));
printf("Jadwal Penerbangan : %s,%d-%s-%d\n", user.hari, user.tanggal, user.bulan, user.tahun);
printf("Jadwal Keberangkatan : %s", jam_brangkat(jam));
printf("Jadwal tiba : %s", jam_tiba(jam, kota_tujuan));
printf("Total Harga : %d\n", harga(user, kota_tujuan, pesawat, jumlah_tiket, jenis_tiket, total));
printf("Pesawat : %s", nama_pesawat(pesawat));
printf("\n=====================================================\n");
printf("====================TERIMA KASIH=====================\n");
printf("=====================================================\n");
}

char* kota(int kota_tujuan){
switch(kota_tujuan)
{
case 1 : return "Solo\n";
case 2 : return "Surabaya\n";
case 3 : return "Makassar\n";

default: return "tidak ada";
}
}

char* jam_brangkat(int jam){
switch(jam)
{
case 1 : return "09:30 AM\n";
case 2 : return "11:50 AM\n";
case 3 : return "03:15 PM\n";

default: return "tidak ada";
}
}

char* jam_tiba(int jam, int kota_tujuan){
if (jam == 1 && kota_tujuan == 1)
return "10:40 AM\n";
else if (jam == 1 && kota_tujuan == 2)
return "11:00 AM\n";
else if (jam == 1 && kota_tujuan == 3)
return "11:55 AM\n";
else if (jam == 2 && kota_tujuan == 1)
return "01:00 PM\n";
else if (jam == 2 && kota_tujuan == 2)
return "01:20 PM\n";
else if (jam == 2 && kota_tujuan == 3)
return "02:15 PM\n";
else if (jam == 3 && kota_tujuan == 1)
return "04:25 PM\n";
else if (jam == 3 && kota_tujuan == 2)
return "04:45 PM\n";
else if (jam == 3 && kota_tujuan == 3)
return "05:40 PM\n";
}

int harga (kalender user, int kota_tujuan, int pesawat, int jumlah_tiket, int jenis_tiket, int total){
int potongan_tanggal, harga_tiket, potongan_jarak;

if (jenis_tiket == 1){
if (pesawat == 1)
harga_tiket = 1090000 * 4;
else if (pesawat == 2)
harga_tiket = 790000 * 4;
else if (pesawat > 2)
harga_tiket = 0;}
else if (jenis_tiket == 2)
{
if (pesawat == 1)
harga_tiket = 1090000;
else if (pesawat == 2)
harga_tiket = 790000;
else if (pesawat > 2)
harga_tiket = 0;
}


if (user.tanggal >=1 && user.tanggal <= 7)
potongan_tanggal = 120000;
else if (user.tanggal >=8 && user.tanggal <= 14)
potongan_tanggal = 90000;
else if (user.tanggal >=15 && user.tanggal <= 21)
potongan_tanggal = 60000;
else if (user.tanggal >=22 && user.tanggal <= 28)
potongan_tanggal = 30000;
else if (user.tanggal >=29 && user.tanggal <= 31)
potongan_tanggal = 0;

if (kota_tujuan == 1)
potongan_jarak = 400000;
else if (kota_tujuan == 2)
potongan_jarak = 200000;
else if (kota_tujuan == 3)
potongan_jarak = 0;

if (jumlah_tiket < 5)
total = jumlah_tiket * (harga_tiket + potongan_tanggal - potongan_jarak);
else if (jumlah_tiket >= 5)
total = (jumlah_tiket * (harga_tiket + potongan_tanggal - potongan_jarak)) - ((jumlah_tiket * (harga_tiket + potongan_tanggal - potongan_jarak)) * 20/100.0);
return total;
}

char* nama_pesawat(int pesawat){
switch(pesawat)
{
case 1 : return "Garuda Indonesia\n";
case 2 : return "Batik air\n";

default: return "tidak ada";
}
}

Falcon C++ 3.3
MRA_19 18:59

 
biz.