Proyek: Definisikan struct Kontak
Termasuk bagian Logika dan Alur dalam perjalanan C di Coddy. Pelajaran 50 dari 63.
Tantangan
MudahKamu akan membuat alat sederhana untuk memasukkan kontak yang menunjukkan cara struct mengatur data terkait dalam aplikasi dunia nyata.
Buat program C yang mendefinisikan struct Contact untuk menyimpan informasi kontak. Programmu harus:
- Definisikan
structbernamaContactdengan anggota berikut:- Array karakter
nameberukuran 50 untuk menyimpan nama kontak - Array karakter
phoneberukuran 20 untuk menyimpan nomor telepon kontak - Array karakter
emailberukuran 40 untuk menyimpan alamat email kontak - Bilangan bulat
ageuntuk menyimpan usia kontak
- Array karakter
- Di fungsi main:
- Buat variabel
Contactbernamaperson - Baca nilai input berikut dan tetapkan ke anggota struct menggunakan operator titik:
- Baca string untuk nama dan tetapkan ke
person.name - Baca string untuk nomor telepon dan tetapkan ke
person.phone - Baca string untuk email dan tetapkan ke
person.email - Baca bilangan bulat untuk usia dan tetapkan ke
person.age
- Baca string untuk nama dan tetapkan ke
- Setelah membaca semua nilai, lakukan pemeriksaan validasi berikut:
- Jika usia kurang dari 0 atau lebih dari 120, cetak
Invalid agedan hentikan program - Jika panjang nomor telepon kurang dari 10 karakter, cetak
Invalid phone numberdan hentikan program
- Jika usia kurang dari 0 atau lebih dari 120, cetak
- Jika semua validasi berhasil, cetak informasi kontak dengan format persis berikut:
Contact Information:Name: [name]Phone: [phone]Email: [email]Age: [age]
- Hitung dan cetak informasi tambahan:
- Cetak panjang nama menggunakan
strlen()dengan format:Name length: [length] - Tentukan kategori usia dan cetak:
- Jika usia antara 0 dan 17:
Category: Minor - Jika usia antara 18 dan 64:
Category: Adult - Jika usia 65 atau lebih:
Category: Senior
- Jika usia antara 0 dan 17:
- Cetak panjang nama menggunakan
- Buat variabel
Tantangan ini menguji pemahamanmu tentang definisi struct, deklarasi anggota dengan tipe data dan ukuran yang sesuai, akses anggota struct menggunakan operator titik, validasi input, serta penggunaan fungsi string seperti strlen() dengan anggota struct. Kamu akan berlatih membuat struktur data praktis yang dapat menjadi dasar untuk sistem pengelolaan kontak.
Coba sendiri
#include <stdio.h>
#include <string.h>
// TODO: Definisikan struct Contact di sini
int main() {
// TODO: Buat variabel Contact bernama person
// Baca nilai input
scanf("%s", /* TODO: tetapkan ke person.name */);
scanf("%s", /* TODO: tetapkan ke person.phone */);
scanf("%s", /* TODO: tetapkan ke person.email */);
scanf("%d", /* TODO: tetapkan ke person.age */);
// TODO: Tulis kode validasi dan output-mu di bawah ini
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 Dasar6Manajemen Memori
Memori Stack vs. HeapAlokasi Dinamis dengan malloc()Menggunakan sizeof() untuk AlokasiMemeriksa Kegagalan AlokasiMembebaskan Memori dengan free()Alokasi dengan calloc()Ringkasan: array Dinamis9Proyek: Entri Kontak Sederhana
Proyek: Definisikan struct KontakFungsi untuk Membuat KontakLatihan sendiri: Compiler C online