Menu
CoddyTech

Mengakses Anggota struct

Termasuk bagian Logika dan Alur dalam perjalanan C di Coddy. Pelajaran 41 dari 63.

Sekarang kamu sudah bisa membuat variabel struct, kamu perlu belajar cara bekerja dengan data yang tersimpan di dalamnya. Operator titik (.) adalah kunci untuk mengakses dan mengubah setiap anggota variabel struct.

Sintaks untuk mengakses anggota struct cukup sederhana:

structVariable.memberName

Dengan contoh struct Point kita, kamu bisa membaca dan menulis anggotanya:

struct Point p1;

// Menulis ke anggota struct
p1.x = 10;
p1.y = 20;

// Membaca dari anggota struct
printf("Point coordinates: (%d, %d)\n", p1.x, p1.y);

Operator titik bekerja persis seperti mengakses variabel lainnya: kamu bisa menggunakannya dalam penugasan, operasi aritmetika, pemanggilan fungsi, atau di mana pun kamu menggunakan variabel biasa dengan tipe tersebut. Setiap anggota berperilaku sebagai variabel mandiri dengan tipe yang dideklarasikan, sehingga kamu bisa mengelola data struct secara teratur dan intuitif.

challenge icon

Tantangan

Mudah

Buat program C yang menunjukkan cara mengakses dan mengubah anggota struct menggunakan operator titik. Programmu harus:

  1. Definisikan struct bernama Car dengan anggota berikut:
    • Bilangan bulat year untuk menyimpan tahun pembuatan
    • Array karakter brand berukuran 20 untuk menyimpan merek mobil
    • Bilangan bulat mileage untuk menyimpan jarak tempuh saat ini
    • Bilangan float price untuk menyimpan harga mobil
  2. Buat variabel Car bernama myCar
  3. Baca nilai input berikut dan tetapkan ke anggota struct menggunakan operator titik:
    • Baca bilangan bulat untuk tahun dan tetapkan ke myCar.year
    • Baca string untuk merek dan salin ke myCar.brand dengan strcpy() (array tidak dapat ditetapkan dengan =)
    • Baca bilangan bulat untuk jarak tempuh dan tetapkan ke myCar.mileage
    • Baca bilangan float untuk harga dan tetapkan ke myCar.price
  4. Setelah membaca semua nilai, lakukan operasi berikut:
    • Tambah jarak tempuh sebanyak 1000 menggunakan myCar.mileage += 1000;
    • Kurangi harga sebanyak 500.0 menggunakan myCar.price -= 500.0;
  5. Cetak informasi mobil dengan menggunakan operator titik untuk mengakses setiap anggota dalam format persis berikut:
    • Car Details:
    • Year: [year]
    • Brand: [brand]
    • Mileage: [mileage]
    • Price: [price]

Tantangan ini menguji pemahamanmu tentang operator titik untuk membaca dan menulis anggota struct. Kamu akan berlatih menetapkan nilai ke anggota struct, melakukan operasi aritmetika pada anggota tersebut, dan mengaksesnya untuk output.

Contohnya, jika inputnya adalah:

2020
Toyota
50000
25000.50

Outputmu seharusnya:

Car Details:
Year: 2020
Brand: Toyota
Mileage: 51000
Price: 24500.50

Coba sendiri

#include <stdio.h>
#include <string.h>

// TODO: Definisikan struct Car di sini

int main() {
    // TODO: Buat variabel Car bernama myCar
    
    // Baca nilai input
    int year;
    char brand[20];
    int mileage;
    float price;
    
    scanf("%d", &year);
    scanf("%s", brand);
    scanf("%d", &mileage);
    scanf("%f", &price);
    
    // TODO: Tetapkan nilai input ke anggota struct menggunakan operator titik
    
    // TODO: Ubah mileage dan price sesuai ketentuan
    
    // TODO: Cetak detail mobil menggunakan operator titik
    printf("Car Details:\n");
    // Cetak Year, Brand, Mileage, dan Price di sini
    
    return 0;
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler C online