Hai mas bro dan mbak sis. Sudah lama juga ternyata nggak nulis tentang algoritma dan pemrograman.
Kali ini sayamas ganteng akan memberikan contoh kode program tebak angka dalam bahasa C. Tapi kali ini beda. Saya tidak membahas bagaimana algoritma sebuah program tebak angka tersebut. Sebagai gantinya saya berikan beberapa komentar di sana sini dengan harapan dapat memperjelas kode.
Inti dari program ini adalah bagaimana menghasilkan angka acak untuk ditebak oleh user. Dan program akan mengatakan apakah tebakan dari user itu kekecilan atau kebesaran sampai user menginput angka yang benar.
Cekidot!
#include <stdio.h>
#include <stdlib.h>
#define MAX_ANGKA (100 + 1)
int main() {
char mulai;
int tebakan, angka_user, langkah;
time_t t;
srand((unsigned) time(&t));
// jalan terus sampai user menekan karakter selain y
do {
// inisialisasi angka_user dan langkah
angka_user = 0;
langkah = 0;
// set angka tebakan
tebakan = rand() % MAX_ANGKA;
if (tebakan == 0) tebakan = 1;
// ulangi terus sampai angka tebakan dan angka inputan user sama
while (angka_user != tebakan) {
// tambahkan jumlah langkah
langkah++;
printf("Masukkan angka tebakan Anda: ");
scanf("%d", &angka_user);
getchar(); // quick fix. setelah scanf harus ditambahkan getchar agar bisa jalan
if (angka_user > tebakan) { // jika angka user terlalu besar
printf("Uh! Kebesaran!\n");
} else if (angka_user < tebakan) { // jika angka user terlalu kecil
printf("Uh! Kekecilan!\n");
} else { // jika sudah berhasil menebak. karena jika bukan "lebih dari" dan "kurang dari", berarti "sama dengan"
printf("Mantap! Anda menebak dalam %d kali\n\n\n", langkah);
}
}
// pertanyaan apakah mau main lagi?
printf("Masih mau main lagi? (y jika ya) ");
scanf("%c", &mulai);
getchar();
} while (mulai == 'y');
return 0;
}
Kali ini saya
Inti dari program ini adalah bagaimana menghasilkan angka acak untuk ditebak oleh user. Dan program akan mengatakan apakah tebakan dari user itu kekecilan atau kebesaran sampai user menginput angka yang benar.
Cekidot!
#include <stdio.h>
#include <stdlib.h>
#define MAX_ANGKA (100 + 1)
int main() {
char mulai;
int tebakan, angka_user, langkah;
time_t t;
srand((unsigned) time(&t));
// jalan terus sampai user menekan karakter selain y
do {
// inisialisasi angka_user dan langkah
angka_user = 0;
langkah = 0;
// set angka tebakan
tebakan = rand() % MAX_ANGKA;
if (tebakan == 0) tebakan = 1;
// ulangi terus sampai angka tebakan dan angka inputan user sama
while (angka_user != tebakan) {
// tambahkan jumlah langkah
langkah++;
printf("Masukkan angka tebakan Anda: ");
scanf("%d", &angka_user);
getchar(); // quick fix. setelah scanf harus ditambahkan getchar agar bisa jalan
if (angka_user > tebakan) { // jika angka user terlalu besar
printf("Uh! Kebesaran!\n");
} else if (angka_user < tebakan) { // jika angka user terlalu kecil
printf("Uh! Kekecilan!\n");
} else { // jika sudah berhasil menebak. karena jika bukan "lebih dari" dan "kurang dari", berarti "sama dengan"
printf("Mantap! Anda menebak dalam %d kali\n\n\n", langkah);
}
}
// pertanyaan apakah mau main lagi?
printf("Masih mau main lagi? (y jika ya) ");
scanf("%c", &mulai);
getchar();
} while (mulai == 'y');
return 0;
}
No comments:
Post a Comment