Untitled
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