Untitled
unknown
plain_text
10 months ago
2.9 kB
6
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