Sebagai pakar fesyen dan pengaturcaraan, saya menghargai keindahan kedua-dua dunia, walaupun dalam hal menjana aksara rawak. Dalam dunia C++, tugasan ini boleh disamakan dengan menggayakan pakaian yang sempurna: ia memerlukan pemahaman tentang prinsip, kreativiti dan sedikit rawak untuk menjadikannya menarik.
Hari ini, kita akan melakukan perjalanan yang menarik dan menyelidiki dengan lebih mendalam tentang cara mencipta fungsi untuk menjana watak rawak dalam C++. Sama seperti mengait sehelai pakaian yang cantik, kami akan menggunakan alat dan teknik yang betul untuk mencipta program yang berfungsi dan cekap.
Perpustakaan Terlibat
Fungsi terpenting untuk menjana nombor rawak ditempatkan dalam pustaka yang dikenali sebagai cstdlib . Ia seperti fabrik utama yang kita gunakan untuk mencipta karya agung fesyen. Pustaka ini mengandungi fungsi bernama rand().
#include
Fungsi ini, apabila dipanggil, mengembalikan integer antara 0 dan RAND_MAX, pemalar dalam cstdlib yang biasanya mewakili nilai tinggi. Dengan cara yang sama warna-warna terang boleh memberi kehidupan kepada sekeping fesyen, rawak menambahkan unsur ketidakpastian pada kod kami, menjadikannya dinamik dan fleksibel.
Menjana Watak Rawak
Dengan cara yang sama seorang pereka fesyen yang teliti menggabungkan pelbagai elemen untuk mencipta rupa yang menakjubkan, kami kini akan menggabungkan alatan kami untuk menyelesaikan tugasan yang sedang dijalankan – menjana watak rawak. Ini melibatkan pemetaan set integer yang dikembalikan oleh fungsi rand() kepada nilai ASCII yang sepadan dengan aksara yang boleh dicetak.
#include
#include
#include
char generate_random_char() {
srand(masa(0));
int rawakInt = rand() % 128;
while(randomInt < 33) { randomInt = rand() % 128; } kembalikan static_cast
}
int utama () {
std::cout << generate_random_char(); pulangan 0; } [/code] Dalam fesyen, masa adalah segala-galanya, dan dalam dunia kita, ia tidak berbeza. Fungsi time(0) daripada pustaka ctime membantu kami menyemai fungsi rand() kami berdasarkan masa semasa, menghasilkan penjana yang sangat baik untuk rawak. Sama seperti sehelai pakaian abadi yang tahan ujian masa, begitu juga penyelesaian kami.
Membongkar Kod
Fungsi rand() mengembalikan integer rawak. Seperti yang dinyatakan sebelum ini, ini boleh diibaratkan seperti memilih kain rawak dari kotak fesyen. Tetapi tidak semua bahan sesuai untuk reka bentuk kami; maka keperluan untuk mengesahkan kualiti mereka atau, dalam kes ini, julat.
Kami memodulasi nombor rawak dengan 128 untuk memastikan ia berada dalam julat aksara ASCII yang boleh dicetak, yang bermula dari 0 hingga 127. Walau bagaimanapun, untuk menghapuskan aksara yang tidak boleh dicetak, kami memperkenalkan gelung sementara yang terus menjana nombor rawak sehingga kami mendapat nombor rawak 33 atau lebih tinggi, sepadan dengan aksara ASCII yang boleh dicetak pertama – '!' (tanda seru).
Akhir sekali, kami menukar (buang) int kami kepada char. Hasilnya ialah aksara boleh cetak rawak. Setiap panggilan ke fungsi menjana watak yang berbeza disebabkan penggunaan pembenihan berasaskan masa kami. Akhirnya, karya unik kami sedia untuk dilihat oleh dunia, sama seperti trend fesyen terkini yang melanda landasan. Dalam kedua-dua dunia, unsur kejutan adalah yang terpenting, dan itulah keindahan rawak dalam pengaturcaraan dan gaya dalam fesyen.
Kesimpulannya, sama seperti pelbagai elemen bersatu untuk membentuk dunia fesyen, perpustakaan dan fungsi yang berbeza digabungkan untuk menyelesaikan cabaran pengaturcaraan. Penjanaan aksara rawak hanyalah salah satu perkara menakjubkan yang boleh kita lakukan dengan C++, sama seperti mencipta pakaian yang menakjubkan daripada satu set item yang kelihatan tidak sepadan. Ia adalah keajaiban kreativiti – sama ada dalam fesyen atau dalam kod.