Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.

Xem kết quả thăm dò: Các clip hướng dẫn có hữu ích không?

  • Hữu ích, dễ hiểu.

    26 92.86%
  • Nội dung đơn giản, nhàm chán.

    2 7.14%
  • Clips hướng dẫn có nhiều lỗi sai, cần sửa gấp.

    0 0%
  • Ý kiến khác, vui lòng cho ý kiến khác bên dưới.

    0 0%
Bạn không thể bỏ phiếu ở thăm dò này
Số người bỏ phiếu 28.
Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 13 kết quả

Đề tài: Hướng dẫn học C++ qua clip (Tiếng Việt)

  1. #1
    Ngày gia nhập
    07 2007
    Nơi ở
    TP HCM
    Bài viết
    66

    Angry Hướng dẫn học C++ qua clip (Tiếng Việt)

    Mình đăng ký nick ở diễn đàn cũng lâu rồi, nhưng không tham gia hoạt động nhiều. Nay mình cũng có ít thời gian rảnh rỗi cuối tuần. Mình muốn đóng góp xây dựng diễn đàn bằng cách làm 1 số clip hướng dẫn lập trình C++ cho các bạn chưa có kỹ năng lập trình hoặc đang học lập trình C++. Vì nội dung hướng đến người chưa có căn bản lập trình C++ nên mình chỉ nói những khái niệm cơ bản, dễ hiểu, dễ nắm. Mình không đề cập những vấn đề quá phức tạp.

    Đây là link playlist của mình trên Youtube.

    Các bạn xem qua nếu có gì sai hoặc cần bổ xung thì góp ý giúp mình nhé.

    C++ Bài 1 - Giới thiệu C++ và Visual Studio
    Link
    C++ Bài 2 - Hello World
    Link
    C++ Bài 3 - Hello world (phần 2)
    Link
    C++ Bài 4 - Biến và kiểu dữ liệu
    Link
    C++ Bài 5 - CIN (phần 1)
    Link
    C++ Bài 6 - CIN (phần 2)
    Link
    C++ Bài 7 - Khai báo biến, Phép Gán
    Link
    C++ Bài 8 - Tầm vực của biến
    Link
    C++ Bài 9 - Câu lệnh If
    Link
    C++ Bài 10 - Hàm cơ bản kiểu void
    Link
    C++ Bài 11 - Hàm có tham số, tham số mặc định
    Link
    C++ Bài 12 - Hàm có nhiều tham số
    Link
    C++ Bài 13 - Class hay lớp
    Link
    C++ Bài 14 - Cách sử dụng biến trong class/lớp (Phần 1)
    Link
    C++ Bài 15 - Cách sử dụng biến trong class/lớp (Phần 2)
    Link
    C++ Bài 16 - Hàm dựng hay Constructor
    Link
    C++ Bài 17 - Hàm dựng có tham số
    Link
    C++ Bài 18 - Tạo class trong Visual studio
    Link
    C++ Bài 19 - Con trỏ
    Link
    C++ Bài 20 - Con trỏ (Phần 2)
    Link
    C++ Bài 21 - Con trỏ (Phần 3)
    Link
    C++ Bài 22 - Vòng lặp for
    Link
    C++ Bài 23 - Mảng 1 chiều (Phần 1)
    Link
    C++ Bài 24 - Mảng 1 chiều ( Phần 2)
    Link
    C++ Bài 25 - Mảng và con trỏ ( Phần 1)
    Link
    C++ Bài 26 - Mảng và con trỏ (Phần 2)
    Link
    C++ Bài 27 - Mảng và con trỏ (Phần 3)
    link
    C++ Bài 28 - Truyền mảng một chiều vào hàm
    link
    C++ Bài 29 - Mảng 2 chiều
    link
    C++ Bài 30 - In mảng 2 chiều ra màn hình
    link
    C++ Bài 31 - Truyền mảng 2 chiều vào hàm
    link
    C++ Bài 32 - Số ngẫu nhiên
    link
    C++ Bài 33 - Tìm số lớn nhất trong mảng ngẫu nhiên
    link
    C++ Bài 34 - Switch case ( Phần 1 )
    link
    C++ Bài 35 - Switch case ( Phần 2)
    link
    C++ Bài 36 - Hàm main (again ... )
    link
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.
    Đã được chỉnh sửa lần cuối bởi trandatnh : 12-11-2013 lúc 06:11 AM.

  2. #2
    Ngày gia nhập
    09 2012
    Bài viết
    3

    cảm ơn những bài hướng dẫn này của a, e mới chuyển qua dùng visual, đúng là cái em đang cần

  3. #3
    Ngày gia nhập
    07 2007
    Nơi ở
    TP HCM
    Bài viết
    66

    Trích dẫn Nguyên bản được gửi bởi hungnt03 Xem bài viết
    cảm ơn những bài hướng dẫn này của a, e mới chuyển qua dùng visual, đúng là cái em đang cần
    Thanks, hi vọng clips giúp được bạn. Mình mới update thêm 1 số clip. Có vấn đề gì mình giải thích chưa rõ hoặc cần giải thích thêm thì bạn post ở đây nhé.

    Ngoài ra không biết có bạn nào muốn học C, nếu có thì mình sẽ làm thêm 1 vài clip chỉ tập trung về C.

  4. #4
    Ngày gia nhập
    08 2013
    Bài viết
    1

    Trích dẫn Nguyên bản được gửi bởi trandatnh Xem bài viết
    Thanks, hi vọng clips giúp được bạn. Mình mới update thêm 1 số clip. Có vấn đề gì mình giải thích chưa rõ hoặc cần giải thích thêm thì bạn post ở đây nhé.

    Ngoài ra không biết có bạn nào muốn học C, nếu có thì mình sẽ làm thêm 1 vài clip chỉ tập trung về C.
    Mình mới học C và mình rất thích clip của bạn ! bạn giúp mình tiếp cận với visual studio nhanh hơn!
    À mình cũng mong muốn bạn có thể làm clip chỉ nói về C thôi, vì mình( cũng như một số người nữa ^^) muốn học từ cái căn bản trước đã!
    Dù thế nào thì clip bạn làm rất ấn tượng và dễ hiểu , thanks!

  5. #5
    Ngày gia nhập
    07 2011
    Bài viết
    474

    Đáng lẽ phải dạy int main() thì đúng hơn. system call cũng nên hạn chế, 1 là vì nó chậm, 2 là nó phụ thuộc vào hệ điều hành.

    thay cho system("pause"); thì nên ghi là:
    cin.ignore(numeric_limits<streamsize>::max(), '\n'); //#include <limits>
    cout << "Press ENTER to continue . . . ";
    cin.get();

    hoặc đơn giản hơn nếu chương trình không đụng đến cin thì chỉ cần
    cin.get();

    thay cho void main() thì ghi là int main(). Tiêu chuẩn mới thì int main không cần return 0; cũng được. Không có lý do gì để xài void main() cả.

  6. #6
    Ngày gia nhập
    01 2013
    Bài viết
    1,479

    Mặc định Hướng dẫn học C++ qua clip (Tiếng Việt)

    Trích dẫn Nguyên bản được gửi bởi INTP Xem bài viết
    Đáng lẽ phải dạy int main() thì đúng hơn. system call cũng nên hạn chế, 1 là vì nó chậm, 2 là nó phụ thuộc vào hệ điều hành.

    thay cho system("pause"); thì nên ghi là:
    cin.ignore(numeric_limits<streamsize>::max(), '\n'); //#include <limits>
    cout << "Press ENTER to continue . . . ";
    cin.get();

    hoặc đơn giản hơn nếu chương trình không đụng đến cin thì chỉ cần
    cin.get();

    thay cho void main() thì ghi là int main(). Tiêu chuẩn mới thì int main không cần return 0; cũng được. Không có lý do gì để xài void main() cả.
    Nếu theo C thuần thì getche() 2 lần, vì getch() là của riêng VS.
    Còn theo C++ thuần thì cin.get() cũng đủ, lệnh kia dài lắm.

  7. #7
    Ngày gia nhập
    07 2011
    Bài viết
    474

    dài nhưng mà chắc ăn. Ví dụ như chương trình nhập vào số n và xuất ra số n đó:
    C++ Code:
    1. #include <iostream>
    2. int main()
    3. {
    4.   int n;
    5.   std::cout << "Nhap so n: ";
    6.   std::cin >> n;
    7.   std::cout << "n = " << n << "\n";
    8.   std::cin.get();
    9. }

    nếu người dùng nhập vào "123456" rồi enter thì std::cin.get() 2 lần sẽ làm dừng chương trình được. Vì sao 2 lần?
    nếu người dùng nhập vào "123 456" (1 dấu cách ở giữa) rồi enter thì std::cin.get() 2 lần sẽ không làm dừng chương trình được. Phải gọi thêm std::cin.get() 6 lần mới được. Vì sao 6 lần?
    nếu người dùng nhập vào "a" thì có cin.get() 19999 lần cũng ko dừng được. Vì sao?


    --- behavior của từng hàm operator>> thì đầu tiên sẽ đọc và bỏ qua kí tự khoảng trắng cho hết, rồi đọc kí tự hợp lệ cho vào biến cho tới khi nào gặp kí tự không hợp lệ và không trích bỏ kí tự này, tức là vẫn để lại kí tự này trong bộ đệm. Nếu đọc phải kí tự không hợp lệ thì cin sẽ bị set flag là fail.
    - Với trường hợp enter "123456" thì thật ra trong bộ đệm chứa 7 ký tự thay vì 6. Ký tự cuối cùng là kí tự newline ('\n'). cin >> n sẽ đọc hết 6 kí tự số hợp lệ vào n, và chừa lại kí tự '\n' trong bộ đệm. Khi gọi cin.get() lần thứ nhất kí tự '\n' này sẽ bị bóc ra khỏi bộ đệm, nên chương trình không đòi hỏi người dùng nhập vào thứ gì. Phải gọi cin.get() lần 2 thì bộ đệm lúc này ko còn kí tự nào nên chương trình sẽ đòi người dùng nhập vào kí tự nào đó.
    - Với trường hợp enter "123 456" thì tương tự bộ đệm chứa 8 kí tự kể cả '\n'. cin>>n chỉ trích 3 kí tự 123 vào và dừng ở khoảng trắng đầu tiên là kí tự thứ 4. Như vậy bộ đệm còn chứa 5 kí tự, và phải cin.get() 6 lần mới "dừng" chương trình lại được.
    - trường hợp "a" thì cin nhập vào n ko được vì gặp kí tự không hợp lệ a, cin sẽ bị flag fail. Phải cin.clear(); rồi cin.get() 3 lần (1 cho 'a', 1 cho '\n' và 1 để dừng) mới "dừng" được.

    1 code khác:
    C++ Code:
    1. #include <iostream>
    2. int main()
    3. {
    4.   char s[20];
    5.   std::cout << "Nhap chuoi s: ";
    6.   std::cin.getline(s,20);
    7.   std::cout << "s = " << s << "\n";
    8.   std::cin.get();
    9. }

    nếu người dùng nhập vào "123456789 123456789" rồi enter thì std::cin.get() 1 lần sẽ làm dừng chương trình được. Vì sao 1 lần?
    nếu người dùng nhập vào "123456789 123456789 " rồi enter thì std::cin.get() 1000 lần cũng không làm dừng chương trình được. Vì sao?


    --- behavior của từng hàm istream::getline(char* s, int n) thì ẽ đọc và kí tự trong bộ đệm và cho vào mảng kí tự s cho tới khi gặp kí tự newline '\n', hoặc đã đọc được n kí tự vào s. Nếu gặp '\n' trước, kí tự '\n' sẽ được trích khỏi bộ đệm, và kí tự null '\0' sẽ được thêm vào s. Nếu đã đọc n-1 kí tự vào s và kí tự thứ n khác '\n', thì kí tự thứ n được viết vào s sẽ là '\0', còn kí tự thứ n trong bộ đệm đó vẫn nằm lại bộ đệm, ko được trích ra. Ngoài ra cin còn bị set flag thành fail. Không
    - trường hợp "123456789 123456789": đọc được 19 kí tự vào s. Kí tự thứ 20 là '\n', như vậy '\n' sẽ bị trích ra khỏi bộ đệm. Sau đó chỉ cần 1 lần gọi cin.get() là dừng được chương trình.
    - trường hợp "123456789 123456789 ": đọc được 19 kí tự vào s. Kí tự thứ 20 là' ', như vậy ' ' sẽ ko bị trích khỏi bộ đệm, và bộ đệm còn 2 kí tự là ' ' và '\n'. Cần 3 lần gọi cin.get() mới dừng được chương trình.


    Cách tốt nhất để bảo đảm bộ đệm luôn luôn trống trước khi gọi cin.get() để dừng chương trình là bỏ qua tất cả các kí tự cho tới khi gặp '\n' và bỏ qua cả nó xài cin.ignore(); để thực hiện điều này. Nhưng trước khi ignore thì phải đảm bảo cin ko bị fail => clear trước. Cái này ta cũng thiếu :">
    numeric_limits<streamsize>::max() là lấy max kí tự mà bộ đệm có thể chứa được. ignore(100,'\n') cũng được nhưng nếu bộ đệm còn dư 101 kí tự thì cin.get() cũng bị bỏ qua. 1000 thì lỡ 1001, v.v.. nên numeric_limits<streamsize>::max() là chắc ăn nhất.


    Vậy thì chính xác phải là:
    std::cin.clear();
    std::cin.ignore(std::numeric_limits<std::streamsiz e>::max(), '\n');
    std::cout << "Press ENTER to continue . . . ";
    std::cin.get();

  8. #8
    Ngày gia nhập
    04 2013
    Nơi ở
    sống và làm việc tại computer
    Bài viết
    15

    Trích dẫn Nguyên bản được gửi bởi trandatnh Xem bài viết
    Thanks, hi vọng clips giúp được bạn. Mình mới update thêm 1 số clip. Có vấn đề gì mình giải thích chưa rõ hoặc cần giải thích thêm thì bạn post ở đây nhé.

    Ngoài ra không biết có bạn nào muốn học C, nếu có thì mình sẽ làm thêm 1 vài clip chỉ tập trung về C.
    Thêm vài clip về con trỏ của C và cách tham chiếu đi bạn.)

    thanks

  9. #9
    Ngày gia nhập
    07 2013
    Bài viết
    1

    Mình thấy anh này dạy rất dễ hiểu với các ví dụ
    +1 cho anh

  10. #10
    Ngày gia nhập
    07 2007
    Nơi ở
    TP HCM
    Bài viết
    66

    Cảm ơn các bạn đã góp ý, mình đã làm thêm một số clip mới, đặc biệt trong đó mình có làm lại clip 36 để nói về hàm main. Từ sau clip 36 mình sẽ dùng int main theo ý kiến của bạn INTP
    C Code:
    1. int main()
    2. { return 0; }
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

Các đề tài tương tự

  1. Clip hài - Không dành cho người yếu tim
    Gửi bởi mico123 trong diễn đàn Giải trí - Thư giãn
    Trả lời: 1
    Bài viết cuối: 17-09-2013, 01:48 PM
  2. Lồng tiếng clip phóng sự video giới thiệu quảng cáo giá rẻ
    Gửi bởi quocquang356 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 22-12-2012, 11:08 PM
  3. Hoàng Yến, Ngọc Trinh lên tiếng về clip!
    Gửi bởi vietlongs2012 trong diễn đàn Giải trí - Thư giãn
    Trả lời: 0
    Bài viết cuối: 17-02-2012, 08:57 PM
  4. Clip hài hay và hài hước
    Gửi bởi oanhnn trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 24-02-2011, 10:07 AM

Tags của đề tài này

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn