>> ROB Bowden: Xin chào, tôi Rob.
Và khi ở Rome, cho chương trình như người La Mã làm.
Vì vậy, điều đầu tiên chúng ta cần làm là kiểm tra để đảm bảo người sử dụng thực sự bước vào
số lượng mà chúng tôi muốn xoay mỗi nhân vật do tại dòng lệnh.
>> Vì vậy, chúng tôi kiểm tra.
Là argc bằng 2?
Nếu nó không phải, có nghĩa là người sử dụng một trong hai không nhập số vào
dòng lệnh hoặc họ nhập quá nhiều điều tại dòng lệnh, trong đó
trường hợp chúng tôi không biết phải làm gì với phần còn lại của sự vật.
Vì vậy, miễn là argc là hai, chúng ta có thể tiếp tục với phần còn lại của chương trình.
>> Bây giờ, hãy nhớ rằng argv 1 luôn luôn là một chuỗi.
Nhưng chúng tôi muốn coi nó như là một số nguyên.
Vì vậy, chúng tôi sử dụng các chức năng atoi đó là nêu trên p bộ spec để chuyển đổi
chuỗi argv 1 tới một số nguyên, và chúng tôi lưu trữ trong chính.
Chúng tôi muốn đảm bảo rằng các số nguyên đã được nhập vào không phải là tiêu cực.
Và nếu nó được, chúng tôi muốn in đó để người dùng rằng họ không được phép
để làm điều đó, và quay trở lại.
>> Vì vậy, bây giờ chúng tôi có một hợp lệ số từ người dùng.
Nhưng chúng ta cần phải có được một chuỗi từ người sử dụng mà chúng ta muốn mã hóa.
Vì vậy, chúng tôi sử dụng để làm, trong khi vòng lặp và sử dụng được chuỗi để có được chuỗi này từ
người sử dụng, và tiếp tục nhận được chuỗi cho đến khi họ thực sự
nhập vào một chuỗi hợp lệ.
>> Một khi chúng ta có chuỗi đó, chúng tôi có thể tiếp tục mã hóa nó.
Vì vậy, vòng lặp này được làm mà mã hóa.
Chú ý rằng chúng ta đang lặp từ i bằng 0 t tất cả các con đường lên đến tôi bình đẳng
n, trong đó n được định nghĩa là chiều dài của tin của chúng tôi, nơi thông báo là
chuỗi mà người dùng nhập vào.
>> Vì vậy, chúng ta đang lặp lại trên tất cả ký tự trong chuỗi.
Và nếu một nhân vật được chữ hoa, sau đó chúng ta sẽ thay đổi nó bằng cách sử dụng này
công thức, mà chúng ta sẽ được để trong một giây.
Và nếu nó thành chữ thường, sau đó chúng tôi sẽ thay đổi nó bằng cách sử dụng này là
công thức rất giống nhau.
Và nếu đó là không một chữ hoa hay thư chữ thường - ví dụ, nó
có thể là một số hoặc một biểu tượng - sau đó chúng tôi sẽ không làm bất cứ điều gì với nó.
>> Vì vậy, các công thức là gì?
Vâng, làm thế nào để chúng ta thay đổi các ký tự A?
Chúng tôi muốn đối xử với nhân vật Một là số 0.
Và chúng tôi muốn để điều trị các nhân vật B là số 1, và như vậy.
Đó là nhân vật thứ không và lần đầu tiên của bảng chữ cái và như vậy.
>> Vì vậy, ở đây, tôi tin trừ Một là vụ để cho chúng ta nơi số của
thư trong bảng chữ cái.
Vì vậy, nếu tin tôi là A, này sẽ cung cấp cho chúng tôi 0.
Bây giờ, chúng tôi muốn thêm vào đó số mà người sử dụng muốn
xoay thư bằng.
Vì vậy, nếu họ bước vào 3, sau đó nếu tin nhắn tôi là A, điều này sẽ cho chúng ta và cộng 0
chính sẽ cho chúng ta 3.
>> Vì vậy, bây giờ, chúng tôi đang xem xét việc vị trí thứ ba trong bảng chữ cái.
Chúng ta sẽ thấy lý do tại sao chúng ta cần phải mod bằng chữ num trong một giây.
Nhưng cuối cùng, chúng tôi muốn thêm vào các kết thúc một lần nữa để thay đổi chúng ta trở lại
Giá trị ASCII cho các ký tự thay vì những nơi số trong
bảng chữ cái của các nhân vật.
>> Vì vậy, tại sao chúng ta mod bởi chữ num?
Hãy nhớ rằng chúng tôi muốn để bọc xung quanh từ cuối của bảng chữ cái đến
bắt đầu của bảng chữ cái.
Vì vậy, nếu người dùng đã nhập vào Z, sau đó trừ đi một từ có nghĩa là sẽ
cung cấp cho chúng tôi 25.
Và nếu phím là 3, sau đó chúng ta sẽ có 28.
Nhưng Z nên bọc xung quanh để ABC, vì vậy 28 chữ num mod, được băm xác định
như 26 để được mong đợi, sẽ cung cấp cho chúng tôi 2, trong đó C là lá thư thứ hai của
bảng chữ cái, nếu bạn nhớ rằng A là các thư thứ không của bảng chữ cái.
>> Vì vậy, đó là lý do tại sao chúng ta cần phải mod bằng chữ num.
Bây giờ, chúng ta cần phải làm một điều chính xác cho chữ thường, ngoại trừ
hãy nhớ rằng khi chúng tôi đang làm việc với chữ thường, họ có khác nhau
Giá trị ASCII.
Và vì vậy chúng tôi cần phải trừ đi và thêm vào một để thay đổi nó xuống từ chữ thường
Giá trị ASCII và sau đó trở lại ban đầu giá trị ASCII chữ thường.
>> Và cuối cùng, mà sẽ cung cấp cho chúng tôi tin nhắn được mã hóa của chúng tôi.
Và cuối cùng, chúng tôi chỉ in ra thông điệp, và đó là nó.
Tên tôi là Rob, và là Caesar.