>> ROB אודן: היי, אני רוב.
וכאשר ברומא, בואו של תכנית כרומאי.
לכן, דבר הראשון שאנחנו צריכים לעשות הוא לבדוק כדי לוודא שהמשתמש נכנס למעשה
המספר שאנחנו רוצים לסובב כל אופי על ידי בשורת הפקודה.
>> לכן, אנחנו בודקים.
האם תכנית + שווה ל 2?
אם זה לא, זה אומר שהמשתמש או לא נכנס למספר ב
שורת הפקודה או שהם נכנסו ליותר מדי דברים בשורת הפקודה, שבו
מקרה אנחנו לא יודעים מה לעשות עם שאר הדברים.
אז, כל עוד תכנית + הייתה שני, אנחנו יכולים תמשיך עם שאר התכנית.
>> עכשיו, זוכר שargv 1 תמיד חוט.
אבל אנחנו רוצים להתייחס אליו כמספר שלם.
לכן, אנו משתמשים בפונקצית atoi זה מפרט סט עמ 'נזכר להמיר
argv מחרוזת 1 למספר שלם, ואנו מאחסנים שבמפתח.
אנחנו רוצים לוודא שהמספר השלם שנכנס הוא לא שלילי.
ואם זה היה, אנחנו רוצים להדפיס, כי כדי המשתמש שהם לא אפשר
כדי לעשות את זה, ולחזור.
>> אז, עכשיו יש לנו בתוקף מספר מהמשתמש.
אבל אנחנו צריכים לקבל מחרוזת מ משתמש שאנחנו רוצים להצפין.
אז אנחנו רגילים לעשות, ואילו לולאה ולהשתמש לקבל מחרוזת כדי לקבל מחרוזת זו מ
למשתמש, ולהמשיך לקבל מחרוזת עד שהם למעשה
הכנס מחרוזת חוקית.
>> ברגע שיש לנו מחרוזת ש, אנחנו יכול ללכת על מנת להצפין אותו.
אז, ללולאה הזו עושה הצפנה זו.
שים לב שאנחנו iterating מאני שווה 0 t כל הדרך עד שאני שווה
n, כאשר n הוא מוגדר כאורכו של המסר שלנו, שבו המסר הוא
מחרוזת שהמשתמש נכנס.
>> אז אנחנו iterating על כל תווים במחרוזת.
ואם דמות אותיות גדולה, ולאחר מכן אנחנו הולכים להעביר אותו באמצעות זה
נוסחה, שבו אנחנו יהיו להגיע בשנייה.
ואם זה היה באותיות קטנות, ולאחר מכן אנו משמרות אותו באמצעות זה הוא
נוסחה דומה מאוד.
ואם זה לא היה באותיות גדולות ולא אות קטנה - למשל, זה
יכול להיות מספר או סמל - אז אנחנו לא הולכים לעשות שום דבר אליו.
>> אז, מה הן נוסחאות הללו?
ובכן, איך אנחנו משמרות את האופי?
אנחנו רוצים לטפל באופי ככל שמספר 0.
ואנחנו רוצים לטפל באופי B כמספר 1, וכן הלאה.
זה תווי האפס וראשון של האלף וכן הלאה.
>> אז הנה, הודעת מינוס אני אמור לתת לנו את המקום המספרי של
מכתב באלף הבית.
אז אם הודעה הוא אני, זה הוא הולך לתת לנו 0.
עכשיו, אנחנו רוצים להוסיף לזה מספר שהמשתמש רוצה
לסובב את המכתב על ידי.
לכן, אם הם נכנסו 3, אז אם הודעה אני היה, זה ייתן לנו 0 ותוספת
מפתח ייתן לנו 3.
>> אז עכשיו, אנחנו שוקלים מקום שלישי באלף הבית.
אנחנו תראו למה אנחנו צריכים mod על ידי אותיות num בשני.
אבל לבסוף, ברצוננו להוסיף על בסופו שוב כדי להעביר אותנו בחזרה אל תוך
ערכי ASCII לתווים אלה במקום מקומות המספריים ב
האלפבית של דמויות אלה.
>> אז, למה אנחנו mod על ידי אותיות num?
זכור כי אנחנו רוצים לעטוף מהסוף להאלפבית
תחילתו של האלפבית.
אז Z אם המשתמש נכנס, ולאחר מכן חיסור מכי הוא הולך
לתת לנו 25.
ואם המפתח היה 3, ולאחר מכן אנחנו הולכים יש לי 28.
אבל Z צריך לעטוף ל-ABC, כך 28 מכתבי num mod, אשר מוגדרים חשיש
כ26 צפויים, הוא הולך לתת לי לנו 2, כאשר C הוא האות השנייה של
האלפבית, אם אתה זוכר שהוא מכתב האפס של האלפבית.
>> אז בגלל זה אנחנו צריכים mod על ידי אותיות num.
עכשיו, אנחנו צריכים לעשות את אותו דבר מדויק לאותיות קטנות, למעט
זכור כי עם כשלנו עסק אותיות קטנות, יש להם שונות
ערכי ASCII.
ולכן אנחנו צריכים להחסיר ולהוסיף על להסיט אותו מהאותיות הקטנות
ערכי ASCII ולאחר מכן חזרה ל ערכי ASCII קטנות מקוריים.
>> ולבסוף, שייתן לנו ההודעה המוצפן שלנו.
ובסופו של הדבר, אנחנו רק להדפיס המסר הזה, וזהו זה.
השם שלי הוא רוב, והיה קיסר.