>> HOPARL脰R 1: bir proqram yazmaq ed蓹k ki, Bu adlar 眉莽眉n istifad蓹莽i v蓹 bax谋n
眉莽 t蓹l蓹b蓹 evl蓹ri.
Amma daha 莽ox yaln谋z 莽ap onlar谋n ekran adlar谋 v蓹 evl蓹ri, ed蓹k
蓹v蓹zin蓹 disk m蓹lumat edin.
Ba艧qa s枚zl蓹, bir CSV, dem蓹k, 蓹n yaratmaq imkan fayl, verg眉l ayr谋lm谋艧 d蓹y蓹rl蓹r,
h蓹qiq蓹t蓹n, yaln谋z bir m蓹tn fayl谋 olan Excel v蓹 ya N枚mr蓹l蓹r kimi proqramlar谋
a莽maq v蓹 s蓹m蓹r蓹li h蓹min saxlaya bil蓹rsiniz adlar谋 v蓹 evl蓹rin daimi ki
Biz sonra onlar谋 n蓹z蓹rd蓹n bil蓹r.
>> Bunu etm蓹k 眉莽眉n, ilk bir n蓹z蓹r ed蓹k M蓹n var ki, b蓹zi boilerplate kodu
art谋q il蓹 ba艧lad谋.
Ilk ba艧l谋qlar谋n谋 aras谋nda ed蓹k 眉st q蓹d蓹r art谋q standart lib.h olan
ba臒l谋 b蓹zi funksiyalar谋 var olur I / O, fayl giri艧 v蓹 莽谋x谋艧 fayl.
M蓹n d蓹 b蓹yan etdik ki, g枚r眉rs眉n眉z T茝L茝B茝L茝R adl谋 daimi -
b眉t眉n caps - onlar谋n d蓹y蓹ri a臒谋r 眉莽 kodlu olunur.
Indi m蓹nim 蓹sas ki, daxili ed蓹k proqram, m蓹n bir s谋ra elan edir蓹m
枚l莽眉s眉 眉莽 莽a臒谋r谋b daimi istifad蓹 T茝L茝B茝L茝R 眉zvl蓹ri h蓹r edir
t蓹l蓹b蓹l蓹r yaz谋n.
>> T蓹l蓹b蓹, biz m眉蓹yy蓹n ed蓹c蓹yik ki, indi Xat谋rladaq bir ad v蓹 bir ev h蓹m d蓹 olan kimi
bu kimi strings olan b蓹yannam蓹, dot h t蓹limatland谋r谋r.
陌ndi geri structs1.c da, qeyd edir ki, m蓹n bir loop 眉莽眉n burada olacaq var
眉莽 q蓹d蓹r s谋f谋r t蓹krarlamaq.
Bu t蓹l蓹b蓹 眉莽眉n m蓹n蓹 t蓹klif olacaq ad谋 v蓹 艧agirdin ev
t蓹krar v蓹 yenid蓹n.
>> Sonra bu proqram alt谋nda, M蓹n loop 眉莽眉n ba艧qa bir var ki, g枚r眉rs眉n眉z
ki, azad olacaq 陌TH t蓹l蓹b蓹 ad谋 v蓹 ild蓹 陌TH t蓹l蓹b蓹 evi
eyni loop in艧a.
茝min olmaq 眉莽眉n, biz bu loops birl蓹艧dirm蓹k bil蓹r yaln谋z bir, amma ist蓹yirdi daxil
kodu b蓹zi f蓹rqli seqmentl蓹ri var burada m眉zakir蓹 namin蓹.
>> 陌ndi loops 眉莽眉n bu aras谋nda, ed蓹k h蓹qiq蓹t蓹n, ba艧qa bir var v蓹 bu, bir
h蓹yat m蓹qs蓹di 蓹slind蓹 b眉t眉n saxlamaq 眉莽眉n ki, bu adlar谋 v蓹 evl蓹rin
Hal-haz谋rda 艧蓹klind蓹 disk RAM verg眉l ayr谋lm谋艧 d蓹y蓹rl蓹r.
Bunu etm蓹k 眉莽眉n, biz istifad蓹 etm蓹k olacaq 眉莽 yeni funksiyalar谋 -
F a莽谋q, F printf, v蓹 F yax谋n olan , bir fayl a莽maq bir fayl 莽ap, v蓹
bir fayl ba臒lay谋n.
A艧a臒谋dak谋 kimi biz onlar谋 istifad蓹 ed蓹 bil蓹rsiniz.
>> Resim, b眉t眉n caps olan q蓹d蓹r edir C a maraq, Resim fopen olur
quote d谋rna臒谋 ba臒lamaq v蓹 art谋q bir ad students.CSV, dem蓹k, fayl, amma ola bil蓹r
蓹n 艧ey, verg眉l z蓹ng v蓹 indi m蓹n daxili w bir m眉蓹yy蓹n etm蓹k 眉莽眉n gedir
ikiqat quotes.
W, siz art谋q guessed ola bil蓹r kimi, fopen bu fayl谋 a莽maq laz谋md谋r o dem蓹kdir ki,
bel蓹 yazmaq 眉莽眉n Students.CSV 莽a臒谋r谋b biz, h蓹qiq蓹t蓹n, b蓹zi saxlaya bil蓹rsiniz ki,
bu m蓹zmunu.
>> G蓹lin n枚vb蓹ti 莽ek 蓹g蓹r fayl null b蓹rab蓹r deyil.
茝g蓹r, bir 艧ey y蓹qin ki, 莽眉nki olan halda yanl谋艧 getdi biz
c蓹hd davam etm蓹m蓹lidir ona bir 艧ey 莽ap.
Amma bu null deyil, onda daxilind蓹 M蓹n t蓹krarlamaq gedir蓹m q谋vr谋m a艧谋rma
i T茝L茝B茝L茝R q蓹d蓹r 0 b蓹rab蓹rdir olan v蓹 m蓹n gedir蓹m
i h蓹r iteration artt谋rmay谋.
Bu loop daxilind蓹, m蓹n gedir蓹m fprintf bir fayl 莽ap kimi -
x眉susi bir M蓹n art谋q a莽谋ld谋 -
bu% s,% s kimi g枚r眉n眉r ki, bir string backslash n yax谋n quote.
>> 陌ndi m蓹n h蓹r plug ist蓹yir蓹m o placeholders faktiki d蓹y蓹rl蓹ri
Bir 艧agirdin ad谋 v蓹 bir evin dot operator istifad蓹 ed蓹r蓹k.
T蓹l蓹b蓹l蓹r bracket i.name, t蓹l蓹b蓹l蓹r bracket i.house yax谋n paren
yar谋 colon.
陌ndi loop 眉莽眉n bu a艧a臒谋da, m蓹n sad蓹c蓹 deyil蓹m 眉莽眉n fayl fclose z蓹ng gedir
n蓹tic蓹d蓹 fayl谋 ba臒lamaq.
>> Bu proqram 莽al谋艧t谋rd谋臒谋n谋zda 陌ndi olmamal谋d谋r h蓹qiq蓹t蓹n haqq谋nda bir 艧ey g枚rm蓹k
ekran, amma olmal谋d谋r 莽al谋艧an sonra Bu proqram adl谋 bir fayl
Eyni dizinde Students.CSV ki, M蓹n laz谋md谋r ki, ild蓹 funksiyan谋 莽al谋艧t谋r谋n
ayr谋lm谋艧 verg眉l ehtiva d蓹y蓹rl蓹rin siyah谋s谋.
Bir n蓹z蓹r salaq.
>> Etm蓹k structs 1. / Structs1 t蓹l蓹b蓹 , David dey蓹k, ad
o Mather da ya艧amaq laz谋md谋r.
T蓹l蓹b蓹 ad谋, dey蓹k, Lauren, o LEVERETT da ya艧amaq laz谋md谋r.
T蓹l蓹b蓹 ad谋, dey蓹k, Rob, O Kirkland-da ya艧amaq laz谋md谋r.
陌ndi yen蓹, g枚zl蓹nildiyi kimi, he莽 bir 艧ey g枚r眉n眉r ba艧 vermi艧, lakin bildirin m蓹ni
skript istemi v蓹 n枚v眉 davam 眉mid g edit students.CSV ki,
fayl h蓹qiq蓹t蓹n m枚vcuddur.
>> Gedit students.CSV ENTER, v蓹 h蓹qiq蓹t蓹n, fark s谋rf olan bir fayl
m蓹tn, lakin m蓹tn virg眉lle ayr谋lm谋艧 h蓹r sah蓹 眉莽眉n, h蓹qiq蓹t蓹n m枚vcuddur.
V蓹 biz CS50 deyil, istifad蓹 蓹g蓹r cihaz, lakin bir daha tan谋艧 Mac v蓹 ya
PC, bu 莽谋x谋r ki, biz h蓹qiq蓹t蓹n bil蓹r bir daha bu CSV fayl谋 a莽maq
Excel v蓹 ya N枚mr蓹l蓹r kimi tan谋艧 proqram.