>> DAVID J. Malan: Giả sử tôi muốn để thực hiện một chương trình nhắc nhở
người sử dụng cho một chuỗi và sau đó tiến hành để tận dụng đầu vào của họ,
chuyển đổi bất kỳ chữ thường rằng họ gõ chữ hoa.
Vâng, chúng ta hãy đi trước và thực hiện chương trình đó.
>> Hãy đầu tiên bao gồm theo cs50.h bởi bao gồm stdio.h.
Và để chúng ta có thể sử dụng strlen, chúng ta hãy bao gồm string.h.
>> Chúng ta hãy tiếp theo tuyên bố chính như int void main và bây giờ chúng ta tiến hành để nhắc nhở
người sử dụng cho một chuỗi.
Printf, chúng ta hãy nhắc nhở họ đối với một số đầu vào.
Bây giờ hãy khai báo một chuỗi -
chúng tôi sẽ gọi nó s -
và lưu trữ trong đó kết quả của gọi chức năng thư viện CS50 GetString.
>> Bây giờ chúng ta tiến hành để lặp qua mỗi của các nhân vật trong s, tận
bất kỳ chữ thường mà chúng ta thấy.
Cho int, tôi nhận được 0.
Chúng ta hãy cũng tuyên bố n như tương đương với chiều dài chuỗi s để chúng tôi có thể
lặp từ i cho đến n, chiều dài, và trên mỗi
lặp đi lặp lại tăng tôi.
>> Và sau đó bên trong vòng lặp này, chúng ta hãy kiểm tra đầu tiên là thư hiện tại -
các thư thứ i, do đó, để nói chuyện -
chữ viết thường.
Nếu s khung tôi là lớn hơn hoặc bằng thành chữ thường một, và nó ít
hơn hoặc bằng chữ thường z -
Bây giờ nếu chúng tôi muốn chuyển đổi một chữ thường thư chữ hoa, nhớ lại đầu tiên
trong ASCII một chữ thường một là 97 và một chữ hoa A là 65.
Trong khi đó, một chữ thường b là 98, và một chữ hoa B là 66.
>> Nếu chúng ta tiếp tục xem xét mô hình đó, chúng ta sẽ thấy các chữ thường
chữ luôn 32 giá trị cao hơn hơn các chữ cái viết hoa.
Vì vậy, nếu chúng tôi muốn chuyển đổi từ chữ thường chữ hoa, cần
đủ, thực sự, trừ 32 từ đầu vào của người dùng.
Hay rộng hơn, chỉ trừ có sự khác biệt giữa một một chữ thường và một
vốn A.
>> Làm thế nào để thể hiện điều đó không?
Vâng, chúng ta làm điều đó trong mã.
Printf, báo giá, unquote "% c" để in các nhân vật hiện tại, tiếp theo
in ấn bất cứ điều gì trong khung s i trừ kết quả làm chữ thường một
trừ chữ hoa Một dấu chấm phẩy.
Nói cách khác, trong dấu ngoặc đơn này biểu hiện, ít dấu trừ lớn A, là
sẽ trở lại với chúng tôi tại kết thúc ngày 32.
Nhưng tôi không phải nhớ rằng đó là 32.
Tôi có thể cho phép các máy tính để tìm ra những gì khác biệt giữa chữ thường
a và vốn A là.
>> Trong khi đó, một khi tôi biết sự khác biệt đó, Tôi có thể trừ nó từ s
khung i, trong đó sẽ đưa những gì có lẽ một chữ thường để một
giá trị thấp hơn, cụ thể là một giá trị mà các bản đồ vào một tương đương chữ hoa.
Bây giờ chúng ta tiết kiệm, biên dịch, và chạy chương trình này.
Hãy tận dấu chấm dấu gạch chéo hoa.
Và đầu vào của tôi sẽ được chào.
Và chúng tôi đã có, xin chào.
>> Tại dấu nhắc của tôi, phải thừa nhận, là một chút xấu xí, bởi vì chúng tôi đã
bỏ qua một chút về in ấn.
Và chúng ta hãy quay trở lại và thêm rằng.
Ở dưới cùng của chương trình này, Tôi rất đơn giản, và chủ yếu là cho
mục đích thẩm mỹ, sẽ thêm printf, báo giá, dấu gạch chéo ngược unquote n.
Hãy lưu lại tập tin này, biên dịch lại, chạy lại.
>> Hãy tận, dấu chấm dấu gạch chéo tận.
Một lần nữa, cho đầu vào tôi sẽ cung cấp "hello" trong tất cả các trường hợp thấp hơn và bây giờ nhấn Enter,
và "xin chào", nhiều sạch hơn in.