Halo dan selamat datang. Dalam demonstrasi ini, saya ingin memberikan solusi
untuk tantangan terakhir kami. Jadi saya
ingin memberikan solusi untuk program c kami
yang membutuhkan waktu beberapa menit dan mengubahnya menjadi representasi dalam
hitungan hari dan tahun.
Tidak harus program praktis,
tetapi akan menunjukkan beberapa konsep
kunci yang dapat Anda pelajari terutama menggunakan operator
aritmatika, mendapatkan input dari keyboard.
Dan Anda juga harus menggunakan operator pemeran untuk ini yang mungkin
tidak saya sebutkan dalam tantangan, tapi
semoga kalian mengetahuinya karena ketika Anda melakukan -- tidak perlu
menggunakan operator pemeran, Anda seharusnya tidak
perlu awalnya saya berpikir solusi membutuhkan operator modulus. Tetapi jika Anda melakukan modulus,
saya pikir itu hanya membutuhkan 2
int.
Jadi, mari kita mulai. Mari kita mulai blok dingin,
dan mari kita membuat proyek, melalui hal-hal dasar yang kita cukup baik pada saat ini.
Jadi saya tidak akan membahasnya secara detail, Anda bisa menonton saja.
Tapi saya akan membuat proyek baru dan itu akan menjadi proyek konsol dan pasti akan
menjadi c dan apa yang akan saya beri
nama yang satu ini lagi-lagi Anda selalu ingin mendapatkan nama yang bagus dan bermakna.
Saya akan mengatakan konversi menit.
Jadi ini seperti aplikasi konversi menit.
Dan sekarang saya hanya akan memodifikasi main. berkas c.
Jadi mari kita singkirkan ini. Dan kita akan menyimpan pernyataan include.
Dan seperti biasa, Anda ingin menambahkan komentar, pastikan Anda menambahkan komentar,
hanya karena saya tidak melakukannya bukan berarti Anda tidak boleh melakukannya.
Ini praktik standar. Itu hanya untuk efisiensi dan tujuan waktu, saya tinggalkan.
Apa yang ingin saya lakukan di bagian paling
atas program ini adalah menghapus variabel saya yang perlu saya gunakan dan kemudian menginisialisasinya.
Jadi mari kita mulai dengan cara itu. Saya akan membuat variabel integer untuk
menit, pengguna akan masuk. Dan aku hanya akan menelepon menit masuk. Saya akan menginisialisasi ke 0.
Aku akan membuat ganda selama bertahun-tahun. Ini sebenarnya bisa lama
juga tergantung pada berapa banyak perhitungan yang ingin Anda lakukan karena Anda sebenarnya
bisa mendapatkan angka desimal yang cukup besar.
Begitu lama bahkan mungkin menjadi pilihan yang lebih baik. Tapi saya hanya akan menggunakan
dobel untuk saat ini, inisialisasi 0 itu. 0 dan hari sama dengan
0 itu. 0.
Dan sekarang saya ingin mendapatkan masukan dari pengguna.
Untuk mendapatkan input dari pengguna, hal pertama yang Anda lakukan adalah memberi tahu pengguna untuk memasukkan input.
Jadi saya akan menampilkan beberapa output yang
mengatakan silakan masukkan jumlah menit.
Dan itu akan menempatkan titik dua di sana dan spasi
dan mengakhirinya dengan titik koma.
Selanjutnya adalah saya akan benar-benar mendapatkan masukan.
Di sinilah Anda mungkin akan mengatakan dapatkan masukan dari pengguna sebagai komentar.
Bagaimana kita mendapatkan masukan dari pengguna? Kami menggunakan fungsi scanf.
Jadi ingat ini beberapa waktu lalu, katakan saja scanf, mirip dengan printf.
Dan parameter pertama meskipun argumen adalah
tipe data yang ingin Anda baca untuk dikonversi.
Ingat, semuanya dibaca sebagai string atau teks.
Jadi, Anda harus mengubahnya menjadi bagaimana Anda akan menyimpannya.
Jadi Anda memasukkannya ke dalam tanda kutip ganda seperti printf. Anda menggunakan penentu format.
Di Sini. Saya hanya akan mengatakan saya ingin menyimpannya sebagai desimal.
Jadi saya akan mengatakan d bilangan
bulat, bukan bilangan bulat desimal, maaf.
Dan kemudian argumen berikutnya adalah variabel apa yang akan Anda simpan.
Dalam aku akan menyimpannya dalam menit masuk.
Sekarang ingat bahwa scan f dan
saya sebenarnya hanya memiliki scan di sana, scanf
untuk setiap tipe data kecuali string, Anda
harus memberikan ampersand. Alamat sub-operator.
Jadi kita harus menyediakan itu. Kami sedang membaca angka jadi kami harus melakukan ampersand.
Ingat itu dari kuliah. Lalu saya ingin menambahkan ini dengan titik koma.
Dan pada titik ini, Anda mungkin harus menguji.
Pastikan Anda bisa mendapatkan masukan dari pengguna. Dan Anda mungkin hanya memiliki printf untuk menampilkan apa yang Anda masukkan.
Tetapi karena saya tahu bahwa ini benar, saya akan melanjutkan.
Saya perlu melakukan perhitungan pada baris 15.
Terutama, saya ingin menyimpan menit dalam beberapa tahun.
Jadi yang akan saya lakukan adalah membuat variabel lain yang
saya lupa yang akan menyimpan menit dalam setahun.
Karena ini akan membuatnya lebih mudah. Jadi di sini saya hanya akan mengatakan menit dan tahun.
Anda akan melihat bahwa konvensi yang saya gunakan di sini untuk penamaan variabel adalah camelCase.
Di situlah Anda memiliki huruf kecil untuk
ward pertama dan kemudian setiap kata setelah itu Anda huruf besar untuk karakter pertama.
Saya tidak menjelaskan itu sebelumnya jadi saya pikir saya akan menyebutkannya.
Jadi perhitungan pertama saya ingin mengatur menit dan tahun saya karena
ini adalah bagaimana
saya akan menghitung tahun saya. Jadi menit dan tahun sebenarnya sama dengan --
dan saya suka menggunakan tanda kurung hanya untuk mengatur, jadi semuanya jelas. Itu membuatnya lebih mudah dibaca.
Ini akan menjadi 60, karena 60 adalah
jumlah menit dalam satu jam. Dan saya akan mengalikannya dengan jumlah jam dalam sehari yaitu 24.
Saya akan mengalikannya dengan jumlah hari dalam
setahun, yaitu 365.
Dan perhitungan ini akan memberi saya berapa menit dalam satu tahun.
Dan sekarang saya dapat menggunakan ini untuk menghitung tahun saya.
Jadi di sini, di baris berikutnya, saya dapat mengatakan tahun sama -- jadi kami menggunakan
operator penugasan di sini, persamaan.
Dan kemudian apa yang kita lakukan dalam tanda kurung pada baris 16 adalah
kita menggunakan tanda bintang yang merupakan perkalian. Jadi cukup rapi.
Tahun akan sama dengan -- dan sekali lagi saya ingin menggunakan tanda kurung.
Menit yang dimasukkan yang dilakukan oleh pengguna dibagi
dengan menit dalam setahun.
Jadi jika Anda memasukkan 5000 menit dan ada 20.000 menit dalam setahun, 5000
dibagi 20.000 akan memberi Anda berapa tahun yang akan
menjadi 0 poin sesuatu.
Untuk menghitung
hari, di sini saya
hanya akan mengatakan menit yang
dimasukkan dibagi 60 dan 60. 0
karena ada 60 menit
dalam satu jam.
Dan kemudian setelah saya memiliki jam, saya dapat membaginya dengan jumlah
hari yaitu 24. 0.
Dan saya bisa memasukkan ini ke dalam perhitungan lain jika saya mau.
Tetapi sekali lagi, saya ingin memastikan bahwa kita melakukan ini dalam urutan yang benar.
Jadi pertama saya akan membagi menit masuk dibagi 60.
Anda tidak perlu khawatir tentang ini sebenarnya
karena kami melakukan pembagian di sini, jadi asosiasi akan kiri ke kanan
dan saya sebenarnya tidak membutuhkan tanda kurung ini. Tapi saya selalu suka menambahkan tanda kurung karena membuat semuanya lebih mudah dibaca.
Jadi mari kita tambahkan yang terakhir.
Itu agak berlebihan. Aku bahkan tidak membutuhkannya di sini. Jadi mari kita
tinggalkan saja, hanya yang pertama. Dan ini seharusnya menunjukkan hari-hari kita.
Sekarang saya telah melakukan perhitungan dan menggunakan beberapa operator.
Saya ingin melakukan printf untuk hanya mencetak data saya.
Di sini saya akan mengatakan mencetak menit
dulu, persen
d menit kira-kira persen f tahun dan persen f hari.
Dan kemudian saya akan menambahkan umpan baris.
Jadi yang dilakukan adalah kita menggunakan printf untuk menampilkan output
variabel dan simbol persen mengingat penentu markup kita.
Hal pertama yang ingin saya cetak adalah menit, jadi saya harus meletakkan menit setelah koma pertama saya ketika dimasukkan.
Yang kedua adalah tahun jadi saya ingin mengatakan tahun karena itu persen f tahun.
Dan yang ketiga adalah hari-hari seperti
itu.
Saya sekarang harus mengkompilasi dan menjalankan, dan mereka harus melakukan konversi saya untuk saya.
Jadi mari kita maju dan membangun. Saya tidak punya pagi, tidak ada kesalahan.
Ayo lari dan saya bahkan tidak yakin berapa menit
dalam setahun. Jadi saya tidak yakin bagaimana
menguji ini, tetapi mari kita luangkan waktu 5000 menit untuk memulai.
Ketika saya menjalankan program, ia meminta saya untuk memasukkan jumlah menit, saya akan memasukkan 5000.
Dan jika Anda tidak memasukkan angka, Anda mungkin mengalami crash
karena Anda mengonversinya menjadi angka dalam fungsi scanf Anda.
Saya menekan kembali, ini mengatakan 5000 menit
kira-kira 0. 009513
tahun dan 3. 47222 hari,
yang tampaknya masuk akal karena 60 menit dalam satu jam dikalikan
24, itu akan menjadi kira-kira 2400 atau lebih
untuk satu hari jadi 2400
dan 2400, bukan 60 kali. Maaf 60
kali 24 akan menjadi kira-kira 1200.
Jadi 1200 masuk ke 5000 berapa, berapa kali untuk setiap
hari mungkin sekitar 3. 4 di sekitar sana.
Jadi kira-kira ini terlihat benar.
Jadi Anda dapat menjalankan ini beberapa kali, masukkan beberapa angka besar yang akan Anda perhatikan.
Kami hanya menyimpan ganda di sini. Jadi jika Anda menjalankannya dan Anda mencoba memasukkan
angka yang terlalu besar, katakanlah seperti 600 miliar atau lebih,
Anda mungkin salah --
jadi Anda mungkin memiliki kesalahan di sini. Jadi ini menunjukkan kepada Anda masalah tipe data.
Jadi saya menyimpan di int. Int hanya 8 byte. Saya memasukkan angka yang sangat besar ini.
Itu tidak bisa disimpan di dalamnya. Jadi saya ketika saya
pergi untuk mencetaknya, itu mencetak pada nomor yang sama sekali berbeda, 184298154.
Itu karena apa yang saya masukkan lebih besar dari int.
Jadi, Anda mungkin ingin mempertimbangkan apakah Anda ingin program
ini menjadi lebih tepat dan Anda ingin memasukkan angka yang lebih besar untuk mengubah
beberapa tipe data, mengubah int menjadi double atau bahkan double menjadi long.
Jadi ini mengatakan 350 tahun dan 127000 hari atau lebih.
Jadi, aplikasi konversi kecil yang bagus yang, sekali lagi,
mencoba memberi Anda beberapa
pemahaman tentang tipe data serta operator.
Kami dapat memiliki banyak aplikasi konversi yang berbeda. Aplikasi bagus lainnya yang
ingin Anda tulis untuk latihan lebih lanjut adalah aplikasi Fahrenheit ke
Celsius.
Tulis aplikasi yang memungkinkan pengguna memasukkan Fahrenheit dan kemudian mengubahnya menjadi Celsius.
Maksud saya ada banyak, banyak skenario berbeda yang Anda buat. Tetapi ini akan memaksa Anda untuk menggunakan operator.
Dan kami bahkan bisa melakukan casting di
sini jika kami mau. Jika kita tidak suka hari
itu terlalu tepat dan mungkin kita ingin mengubah double menjadi int.
Dan kami ingin membuatnya sedikit kurang tepat. Kami benar-benar bisa mengatakan melemparkan ini
ke itu hanya dengan memberikan tanda kurung dan
kemudian melakukan int.
Dan ini benar-benar akan memakan waktu berhari-hari.
Dan jika itu desimal 3. 549 atau sesuatu, itu akan mengubahnya menjadi 3.
Mungkin itu akan lebih baik bagi pengguna, terserah Anda.
Tapi mari kita simpan untuk saat ini sebagai ganda.
Tapi begitulah cara Anda belajar. Anda bermain-main dengan program, mencoba skenario
yang berbeda, mencoba input yang berbeda, memastikan semuanya benar. Terima kasih.