C - User Input: A Beginner's Guide

Halo sana, para pemrogram masa depan! Hari ini, kita akan melompat ke dunia yang menarik dari input pengguna dalam pemrograman C. Sebagai guru komputer yang ramah di lingkungan sekitar Anda, saya di sini untuk mengarahkan Anda dalam perjalanan ini, langkah demi langkah. Jadi, ambil secangkir kopi (atau minuman kesukaan Anda), dan mari kita mulai!

C - User Input

Mengapa Kita Butuh Input Pengguna dalam C?

Bayangkan Anda membuat program kalkulator. Apakah itu akan menjadi sia-sia jika hanya bisa menambahkan 2 dan 2, kan? Itu di mana input pengguna menjadi berguna! Input pengguna memungkinkan program kita menjadi dinamis dan interaktif. instead of selalu melakukan hal yang sama, program kita dapat merespon input yang berbeda dan menghasilkan hasil yang berbeda.

tongkat sihir: Fungsi scanf()

Dalam C, tongkat sihir kita untuk mengambil input pengguna adalah fungsi scanf(). Itu seperti jaring yang menangkap informasi yang diketik pengguna ke dalam program. Mari kitauraikan ini:

#include <stdio.h>

int main() {
int number;
printf("Masukkan sebuah nomor: ");
scanf("%d", &number);
printf("Anda memasukkan: %d\n", number);
return 0;
}

Dalam contoh ini:

  1. Kita deklarasikan variabel int yang disebut number.
  2. Kita meminta pengguna untuk memasukkan nomor.
  3. Kita menggunakan scanf() untuk mengambil input dan menyimpannya di number.
  4. Akhirnya, kita cetak nomor kembali ke pengguna.

%d dalam scanf() seperti mengatakan ke fungsi, "Hey, harapkan sebuah integer di sini!" Tanda & sebelum number mengatakan, "Simpan input di alamat memori ini."

Jenis-jenis Input: Mari Eksplor!

Input Integer

Kita sudah melihat bagaimana menginput integer. Mari mencoba contoh yang lebih kompleks:

#include <stdio.h>

int main() {
int age, year;
printf("Masukkan usia dan tahun kelahiran Anda: ");
scanf("%d %d", &age, &year);
printf("Anda berusia %d tahun dan lahir pada tahun %d.\n", age, year);
return 0;
}

Di sini, kita mengambil dua integer sekaligus! Spasi antara %d %d memberitahu scanf() untuk menantikan spasi atau baris baru antara input.

Input Float

Apa bila kita ingin bilangan desimal? Masukkan float!

#include <stdio.h>

int main() {
float height, weight;
printf("Masukkan tinggi (m) dan berat (kg) Anda: ");
scanf("%f %f", &height, &weight);
printf("Anda tinggi %.2f meter dan berat %.1f kg.\n", height, weight);
return 0;
}

Perhatikan %f untuk float. Dalam output, .2f dan .1f mengontrol tempat desimal.

Input Karakter

kadang-kadang, kita hanya memerlukan karakter tunggal:

#include <stdio.h>

int main() {
char grade;
printf("Masukkan nilai Anda (A-F): ");
scanf(" %c", &grade);  // Perhatikan spasi sebelum %c
printf("Anda mendapat nilai %c. ", grade);

if (grade == 'A' || grade == 'B')
printf("Kerja bagus!\n");
else if (grade == 'C')
printf("Tidak buruk, terus tingkatkan!\n");
else
printf(" mari kerjakan keras kali berikutnya!\n");

return 0;
}

Spasi sebelum %c sangat penting! Itu memberitahu scanf() untuk melewati semua whitespace (seperti baris baru) sebelum membaca karakter.

Input String

Terakhir tapi bukan paling kurang, mari mengambil string keseluruhan:

#include <stdio.h>

int main() {
char name[50];  // Array untuk menyimpan string
printf("Apa namamu? ");
scanf("%49s", name);  // %49s untuk mencegah overflow buffer
printf("Halo, %s! Selamat datang di pemrograman C!\n", name);
return 0;
}

Beberapa hal yang perlu diperhatikan:

  1. Kita menggunakan array karakter untuk menyimpan string.
  2. Tidak ada & sebelum name dalam scanf() karena nama array sudah merupakan alamat.
  3. %49s membatasi input menjadi 49 karakter, mencegah overflow buffer.

Fungsi scanf(): Penelitian Lebih Dalam

Mari rangkum berbagai format spesifikator yang kita lihat:

Format Specifier Tipe Data
%d Integer
%f Float
%c Karakter
%s String

Ingat, scanf() sangat kuat tetapi bisa sulit. Selalu periksa apakah input sukses:

#include <stdio.h>

int main() {
int num;
printf("Masukkan sebuah nomor: ");
if (scanf("%d", &num) == 1) {
printf("Anda memasukkan: %d\n", num);
} else {
printf("Input tidak valid!\n");
}
return 0;
}

Ini memeriksa apakah scanf() berhasil membaca satu nilai (== 1).

Menutup

Wah! Kita sudah menelusuri banyak hal hari ini. Dari integer ke string, kita telah mengeksplor bagaimana membuat program C kita interaktif. Ingat, latihan membuat sempurna. Cobalah menggabungkan jenis input yang berbeda dalam program Anda. Mungkin buatlah permainan sederhana yang meminta nama pemain, usia, dan nomor kesukaannya?

Pemrograman seperti belajar bahasa baru - semakin sering Anda gunakan nya, semakin menjadi hal natural. Jadi, terus coding, terus mencoba, dan terutama, bersenang-senang! Jika Anda pernah kesulitan, ingat bahwa setiap pemrogram pernah menjadi pemula. Jangan takut untuk bertanya dan mencari bantuan.

Sampai jumpa lagi, selamat coding!

Credits: Image by storyset