Pengelola Inventaris
Aplikasi terminal untuk mengelola produk dengan operasi CRUD, pencarian, pengurutan, dan persistensi ke file CSV.
Struktur Kode #
| File | Tanggung Jawab |
|---|---|
product.h/.c | Model data Product + validasi |
inventory.h/.c | Koleksi produk, CRUD, pencarian, sort |
storage.h/.c | Simpan/muat dari file CSV |
main.c | Menu interaktif |
tests.c | Unit test tanpa framework eksternal |
Build #
bash
make # Bangun aplikasi utama
make test # Jalankan unit test
./inventory # Jalankan aplikasiPenggunaan #
Aplikasi memuat otomatis inventory.csv bila ada. Pilihan menu:
- Tambah produk
- Daftar semua produk
- Cari produk (id)
- Cari produk (nama, substring case-insensitive)
- Update harga/stok
- Hapus produk
- Urutkan berdasarkan nama
- Urutkan berdasarkan harga
- Simpan ke file
- Muat dari file Q. Keluar
Format File CSV #
Baris diawali # diperlakukan sebagai komentar. Setiap baris data:
csv
id,name,price,stock
1,Beras 5kg,65000.00,10
2,Gula Pasir,15000.00,5Catatan #
- Kapasitas maksimum 256 produk (lihat
INVENTORY_CAPACITY). - Aplikasi ini contoh pembelajaran; tidak ada autentikasi pengguna.