რობ Bowden: Hi, მე Rob. და როდესაც რომში, მოდით პროგრამა როგორც რომაელები გააკეთოს. ასე რომ, პირველი, რაც უნდა გავაკეთოთ, არის გამშვები დარწმუნდით შესახებ რეალურად შევიდა ნომერი, რომელიც ჩვენ გვინდა, რომ როტაცია ყოველ ხასიათი ბრძანებათა ზოლს. ასე რომ, ჩვენ შეამოწმოს. არის argc უდრის 2? თუ ეს არ არის, ეს ნიშნავს, რომ მომხმარებელს ან არ შესულხართ ნომერი ბრძანების ან ისინი შევიდნენ ძალიან ბევრი რამ ბრძანებათა ზოლს, რომელშიც თუ ჩვენ არ ვიცით, რა უნდა გავაკეთოთ, დანარჩენ რამ. ასე რომ, რადგან argc იყო ორი, ჩვენ შეგვიძლია გავაგრძელოთ დანარჩენი პროგრამა. ახლა, გვახსოვდეს, რომ argv 1 ყოველთვის სიმებიანი. მაგრამ ჩვენ გვინდა, რომ მკურნალობა, როგორც რიცხვი. ასე რომ, ჩვენ ვიყენებთ atoi ფუნქცია, რომ აღნიშნული p კომპლექტი სპეც გარდაქმნას სიმებიანი argv 1 რიცხვი, და ჩვენ ვინახავთ, რომ გასაღები. ჩვენ გვინდა დავრწმუნდეთ, რომ მთელი რომ შევიდა არ არის ნეგატიური. და თუ ეს იყო, ჩვენ გვინდა ბეჭდვა, რომ მომხმარებელს, რომ ისინი არ აძლევენ ამის გაკეთება, და დაბრუნდება. ასე რომ, ახლა ჩვენ სწორი ნომრის შესახებ. მაგრამ ჩვენ უნდა მიიღოს სიმებიანი საწყისი შესახებ, რომ ჩვენ გვინდა დაშიფვრა. ასე რომ, ჩვენ გამოყენებული უნდა გააკეთოს ხოლო loop და გამოიყენოთ მიიღოს string მიიღოს ამ string საწყისი შესახებ, და გააგრძელებს მიღების string სანამ ისინი რეალურად შეიყვანოთ სწორი string. მას შემდეგ, რაც ჩვენ გვაქვს, რომ სიმებიანი, ჩვენ შეიძლება ადამიანმა დაშიფვრა იგი. ასე რომ, ამ for loop აკეთებს რომ კოდირებით. გაითვალისწინეთ, რომ ჩვენ iterating ეხლა i უდრის 0 t ყველა გზა მდე i შეადგენს n, სადაც n განისაზღვრება, როგორც სიგრძეზე ჩვენი გზავნილი, სადაც გაგზავნა არის string რომ მომხმარებელს შევიდა. ასე რომ ჩვენ iterating ყველა სიმბოლოების string. და თუ ხასიათი ზედა, მაშინ ჩვენ ვაპირებთ გადაეტანა ის გამოყენებით ამ ფორმულა, რომელიც ჩვენ მისაღებად მეორე. და თუ იგი ამას, მაშინ ჩვენ გადაიტანოს ის გამოყენებით ეს არის ძალიან ჰგავს ფორმულა. და თუ ეს იყო, არც ზედა და არც ამას წერილი - მაგალითად, შეიძლება ნომერი ან სიმბოლო - მაშინ ჩვენ არ ვაპირებთ არაფრის გაკეთება. ასე რომ, რა არის ეს ფორმულები? ისე, როგორ უნდა გადაიტანოს ხასიათი? ჩვენ გვინდა, რომ მკურნალობა ხასიათი როგორც რაოდენობის 0. და გვინდა, რომ მკურნალობა ხასიათი B, როგორც ნომერ 1, და ა.შ.. ის zeroth და პირველი სიმბოლო ანბანი და ასე შემდეგ. ასე რომ აქ, გაგზავნა i minus უნდა მოგვცეს რიცხვითი ადგილი წერილი ანბანი. ასე რომ, თუ გაგზავნა i არის, ამ აპირებს მოგვცეს 0. ახლა, ჩვენ გვინდა დავამატოთ, რომ ნომერი, რომელიც მომხმარებელს სურს როტაცია წერილი. ასე რომ, თუ ისინი შევიდნენ 3, თუ გაგზავნა მე ვიყავი, ეს მოგვცემს 0 პლუს გასაღები მოგვცემს 3. ახლა, ჩვენ გავითვალისწინებთ მესამე ადგილი ანბანი. ჩვენ დავინახავთ, თუ რატომ გვჭირდება mod by num წერილებს მეორე. მაგრამ საბოლოოდ, ჩვენ გვინდა, რომ დაამატოთ შესახებ, რომ დასრულდება ერთხელ გადაიტანოს us დააბრუნებდა ASCII ღირებულებების ეს გმირები ნაცვლად რიცხობრივი ადგილები დამწერლობა ამ სიმბოლოს. ასე რომ, რატომ mod by num წერილებს? გახსოვდეთ, რომ ჩვენ გვინდა, რომ გადაიტანოთ გარშემო ბოლოდან ანბანი დაწყებული ანბანი. ასე რომ, თუ მომხმარებელს შევიდნენ Z, მაშინ subtracting რომ აპირებს გვაძლევს 25. და თუ გასაღები იყო 3, მაშინ ჩვენ ვაპირებთ აქვს 28. მაგრამ Z უნდა გადაიტანოთ გარშემო ABC, ასე 28 mod num წერილებს, რომელიც hash განსაზღვრული როგორც 26 უნდა მოსალოდნელია, აპირებს us 2, სადაც C არის მეორე წერილი ანბანი, თუ გახსოვთ, რომ არის zeroth წერილი ანბანი. ასე რომ, თუ რატომ გვჭირდება mod by num წერილები. ახლა, ჩვენ უნდა გავაკეთოთ იგივე ზუსტი რამ განთავსების ამას წერილები, გარდა იმისა, მახსოვს, როდესაც ჩვენ საქმე გვაქვს ამას წერილები, მათ აქვთ სხვადასხვა ASCII ღირებულებებს. და ამიტომ ჩვენ უნდა სხვაობა და დაამატოთ გადაიტანოს ეს ქვემოთ ამას ASCII ღირებულებები და შემდეგ უკან, ორიგინალური ამას ASCII ღირებულებებს. და ბოლოს, რომ ყველაფერს მოგვცემს ჩვენი დაშიფრული გაგზავნა. და ბოლოს, ჩვენ უბრალოდ ამობეჭდოთ რომ გაგზავნა, და რომ არის ის. ჩემი სახელი არის რობ, და იყო Caesar.