SPEAKER 1: Mari kita menulis program dengan antara muka pengguna grafik yang juga termasuk label. Dan dalam label ini, kita akan menyimpan nombor, walaupun sebagai rentetan. Dan kita akan mengemas kini label yang sekali lagi, dan sekali lagi, dan lagi. Supaya kita akhirnya mengira turun dari 50 kepada sifar. Glabel, memanggil label, mendapat kembali nilai glabel baru. Sekarang, saya tidak akan memberikan ini nilai label lagi, jadi saya akan dimasukkan ke dalam quote, unquote. Seterusnya mari kita memanggilnya setFont, lulus dalam label, dan mari kita lulus dalam khusus font yang dipanggil SansSerif 36 mata. Font yang berlaku kepada wujud di dalam perkakas CS50 itu. Akhirnya, mari kita menambah label ke tingkap seperti berikut. Sekarang, mari kita meneruskan untuk mendorong gelung yang akan mengira dari 50 turun ke sifar. Dan dalam gelung itu, mari kita secara berulang mengemaskini label dan memaparkannya pada skrin, Untuk, int i mendapat 50, i adalah lebih besar daripada atau sama kepada sifar, i tolak, tolak. Sekarang label, ternyata, perlu tali. Tetapi saya benar-benar mengira, menggunakan integer. Jadi entah bagaimana saya akan mempunyai untuk menukar integer, i, kepada rentetan perwakilan anak panah. Untuk berbuat demikian mari kita mengisytiharkan kurungan char s tiga. Supaya kita mempunyai ruang simpanan yang cukup selama dua digit, diikuti dengan terminator null. Kemudian mari kita panggilan s cetak f yang berlalu dalam s, lulus dalam petikan, unquote peratus i. Yang menunjukkan bahawa kita memang mahu untuk memformat integer. Akhirnya lulus dalam i sendiri. Dalam erti kata lain, s cetak f, atau tali cetak f, seperti cetak f, menjangkakan rentetan format diikuti oleh beberapa pembolehubah untuk menggantikan ke dalam itu rentetan format. Tetapi ia juga menerima adalah yang pertama hujah, lokasi di mana anda ingin menyimpan tali bahawa anda telah diwakili dengan rentetan format. Jadi, mari kita teruskan dan panggilan ditetapkan, label, lulus dalam label, lulus dalam s. Sekarang, akhirnya, hanya kerana label ini lebar akan berubah dari masa ke masa kita mengira turun dari 50, 49, untuk dot, dot, dot, untuk 9-8. Yang tidak adalah seperti yang luas sebagai nombor dua digit adalah. Mari kita meneruskan untuk memikirkan secara dinamik apa yang lebar ini label harus dan kemudian memastikan bahawa ia sentiasa tertumpu pada skrin. Saya pertama akan mengisytiharkan double, memanggil x, dan saya kemudian akan menyimpan di dalam x, hasil daripada acara lebar, lulus dalam lebar keseluruhan tingkap, tolak mendapatkan lebar, lulus dalam label. Kemudian membahagikan segala-galanya dengan dua. Begitu juga saya akan mengaku y menjadi sama untuk mendapatkan ketinggian keseluruhan tingkap, tolak mendapatkan ketinggian hanya label, dan membahagi bahawa dengan dua juga. Akhir sekali, saya akan memanggil setlocation, lulus dalam label, lulus dalam x, lulus dalam y. Terdapat dengan meletakkan yang label pada x koma y. Akhir sekali, supaya detik ini tidak berlaku terlalu cepat mari kita berhenti seketika, untuk berkata, 100 milisaat antara setiap kini label. Untuk berbuat demikian, kita boleh memanggil menjedakan fungsi, itu ditakrifkan dalam Stanford perpustakaan mudah alih, cukup sekadar seperti berikut. Sekarang mari kita menyimpan, menyusun, dan menjalankan program ini. Membuat label, dot slash, label. Ada antara muka pengguna saya mengira turun dari 50. Mengira ke bawah, dan ke bawah, dan ke bawah, dan dilakukan.