Untitled

 avatar
unknown
plain_text
2 months ago
2.9 kB
3
Indexable
#include <stdio.h>
#include <string.h>

#define MAX_CARS 100

// Struktur untuk menyimpan informasi mobil
typedef struct {
    char merek[50];
    char model[50];
    int tahun;
    char kondisi[20];
    int jarak_tempuh;
    double harga;
} Mobil;

// Array untuk menyimpan daftar mobil
Mobil inventory[MAX_CARS];
int jumlahMobil = 0;

// Fungsi untuk menambahkan mobil ke daftar
void tambahMobil(char merek[], char model[], int tahun, char kondisi[], int jarak_tempuh, double harga) {
    if (jumlahMobil < MAX_CARS) {
        strcpy(inventory[jumlahMobil].merek, merek);
        strcpy(inventory[jumlahMobil].model, model);
        inventory[jumlahMobil].tahun = tahun;
        strcpy(inventory[jumlahMobil].kondisi, kondisi);
        inventory[jumlahMobil].jarak_tempuh = jarak_tempuh;
        inventory[jumlahMobil].harga = harga;
        jumlahMobil++;
    } else {
        printf("Inventaris penuh, tidak dapat menambahkan mobil.\n");
    }
}

// Fungsi untuk mencari mobil berdasarkan merek
void cariMobil(char merek[]) {
    int ditemukan = 0;
    printf("\nHasil Pencarian untuk '%s':\n", merek);
    for (int i = 0; i < jumlahMobil; i++) {
        if (strcmp(inventory[i].merek, merek) == 0) {
            printf("%d. %s %s (%d) - %s - %d km - Rp%.2f\n", 
                i + 1, inventory[i].merek, inventory[i].model, inventory[i].tahun, 
                inventory[i].kondisi, inventory[i].jarak_tempuh, inventory[i].harga);
            ditemukan = 1;
        }
    }
    if (!ditemukan) {
        printf("Mobil tidak ditemukan.\n");
    }
}

// Fungsi untuk menghitung total harga dengan pajak 10% dan biaya admin Rp500.000
double hitungTotalHarga(double harga) {
    double pajak = harga * 0.10;
    double biaya_admin = 500000;
    return harga + pajak + biaya_admin;
}

// Fungsi untuk mencetak faktur penjualan
void cetakFaktur(int index) {
    if (index >= 0 && index < jumlahMobil) {
        double totalHarga = hitungTotalHarga(inventory[index].harga);
        printf("\n=== FAKTUR PENJUALAN ===\n");
        printf("Mobil : %s %s (%d)\n", inventory[index].merek, inventory[index].model, inventory[index].tahun);
        printf("Kondisi : %s\n", inventory[index].kondisi);
        printf("Jarak Tempuh : %d km\n", inventory[index].jarak_tempuh);
        printf("Harga Awal : Rp%.2f\n", inventory[index].harga);
        printf("Total Harga (termasuk pajak & biaya admin) : Rp%.2f\n", totalHarga);
        printf("=========================\n");
    } else {
        printf("Mobil tidak ditemukan dalam inventaris.\n");
    }
}

int main() {
    // Menambahkan beberapa mobil contoh
    tambahMobil("Toyota", "Avanza", 2019, "Baik", 50000, 150000000);
    tambahMobil("Honda", "Civic", 2020, "Sangat Baik", 30000, 250000000);

    // Mencari mobil berdasarkan merek
    cariMobil("Toyota");

    // Mencetak faktur untuk mobil pertama (Toyota Avanza)
    cetakFaktur(0);

    return 0;
}
Editor is loading...
Leave a Comment