ZAMYLA Chan: Llongyfarchiadau ar orffen eich cwpl cyntaf o raglenni C. Gwn fod eich ymgais gyntaf i mewn i Gall gystrawen C fod yn frawychus. Ond yr wyf yn eich sicrhau, ar ddiwedd y cwrs, byddwch yn gallu edrych ar y cwpl cyntaf o aseiniadau ac eu cwblhau mewn munudau. Nawr eich bod yn cael yn fwy cyfarwydd gyda chystrawen, gadewch i ni fynd i Gesar. Yn Cesar, bydd y defnyddiwr yn cyflwyno allweddol cyfanrif fel llinell orchymyn ddadl, ac yna mynd i mewn i blaen neges destun wrth yr anogwr. Bydd y rhaglen, encipher y testun ac argraffu eu neges ciphertext. Mae'r enciphering ar gyfer Cesar yn eithaf syml. Symud pob llythyr, yn eu testun plaen, gan yr allwedd. O ganlyniad, mae hefyd yn eithaf ansicr. Ond bydd sy'n gweithredu Caesar cyflwyno ni i ddata ASCIIMath ac amrywiaeth strwythurau. Byddwn yn mynd i fwy cymhleth dulliau cêl-ysgrifennu yn ddiweddarach. Gyda Caesar allweddol 2, y llythyren A yn Byddai destun plaen yn cael ei gynrychioli gan y llythyr C yn ciphertext oherwydd C yw y byddai dau lythyr ar ôl A. B fod yn gynrychiolir gan D a C gan E. Tuag at diwedd y wyddor, W yn gynrychiolir gan Y, a X gan Z. Ond Y Nid oes rhaid dau lythyr ar ôl iddo, felly y dulliau cêl-ysgrifennu lapio o amgylch y wyddor. Y yn destun plaen yn cael ei gynrychioli gan gan A yn ciphertext, a Z gan B. Gallai fod helpu i weld y Cesar Cypher fel olwyn wyddor parhaus. I encipher eu testun, y defnyddiwr fydd yn mynd dwy ddadl i mewn i'r llinell orchymyn - . / Cesar ddilyn gan allweddol. Fel bob amser, ni allwn ymddiried yn y defnyddiwr yn gyfan gwbl i fynd i mewn mewnbwn sy'n gwneud synnwyr ar gyfer ein rhaglen. Felly bydd yn rhaid i ni ddilysu eu mewnbwn llinell orchymyn. Yn hytrach na defnyddio int brif gwag, rydym yn ddefnyddio int brif, argc int, llinyn argv. Mae'r argc amrywiol cyfanrif yn cynrychioli mae nifer o ddadleuon pasio i mewn i 'r archa bannod. Ac argv yn amrywiaeth, neu'n meddwl am y peth fel rhestr, o'r dadleuon pasio i mewn Felly, ar gyfer Cesar, sut ydym yn ddilysu fewnbwn y defnyddiwr? Wel, dylid ond eu mynd i mewn dau dadleuon llinell orchymyn - . / Cesar ac allwedd. Felly, os nad argc yw 2, mae hynny'n golygu bod maent naill ai wedi anghofio allwedd a dim ond gofnodi. / Cesar, neu eu bod yn cofnodi allweddi lluosog. Os yw hyn yn wir, yna wnewch chi helpu eisiau argraffu cyfarwyddiadau a gadael y rhaglen. Bydd angen iddynt geisio eto o'r llinell orchymyn. Ond hyd yn oed os argc yw 2, byddwch yn angen i wirio a ydynt yn rhoi allwedd dilys i chi. Ar gyfer Cesar, mae angen yn gyfanrif. Ond argv mae amrywiaeth o llinynnau. Sut ydych chi'n cael y allweddol? Golwg cyflym ar araeau - strwythurau data sy'n dal lluosog werthoedd o'r un math data. Ceisiadau yn sero-indexed, sy'n golygu bod yr elfen gyntaf yw y sero mynegai a'r elfen olaf ar faint mynegai minws 1, lle mae maint yn y nifer o elfennau yn y rhesi. Os byddaf yn datgan flwch post amrywiaeth llinyn newydd o hyd 3, yn weledol, mae'n yn edrych fel hyn. Tri cynwysyddion ar gyfer llinynnau , Ochr yn ochr. I gael mynediad i unrhyw elfen, teipiwch yr enw y rhesi, ac yna dangos y mynegai mewn cromfachau sgwâr. Yma, rwy'n neilltuo gwerth i bob elfen, yn union fel y byddwn yn ei wneud gydag unrhyw newidyn llinyn arall. Felly, i gael gafael ar ein dadleuon llinell gorchymyn, pob mae'n rhaid i ni ei wneud yw cael mynediad yr elfen dde o'r amrywiaeth argv. Os yw'r defnyddiwr gofnodi Tîm. / Blastoff Roced i mewn i'r derfynell, byddai argv 0 fod. / blastoff. Byddai argv fod Tîm, a Byddai arg2 yn roced. Nawr ein bod yn gallu cael mynediad i'n allweddol, mae angen i ni wneud siŵr ei fod yn gywir. Mae angen i ni droi i mewn i gyfanrif. Ond ni allwn ei bwrw fel rydym wedi ei wneud o'r blaen. Yn ffodus, yr A i Y swyddogaeth yn cymryd gofal o hyn i ni a hyd yn oed yn dychwelyd 0 os na all y llinyn eu trosi i mewn i cyfanrif. Mae i fyny i chi, fodd bynnag, i ddweud y defnyddiwr pam nad ydych yn gadael i'r rhaglen symud ymlaen. Storiwch y canlyniad A i Y mewn cyfanrif, ac mae gennych eich allwedd. Mae'r rhan nesaf yn syml. Annog y defnyddiwr ar gyfer eu testun plaen, a fydd o linyn fath data. Yn ffodus i ni, bwydo pob defnyddiwr llinynnau yn ddilys. Nawr ein bod i gyd mewnbwn angenrheidiol gan y defnyddiwr, mae'n amser i ni encipher eu neges. Mae'r cysyniad o Cesar yn syml digon i ddeall. Ond sut mae eich cyfrifiadur yn gwybod pa llythyrau dod ar ôl ei gilydd? Dyma lle y tabl ASCII yn dod i mewn Mae pob cymeriad yn cael cyfanrif nifer sy'n gysylltiedig ag ef. Cyfalaf yw 65. Capital B yw 66. Lythrennau bach a yw 97. Llythrennau bach b yw 98. Ond nid cymeriadau yn gyfyngedig i ddim ond rhifau wyddor. Er enghraifft, mae'r symbol @ yw rhif ASCII 64. Cyn ddelio gyda'r llinyn yn gyfan, gadewch i esgus rydym yn unig rhaid i ni symud un cymeriad. Wel, dim ond eisiau symud gwirioneddol llythrennau yn y testun plaen, nid cymeriadau neu rifau. Felly, y peth cyntaf y byddwn am ei gwirio yw a yw'r cymeriad yn yr wyddor. Mae'r isalpha swyddogaeth gwneud hyn ar gyfer ni ac yn dychwelyd Boolean - yn wir os yw'r cymeriadau yn llythyr, ffug os fel arall. Ddwy swyddogaeth defnyddiol eraill isupper a islower, gyda enwau hunan-esboniadol. Maent yn dychwelyd wir os gymeriad a roddir yn priflythyren neu llythrennau bach, yn y drefn honno. Gan eu bod yn booleans, maen nhw'n ddefnyddiol i'w defnyddio fel amodau. Os isalpha yn dychwelyd yn wir, bydd angen i chi i symud y cymeriad gan yr allwedd. Felly, gadewch i ni agored i ASCIIMath ac yn gwneud ychydig o cwestiwn ASCII. Mae'r defnydd yn debyg iawn i'r defnydd ar gyfer Cesar ac yn cymryd mewn cywair yn y llinell orchymyn. Os byddaf yn rhedeg ASCIIMath 5, mae'n ymddangos i ychwanegu 5 i, gan roi llythyr f fi, a arddangos y gwerth ASCII. Felly, gadewch i ni edrych ar y rhaglen. Efallai y byddwch yn meddwl tybed, dde yma, pam llythyr yn gyfanrif, pan mae'n yn glir, yn dda, a llythyr. Mae'n ymddangos bod cymeriadau a cyfanrifau yn ymgyfnewidiol. Drwy roi'r llythyren A yn un dyfynodau, gall y cyfanrif storio gwerth ASCII o gyfalaf A. Byddwch yn ofalus, er. Mae angen y dillad unigol chi. Heb y dyfynodau sengl, yr Byddai compiler chwilio am newidyn enwir A, ac nid y cymeriad. Yna mi ychwanegu lythyr ac allwedd, storio'r swm y newidynnau canlyniad int. Er bod canlyniad yw o'r math ddata cyfanrif, fy natganiad printf yn defnyddio'r % C cadw'r gymeriadau. Felly, mae'r rhaglen printiau cymeriad sy'n gysylltiedig â'r canlyniad cyfanrif. Ac ers i ni argraffu'r cyfanrif ffurf dda gan ddefnyddio% d, rydym yn gweld nifer hefyd. Felly, nawr gallwch weld ein bod drin cymeriadau a cyfanrifau, ac i'r gwrthwyneb. Gadewch i brawf allan ASCIIMath ychydig gwaith yn fwy gan ddefnyddio 25 fel allwedd. Rydym yn cael y llythyr z. Nawr rydym yn ceisio 26. Rydym yn awyddus i gael y llythyr, ond yn lle hynny rydym yn cael braced chwith. Felly, yn amlwg, dim ond ychwanegu y Ni fydd allweddol y llythyr yn ei wneud. Mae angen i chyfrif i maes fformiwla i lapio o amgylch y wyddor, fel ein enghraifft, yn y dechrau ei wneud. Mae fformiwla ar gyfer y Cesar newid fel a ganlyn. c yn hafal i p ynghyd k modwlo 26. Cofiwch fod modwlo yn ddefnyddiol llawdriniaeth sy'n rhoi'r gweddill i ni o rannu un rhif gan y llall. Gadewch i ni wneud cais fformiwla hon i'r blaen Llythyr testun gyda allweddol o 2. Mae gwerth ASCII o y yn 89, a yn rhoi i ni 91 modwlo 26, sy'n hafal i 13 - yn bendant nid y gwerth ASCII o, sef 67. Hiwmor mi yn awr ac yn symud i ffwrdd oddi wrth y Gwerthoedd ASCII i mynegai yn nhrefn yr wyddor lle mae A yn sero a Z yw 25, sy'n golygu bod Y yn 24. 24 a 2, modwlo 6, yn rhoi i ni 26, modwlo 26, 0, sef y mynegai yn nhrefn yr wyddor a. Felly, y fformiwla hon yn ymddangos i wneud cais i'r Mynegai yn nhrefn yr wyddor o'r llythyr a nid yw ei werth ASCII. Ond byddwch yn dechrau gyda gwerthoedd ASCII. Ac i argraffu'r cymeriad ciphertext, bydd angen i chi ei werth ASCII hefyd. Mae i fyny i chi, yna, er mwyn chyfrif i maes sut i newid yn ôl ac ymlaen. Ar ôl i chi chyfrif i maes y fformiwla gywir ar gyfer un cymeriad, mae angen i bob i chi ei wneud yn cymhwyso'r un fformiwla i bob llythyr yn y testun plaen - dim ond os y llythyr hwnnw yn nhrefn yr wyddor, wrth gwrs. A chofiwch fod angen i chi gadw yn wir, uwch neu'n is, dyna lle y isUpper a swyddogaethau isLower a grybwyllwyd yn gynharach yn dod i mewn 'n hylaw. Efallai y bydd gennych ddwy fformiwla - un ar gyfer llythyrau priflythyren ac un ar gyfer llythrennau bach. Felly isUpper bydd isLower eich helpu pennu pa fformiwla i wneud cais. Sut mae gwneud cais eich fformiwla i bob gymeriad sengl mewn llinyn? Wel, mae llinyn yn unig yw amrywiaeth o gymeriadau. Felly, gallwch gael gafael ar bob cymeriad yn ôl grwpio dros bob cymeriad yn y llinyn mewn i ddolen. Fel ar gyfer y cyflwr eich am ddolen, y swyddogaeth strlen, er llinyn hyd, yn dod mewn 'n hylaw. Mae'n cymryd mewn llinyn fel mewnbwn a dychwelyd hyd y llinyn. Gwnewch yn siwr i gynnwys y llyfrgell cywir i ddefnyddio'r swyddogaeth hyd llinyn. Ac yno i chi gael eich ciphertext. Fy enw i yw y Zamyla. Ac [COD SIARAD].