Oratè 1: Se pou yo ekri yon pwogram ki envit itilizatè a pou non ak kay nan twa elèv yo. Koulye a, nan magazen sa yo non ak kay nou te ka sèvi ak, ki sa ki, sis varyab. Twa strings pou non yo, ak yon lòt twa strings pou kay yo, men nou deja konnen ke nou ka netwaye ki Kòd lè l sèvi avèk ranje olye de sa, pou egzanp yon etalaj de gwosè 3 pou la twa non, ak yon lòt seri gwosè 3 pou kay yo. Men, li vire soti nou ka netwaye sa a leve plis toujou, ak aktyèlman kenbe sa yo non ak kay ansanm, se konsa ke yon Non elèv la ansanm ak tout fanmi li oswa li yo yon jan kanmenm enklizyon, se konsa yo pale, nan varyab la menm. Pou fè sa, menm si, nou bezwen deklare pwòp nou di ki kalite done, kalite pwòp nou yo nan C, ki otè yo nan C te fè pa nesesèman panse a ane de sa. Pou fè sa nou kapab itilize mo kle nan tipedèf, ansanm ak nan lòt konstri mo kle. Ann pran yon gade. Anndan nan structs.h, mwen te deja vinn te kòmanse pa ki gen ladan bibliyotèk la CS50. Mwen kap vini an ale nan tape konstri tipedèf, ak Lè sa a, yon aparèy Curly. Anndan nan konstri a, mwen pral presize ke yon elèv va gen yon fisèl rele, ak yon lòt fisèl rele kay la. Mwen pral Lè sa a, fèmen aparèy òtopedik Curly m 'yo, ak presize ki non an nan sa a nouvo kalite done yo dwe elèv yo. Nan lòt mo, atravè sentaks sa a, mwen te deklare yon nouvo kalite done nan pwòp mwen ki pa t egziste yon ti moman de sa, e andedan nan sa a kalite done yo se de done jaden oswa manm done, youn rele, yon sèl rele kay, tou de kote yo se nan kalite fisèl. Se pou nou kounye a itilize kalite sa a nan yon pwogram vrè. Nan structs0.c, mwen te Menm jan an tou vinn tèt mwen te kòmanse deja ak kèk Kòd boilerplate, epi mwen kounye a pral sèvi ak done sa a tape elèv yo, jan sa a. Mwen premye ale nan deklare yon etalaj de kalite elèv, mwen pral rele etalaj elèv yo - pliryèl - epi mwen pral presize ki gwosè li yo pral twa, ki, avi, se valè a nan elèv yo konstan - nan tout kapital - ke mwen te deklare moute isit la, pi bonè nan dosye a. Se pou nou kounye a repňte sou sa yo twa elèv yo, epi pouse itilizatè a pou non yo ak kay. pou Int mwen jwenn 0, mwen ki pi piti a pase sa yo ki konstan, mwen + +. Epi, koulye a andedan nan kò a nan sa a pou bouk, mwen pral enprime soti yon bagay tankou non elèv yo. Mwen Lè sa a, ale nan aktyèlman jwenn ke Non elèv la pa ki espesifye elèv yo bracket mwen. Nan lòt mo mwen vle elèv la m-th nan etalaj la yo rele elèv yo, men kounye a Mwen vle jwenn nan ke mwen-th elèv la non, ak fè sa, mwen pral sèvi ak la. operatè, yo nan lòd yo ka resevwa nan yon andedan jaden espesifik nan konstri la. Se konsa, mwen presize elèv yo bracket mwen. Non vin valè a retounen nan GetString (). Pandan se tan, mwen pral enprime soti yon bagay ki sanble, li di elèv la kay, e kounye a, mwen pral presize ke jaden an m-th elèv yo kay va jwenn valè a retounen nan yon lòt rele nan GetString (). Koulye a, kite a fè yon bagay ak sa yo twa non ak kay elèv yo, yon bagay senp tankou enprime chak soti nan yon fraz. pou Int mwen jwenn 0, ankò mwen se mwens pase elèv yo, mwen + +, printf "% s se nan% s. antislach n ", epi kounye a kite m 'ploge nan valè yo nan de jaden sa yo, elèv yo bracket mwen. Non, vigil, elèv yo bracket mwen. kay, fèmen paren, pwenvigil. Epi, koulye a mwen bezwen fè yon sèl bagay plis ankò. Nan pati anba a sa a ranpli, mwen bezwen gratis memwa nan sa ki te resevwa lajan dèyè sèn nan pa GetSring (), ki nan kou rele malok, yo nan lòd yo asiyen memwa pou strings yo ki kalite itilizatè. Men, sa a se senp. pou Int mwen jwenn 0, mwen se mwens pase elèv yo, mwen + +, ak andedan kò a nan sa a pou bouk, mwen tou senpleman ale nan bay gratis elèv yo bracket mwen. Non, yo ak elèv yo gratis bracket mwen. kay la. Koulye a, nou te itilize byen klè twa pou pasan nan pwogram sa a, lè reyèlman mwen te kapab jis itilize yon sèl, men sa a se jis pou dedomajman pou demonstrasyon an, se konsa ke nou ka presize nan twa diferan etap ki sa egzakteman n ap fè. Nou ap premye jwenn yon non ak yon kay pou chak nan elèv yo, nou Lè sa a, enprime soti non ak kay la pou chak nan twa elèv yo, ak Lè sa a, nou pral gratis memwa a itilize pa chak nan elèv yo. Men, siman nou te ka te gen konbine sa a nan yon sèl pi gwo pou bouk. Se pou nou kounye a sove, konpile, epi kouri pwogram sa a. fè strukt 0. / strukt 0, elèv la non, se pou yo bay David, l ap viv nan Mather House, non elèv yo, kite a di Lauren, li ap viv nan LEVERETT House, non elèv yo, Rob, l ap ap viv nan Kirkland House. Ak tout bon, David te nan Mather, Lauren se nan LEVERETT, ak Rob se nan Kirkland.