/*
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
Kamis, Maret 24, 2016
Langganan:
Komentar (Atom)
 
