1 00:00:00,000 --> 00:00:00,720 2 00:00:00,720 --> 00:00:03,190 >> דוד י מלאן: נניח שאני רוצה ליישום תכנית, המנחה את 3 00:00:03,190 --> 00:00:06,650 המשתמש עבור מחרוזת ולאחר מכן ממשיך כדי לנצל את הקלט שלהם, 4 00:00:06,650 --> 00:00:09,790 המרה כל אותיות קטנות שהם מקלידים לאותיות רישיות. 5 00:00:09,790 --> 00:00:11,770 ובכן, בואו נלך קדימה ו ליישם תכנית זו. 6 00:00:11,770 --> 00:00:18,760 >> בואו כוללים ראשון cs50.h אחרי על ידי להכליל את stdio.h. 7 00:00:18,760 --> 00:00:23,990 וכדי שנוכל להשתמש strlen, בואו כוללים string.h. 8 00:00:23,990 --> 00:00:29,860 >> בואו הבא נכריז על void main int כעיקרי ובואו עכשיו להמשיך להנחות את 9 00:00:29,860 --> 00:00:31,600 המשתמש למחרוזת. 10 00:00:31,600 --> 00:00:34,840 Printf, בואו תבקש מהם עבור חלק מהקלט. 11 00:00:34,840 --> 00:00:36,460 עכשיו בואו להכריז על מחרוזת - 12 00:00:36,460 --> 00:00:37,630 אנחנו קוראים לזה - 13 00:00:37,630 --> 00:00:44,010 ולאחסן אותו בתוצאה של קורא GetString פונקצית ספריית cs50. 14 00:00:44,010 --> 00:00:48,850 >> בואו עכשיו להמשיך לחזר על כל הדמויות בים, וניצול 15 00:00:48,850 --> 00:00:50,650 כל אותיות קטנות שאנחנו רואים. 16 00:00:50,650 --> 00:00:53,630 עבור int, אני מקבל 0. 17 00:00:53,630 --> 00:00:58,780 בואו גם להכריז n כמו להיות שווה אורך המחרוזת של ים כך שנוכל 18 00:00:58,780 --> 00:01:03,590 לחזר מi עד n, אורכו של ים, ועל כל אחד 19 00:01:03,590 --> 00:01:05,760 אני תוספת איטרציה. 20 00:01:05,760 --> 00:01:09,970 >> ואז בתוך לולאה זו, בואו הבדיקה הראשונה היא המכתב הנוכחי - 21 00:01:09,970 --> 00:01:12,270 מכתב i-th של ים, אם אפשר לומר כך - 22 00:01:12,270 --> 00:01:14,170 אות קטנה. 23 00:01:14,170 --> 00:01:23,090 אם אני הוא הסוגר של גדול או שווה לאותיות קטנות, וזה פחות 24 00:01:23,090 --> 00:01:26,900 או שווה ל z הקטנה - 25 00:01:26,900 --> 00:01:30,860 עכשיו, אם אנחנו רוצים להמיר אותיות קטנות מכתב לאותיות רישיות, זוכר ראשון ש 26 00:01:30,860 --> 00:01:35,810 בASCII אותיות קטנות הוא 97 ואותיות גדולות הוא 65. 27 00:01:35,810 --> 00:01:41,020 בינתיים, ב אותיות קטנות הוא 98, ואותיות גדולות B הוא 66. 28 00:01:41,020 --> 00:01:44,180 >> אם תמשיך להסתכל על דפוס זה, אנחנו תראו את זה באותיות קטנות 29 00:01:44,180 --> 00:01:49,240 אותיות הן תמיד 32 ערכים גבוהים יותר מהאותיות רישיות. 30 00:01:49,240 --> 00:01:53,490 אז אם אנחנו רוצים להמיר מאותיות קטנות לאותיות רישיות, שהוא צריך 31 00:01:53,490 --> 00:01:57,210 די, באמת, להחסיר 32 מהקלט של המשתמש. 32 00:01:57,210 --> 00:02:01,330 או באופן כללי יותר, רק לחסר כי הבדל בין אותיות קטנות ו 33 00:02:01,330 --> 00:02:02,310 א הון 34 00:02:02,310 --> 00:02:03,410 >> איך לבטא את זה? 35 00:02:03,410 --> 00:02:04,640 ובכן, בואו נעשה את זה בקוד. 36 00:02:04,640 --> 00:02:09,960 Printf, ציטוט, "% c" סוף ציטוט להדפסה את דמותה הנוכחית, ואחריו 37 00:02:09,960 --> 00:02:18,500 הדפסה כל מה שהוא במינוס i סוגר של התוצאה של עשייה באותיות קטנות 38 00:02:18,500 --> 00:02:22,660 מינוס אותיות רישיות פסיק. 39 00:02:22,660 --> 00:02:27,010 במילים אחרות, בסוגריים זה ביטוי, קצת גדול מינוס, הוא 40 00:02:27,010 --> 00:02:29,360 הולך לחזור אלינו ב סופו של היום 32. 41 00:02:29,360 --> 00:02:31,230 אבל אני לא צריך לזכור שזה 32. 42 00:02:31,230 --> 00:02:34,150 אני יכול להרשות למחשב כדי להבין מה ההבדל בין אותיות קטנות 43 00:02:34,150 --> 00:02:35,990 והון הוא. 44 00:02:35,990 --> 00:02:39,610 >> בינתיים, ברגע שאני יודע את ההבדל, אני יכול להחסיר אותו מהים 45 00:02:39,610 --> 00:02:43,710 סוגר i, שייקח את מה ככל הנראה אות קטנה ל 46 00:02:43,710 --> 00:02:48,100 ערך נמוך יותר, כלומר ערך שממפה על שווה ערך אותיות רישיות. 47 00:02:48,100 --> 00:02:51,240 בואו עכשיו להציל, לקמפל, ולהפעיל את התכנית. 48 00:02:51,240 --> 00:02:57,760 הפוך לנצל לוכסן נקודה באותיות גדולות. 49 00:02:57,760 --> 00:03:01,290 והקלט שלי יהיה שלום. 50 00:03:01,290 --> 00:03:02,920 ויש לנו, הלו. 51 00:03:02,920 --> 00:03:05,570 >> עכשיו ההנחיה שלי, יש להודות, היא קצת מכוער, כי יש לנו 52 00:03:05,570 --> 00:03:07,810 הושמט ביט אחד של הדפסה. 53 00:03:07,810 --> 00:03:09,370 ובואו נחזור ולהוסיף את זה. 54 00:03:09,370 --> 00:03:12,890 בתחתיתה של תכנית זו, אני מאוד פשוט, ובעיקר עבור 55 00:03:12,890 --> 00:03:18,440 מטרה אסתטית, הולך להוסיף printf, ציטוט, n לוכסן הפוך סוף ציטוט. 56 00:03:18,440 --> 00:03:22,330 בואו שומרים מחדש את הקובץ הזה, הידור מחדש, שידור חוזר. 57 00:03:22,330 --> 00:03:28,090 >> הפוך לנצל, לוכסן נקודה לנצל. 58 00:03:28,090 --> 00:03:32,540 שוב, עבור קלט אני נספק "שלום" בכל המקרה הנמוך ועכשיו על Enter, 59 00:03:32,540 --> 00:03:34,550 ו" שלום ", שהודפס בהרבה יותר נקי. 60 00:03:34,550 --> 00:03:36,432