Rangkuman: array berisi struct
Termasuk bagian Logika dan Alur dalam perjalanan C di Coddy. Pelajaran 62 dari 63.
Tantangan
MudahBuat program C untuk mengelola sistem inventaris produk menggunakan array berisi struct. Programmu harus:
- Mendefinisikan
structbernamaProductdengan anggota berikut:- Array karakter
nameberukuran 30 - Bilangan float
price - Bilangan bulat
stock
- Array karakter
- Menulis fungsi bernama
findMostExpensiveyang:- Menerima array
struct Productdan bilangan bulatsizesebagai parameter - Mengembalikan bilangan bulat yang menunjukkan indeks produk dengan harga tertinggi
- Menggunakan perulangan untuk menelusuri semua produk dan membandingkan harganya
- Mengembalikan indeks produk pertama yang ditemukan dengan harga tertinggi
- Menerima array
- Menulis fungsi bernama
calculateTotalValueyang:- Menerima array
struct Productdan bilangan bulatsizesebagai parameter - Mengembalikan bilangan float yang menunjukkan total nilai inventaris
- Menghitung total nilai dengan menjumlahkan (harga × stok) untuk setiap produk
- Menerima array
- Menulis fungsi bernama
findLowStockyang:- Menerima array
struct Product, bilangan bulatsize, dan bilangan bulatthresholdsebagai parameter - Mengembalikan bilangan bulat yang menunjukkan jumlah produk dengan stok di bawah ambang batas
- Menggunakan perulangan untuk menghitung produk yang stoknya kurang dari nilai ambang batas
- Menerima array
- Di fungsi main:
- Membuat array berisi 3
struct Productbernamainventory - Membaca input untuk setiap produk dengan urutan berikut: nama, harga, stok
- Mengisi array dengan data input
- Mencetak informasi setiap produk dengan format persis seperti ini:
Product [index]: [name] - Price: [price], Stock: [stock] - Memanggil fungsi
findMostExpensivedan mencetak hasilnya dengan format persis seperti ini:Most expensive product: [name] - Memanggil fungsi
calculateTotalValuedan mencetak hasilnya dengan tepat 2 angka di belakang koma dengan format persis seperti ini:Total inventory value: [total_value] - Membaca bilangan bulat yang menunjukkan ambang batas stok rendah
- Memanggil fungsi
findLowStockdengan ambang batas tersebut dan mencetak hasilnya dengan format persis seperti ini:Products with low stock: [count] - Memeriksa apakah produk dengan harga tertinggi memiliki stok lebih dari 10:
- Jika ya: cetak
Most expensive product is well stocked - Jika tidak: cetak
Most expensive product needs restocking
- Jika ya: cetak
- Membuat array berisi 3
Tantangan ini menguji kemampuanmu dalam menggunakan array berisi struct, menerapkan fungsi yang memproses array struct, serta melakukan berbagai perhitungan dan perbandingan pada data terstruktur. Kamu akan berlatih menggunakan indeks array dengan struct, merancang fungsi untuk memproses data, dan menggabungkan beberapa operasi untuk menganalisis informasi inventaris.
Coba sendiri
#include <stdio.h>
#include <string.h>
// TODO: Definisikan struct Product di sini
// TODO: Implementasikan fungsi findMostExpensive di sini
// TODO: Implementasikan fungsi calculateTotalValue di sini
// TODO: Implementasikan fungsi findLowStock di sini
int main() {
// Buat array berisi 3 produk
struct Product inventory[3];
// Baca input untuk setiap produk
for (int i = 0; i < 3; i++) {
scanf("%s", inventory[i].name);
scanf("%f", &inventory[i].price);
scanf("%d", &inventory[i].stock);
}
// TODO: Cetak informasi setiap produk
// TODO: Cari dan cetak produk termahal
// TODO: Hitung dan cetak nilai total inventaris
// Baca ambang batas stok rendah
int threshold;
scanf("%d", &threshold);
// TODO: Cari dan cetak produk dengan stok rendah
// TODO: Periksa apakah stok produk termahal mencukupi
return 0;
}Semua pelajaran di Logika dan Alur
1Dasar-Dasar Pointer
Apa Itu Pointer?Mendeklarasikan PointerOperator Address-Of (&)Operator Dereference (*)Pointer NULLRekap: Dasar-Dasar Pointer4Proyek: Utilitas Teks Sederhana
Gambaran Umum ProyekMenghitung Karakter2Pointer dan array
Nama array sebagai pointerElemen array dan pointerAritmetika pointerMembandingkan pointerRangkuman: Menelusuri array dengan pointer5Pointer dan Fungsi
Penerusan dengan NilaiMeneruskan Pointer ke FungsiMengubah Variabel melalui PointerContoh Klasik: SwapMeneruskan Array ke FungsiRingkasan: Argumen Pointer Fungsi8Struct dan Pointer
Pointer ke StructOperator Panah (->)Mengirim Struct berdasarkan NilaiMengirim Pointer StructAlokasi Dinamis StructUlasan: Memodifikasi Struct dengan Pointer11Tantangan Rangkuman Akhir
Rangkuman: Penggabungan string DinamisRangkuman: array berisi structRangkuman: Penghitung Frekuensi Kata3Array char dan String
String sebagai array charPenanda akhir nullInput String dengan scanfMenggunakan strlen()Menggunakan strcpy()Menggunakan strcat()Menggunakan strcmp()Ulasan: Fungsi String DasarLatihan sendiri: Compiler C online