1 00:00:00,000 --> 00:00:00,490 2 00:00:00,490 --> 00:00:03,350 SPEAKER 1: Să scrie un program cu o interfață grafică de utilizator, care, de asemenea, 3 00:00:03,350 --> 00:00:04,580 include eticheta. 4 00:00:04,580 --> 00:00:07,940 Și în această etichetă, vom stoca număr, deși ca un șir de caractere. 5 00:00:07,940 --> 00:00:10,880 Și vom actualiza eticheta din nou, și din nou, și din nou. 6 00:00:10,880 --> 00:00:15,040 Așa că am în cele din urmă conta în jos de la 50 la zero. 7 00:00:15,040 --> 00:00:20,910 Glabel, numind-o etichetă, devine valoare de nou glabel reveni. 8 00:00:20,910 --> 00:00:22,900 Acum, eu nu am de gând să dea această Valoarea etichetă încă, așa că voi 9 00:00:22,900 --> 00:00:25,040 pune la citat, încheiat citatul. 10 00:00:25,040 --> 00:00:29,080 >> Viitor să numim setfont, trecând în eticheta, și să treacă în 11 00:00:29,080 --> 00:00:32,910 în mod special un font numit SansSerif 36 punct. 12 00:00:32,910 --> 00:00:36,370 Un font care se întâmplă să existe în interiorul aparatului CS50. 13 00:00:36,370 --> 00:00:41,940 Apoi, în cele din urmă, să adăugați eticheta la fereastră, după cum urmează. 14 00:00:41,940 --> 00:00:44,580 Acum, haideți să procedeze pentru a induce un buclă care va conta 15 00:00:44,580 --> 00:00:46,400 de la 50 până la zero. 16 00:00:46,400 --> 00:00:49,520 Și, în această buclă, să iterativ actualizează eticheta și 17 00:00:49,520 --> 00:00:55,800 afișa pe ecran, pentru, int i devine 50, i este mai mare decât, sau egal 18 00:00:55,800 --> 00:00:59,750 la zero, i minus, minus. 19 00:00:59,750 --> 00:01:02,090 >> Acum etichete, se pare, trebuie să fie siruri de caractere. 20 00:01:02,090 --> 00:01:04,110 Dar eu de fapt de numărare, folosind numere întregi. 21 00:01:04,110 --> 00:01:07,750 Deci, într-un fel am de gând să aibă de a converti întreg, i, la un șir 22 00:01:07,750 --> 00:01:09,010 reprezentare săgeată. 23 00:01:09,010 --> 00:01:12,480 Pentru a face acest lucru să declare char s suport trei. 24 00:01:12,480 --> 00:01:15,500 Astfel încât să avem suficient spațiu de stocare pentru număr din două cifre, urmată de o 25 00:01:15,500 --> 00:01:16,910 terminator nul. 26 00:01:16,910 --> 00:01:22,480 Atunci să apel s imprimare f trecere în s, trecând în citat, 27 00:01:22,480 --> 00:01:24,220 la sută încheiat citatul i. 28 00:01:24,220 --> 00:01:26,960 Indicând faptul că ne-o dorim, într-adevăr pentru a formata un întreg. 29 00:01:26,960 --> 00:01:29,420 În cele din urmă trece în sine i. 30 00:01:29,420 --> 00:01:34,100 Cu alte cuvinte, s print f, sau string imprimare f, la fel ca și imprimare f, se așteaptă la o 31 00:01:34,100 --> 00:01:37,450 șir format urmate de unele variabile a substitui în care 32 00:01:37,450 --> 00:01:38,430 șir format. 33 00:01:38,430 --> 00:01:41,910 Dar, de asemenea, acceptă este prima argument, în locul în care vă 34 00:01:41,910 --> 00:01:44,400 ar dori pentru a stoca șirul pe care le-ați reprezentat 35 00:01:44,400 --> 00:01:45,830 cu acel șir format. 36 00:01:45,830 --> 00:01:52,540 >> Deci, data viitoare, să mergem mai departe și de apel setat, etichetă, trece in eticheta, trecerea în s.. 37 00:01:52,540 --> 00:01:56,430 Acum, în cele din urmă, doar pentru că acest etichete lățime se va schimba în timp, 38 00:01:56,430 --> 00:02:00,640 am conta în jos de la 50, la 49, la punct, dot, dot, la nouă la opt. 39 00:02:00,640 --> 00:02:03,170 Care nu sunt la fel de larg ca un număr de două cifre este. 40 00:02:03,170 --> 00:02:05,570 Să continuăm să dau seama dinamic ce lățimea acestei 41 00:02:05,570 --> 00:02:08,930 Eticheta ar trebui să fie și apoi să se asigure că este întotdeauna centrat pe ecran. 42 00:02:08,930 --> 00:02:12,390 Am în primul rând să declare un dublu, numind-x, iar eu apoi să 43 00:02:12,390 --> 00:02:16,880 stoca interiorul x, rezultatul get latime, trecând în lățimea 44 00:02:16,880 --> 00:02:22,120 fereastră întreg, minus obține lățime, trecerea la eticheta. 45 00:02:22,120 --> 00:02:24,880 Apoi, împărțind totul cu două. 46 00:02:24,880 --> 00:02:29,660 În mod similar am de gând să declare y pentru a fi egal pentru a obține înălțimea de ansamblu 47 00:02:29,660 --> 00:02:37,280 înălțimea ferestrei, minus obține de doar etichetă, și diviza că de doi la fel de bine. 48 00:02:37,280 --> 00:02:40,680 În cele din urmă, am de gând pentru a apela setlocation, trece în etichetă, 49 00:02:40,680 --> 00:02:43,180 trece în x, care trece în y. 50 00:02:43,180 --> 00:02:45,970 Acolo prin poziționarea eticheta la x virgulă y. 51 00:02:45,970 --> 00:02:49,290 >> În sfârșit, astfel că această numărătoare inversă nu întâmpla prea repede hai 52 00:02:49,290 --> 00:02:53,350 pauză, pentru să zicem, 100 de milisecunde între fiecare actualizare a etichetei. 53 00:02:53,350 --> 00:02:56,320 Pentru a face acest lucru, putem apela pauza funcție, care este definit în 54 00:02:56,320 --> 00:03:00,390 Stanford bibliotecă portabil, pur și simplu, după cum urmează. 55 00:03:00,390 --> 00:03:04,230 >> Acum, haideți să salva, compila, și a alerga acest program. 56 00:03:04,230 --> 00:03:08,320 Face etichetă, punct slash, eticheta. 57 00:03:08,320 --> 00:03:11,000 Există interfață meu de utilizare de numărare în jos de la 50. 58 00:03:11,000 --> 00:03:14,570 De numărare în jos, și de jos, și în jos, și a făcut. 59 00:03:14,570 --> 00:03:16,992