Tài liệu lập trình C for newbie - Chương 1: Nền tảng để bắt đầu!

basic
c
programming
document

(Lê Đình Huy) #41

mai chưa thấy chương 2 nhỉ :smiley:

@TBM_2512


(nhatlonggunz) #42

Sao em không thây phần tổng hợp bài giảng bên cate C nữa nhỉ, em đang cần xem mấy video của anh VN Sơn Nguyễn mà trên youtube ảnh để loạn xạ tìm mệt qus


(Thực tế khắc nghiệt) #43

(nhatlonggunz) #44

Anh ơi, sao nó hết được pinned rồi

Mà cho em hỏi em bị lỗi j mà khi chạy chương trình, function void A() không chạy (ý em là chương trình vẫn chạy mà coi như không có mặt thằng A()

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>

void A()
{
    int max = 100, min = 0, lv, mode, sobimat;
    if(mode == 1) {
            // Single Player Mode
            printf("Please choose a level:\n1.100 numbers\n2. 200 numbers\n3.300 numbers\n");
            do {
                scanf("%d", &lv);// Choose the level
                //Maximum values for each level
                if(lv == 1)
                    max = max,  min = min;
                else if(lv == 2)
                    max += 100, min = min; // Max = 200
                else if(lv == 3)
                    max += 200, min = min; // Max = 300
                else //if the *beep* player does not choose 1 of 3 levels above
                    printf("please choose level from 1 to 3");
            } while (lv != 1 && lv != 2 && lv != 3);
            system("cls");
            //Create random number
            srand(time(NULL));
            sobimat = (rand() % (max - min + 1) + min);
            //Multiple player mode
        } else if(mode == 2) {
            printf("Manager please choose a random number (don't let the player know)\n");
            scanf("%d", &sobimat);
        }
}

int main()
{
    int so = 0, sobimat = 0, guesstime = 0, cont = 1, mode, lv;

    // the game's highest and lowest numbers
    while(cont < 2) {
        printf("Please choose a mode to play:\n==1.Single Player==\n==2.Multi Player \n");
        scanf("%d", &mode);
        system("cls");
        // Mode
        A();//Tai sao mai khong chay aaaaaaaaa


        // game play
        do {
            printf("Choose a number: ");
            scanf("%d", &so);
            guesstime++;
            if(so < sobimat)
                printf("Greater\n");
            else if (so > sobimat)
                printf("Lower\n");
            else {
                printf("That's it, you found it after %d time(s) guessing\n\n", guesstime);
            }
        } while(so != sobimat);
        printf("Do you want to play another game?\n");
        printf("1.Yes\n2.No\n");
        scanf("%d", &cont);
        system("cls");
    }
    getch();
    return 0;
}

(Thực tế khắc nghiệt) #45

sao lại ko chạy. hàm void là 1 thủ tục thì gọi là nó chạy bt mà . ý ở đây là chạy cái gì trong đó


(nhatlonggunz) #46

Thay vì để cả đống trong hàm main, em tách 1 phần ra void A nhưng trong hàm main ấy, dưới cái phần// the game's highest and lowest numbers em có khai báo A(); mà khi run thì chương trình bỏ qua luôn, không biết có khai báo sai không


(Thực tế khắc nghiệt) #47

mình chưa đọc code của bạn nhưng có 1 lời khuyên ở đây là hãy chia các tác vụ thật nhỏ có thể để dễ quản lý. mình sẽ dùng main để nhập lv cũng như gọi hàm thực hiện.
nên chia ra hàm để điền chế độ chơi.
thường gọi hàm thì phải tham chiếu void A( thông số)
thì nó mới hiểu


(nhatlonggunz) #48

Mà mỗi lần gọi hàm là phải khai báo lại cùng 1 biến đó hả anh? Khai báo ở 1 hàm khác rồi gọi hàm đó ở hàm main, vậy hàm main có cần khai báo biến đã khai báo ở hàm khác


(Thực tế khắc nghiệt) #49

nói đại khái

void tinhtong(int a,int b)
main
int x,y;
```
ở hàm void trên đó là tham số truyền vào. đặt gì ko quan trọng miễ là cùng kiểu thôi
cái chính là ở hàm main kìa bạn. khi bạn gọi hàm đó thì bạn truyền tham số từ biến ở main vào đối số của hàm gọi. phải cùng kiểu nhé

(MiN) #50

Lâu lâu vào đây confirm với các bạn xíu cho mọi người yên tâm rằng mình ko mang con bỏ chợ. Mình đang phối hợp với những người khác biên soạn tài liệu đó nhưng vì mình và mọi người cũng hơi bận nên tiến độ không được nhanh cho lắm … vì bộ tài liệu này mình cũng tính lâu dài nên như đã nói nhiều lần ở trong topic này rồi … dân cntt chúng mình có cả 1 nguồn tài nguyên bao la để khai thác … vì vậy các bạn chỉ nên tham khảo thôi chứ đừng phụ thuộc quá vào tài liệu nào hết … cứ tham khảo nhiều rồi đúc kết cái hay của từng cái lại … thanks các bạn !


(Thực tế khắc nghiệt) #51

thực sự dù tài liệu nào hay thì nó cũng có hạn chế và điểm chung. nếu 1 người đọc rất nhiều tại liệu rồi thì xem ebook của a Minh chẳng hạn thấy cũng bt. Nhưng với những người cơ bản thì của anh Minh rất là tốt bởi rất tường tận. Kinh nghiệm của em là cứ đọc đi. nhớ được gì thì nhớ ở bất cứ loại nào. vì đọc 1 lần k hiểu thì sau này vô tình đọc lần 2 hoặc khi làm việc sẽ đụng tới mà mơ hồ ta có thể nắm bắt hoặc giải quyết được ko chừng


(Người Cô Đơn) #52

1 bộ tài liệu quá hay cho newbie :smiley: :smiley:


(nhatlonggunz) #53

Hic, bây giờ tài liệu của anh dễ học, dễ hiểu. Sau khi đọc một số tài liệu thì em thấy điểm chung của chúng là dạy nhanh, không giải thích tường tận, khó hiểu. Mà tài liệu gốc tiếng gì vậy anh, nếu là tiếng Anh em có thể giúp


(Thực tế khắc nghiệt) #54

ngoài hiểu về tiếng anh ra còn phải là 1 người có vài năm kinh nghiệm lập trình vs c/c++ đó :smile:


(Programmer Riot) #55

sao lâu quá rồi mà chưa có tập 2 vậy ad :confused:


(Vinh Nguyễn) #56

hóng đợi phần 2 T.T thanks a lot


(MiN) #57

Hi mọi người, thời gian vừa qua là cuối năm nên mình và anh biên dịch cũng bận bịu (nhưng vẫn đang cố gắng tranh thủ làm tài liệu tiếp cho mọi người), mình và anh ấy đang cố gắng hoàn thành nhanh nhất, tốt nhất, hoàn chỉnh nhất chương 2 cho các bạn, vì bộ tài liệu này là kế hoạch dài hạn của mình nên mình sẽ cố theo đến cùng, các bạn yên tâm.

Sắp tới đây mình sẽ cố gắng xuất bản chương 2 sớm nhất có thể và cũng đồng thời upload lại chương 1 với 1 số chỉnh sửa để đảm bảo về mặt nội dung đáp ứng được các tiêu chí như mình đã nêu ra ở đầu topic,

Một số bạn có inbox và email trực tiếp cho mình nhưng mình ít trả lời lại ko phải vì mình chảnh hay gì đâu, một phần vì quá bận, 1 phần là các bạn hỏi xin mình tài liệu thì mình vẫn đang hoàn thành lấy đâu ra mà share cho các bạn, nhưng cứ yên tâm là mình ko mang con bỏ chợ đâu, các bạn cứ vừa học vừa chờ đi sau này lấy cái này truyền lại cho đàn em thế hệ sau cũng được.

P/s: Tài liệu bổ ích thì mình khuyên các bạn nên có tinh thần chia sẻ tới các diễn đàn khác, mình ko quy ép các bạn phải dùng link nào nhưng mình vẫn khuyến cáo share link trực tiếp từ daynhauhoc.com một phần để cảm ơn anh Đạt đã tạo cơ hội cho chúng ta sinh hoạt trao đổi ở đây nhé.

Một lần nữa xin cảm ơn sự ủng hộ của các bạn nhé.


Nên "lao đầu" vào học C hay C++ trước?
(nhatlonggunz) #58

Trân trọng cám ơn anh đã hi sinh cho daynhauhoc.com

Lâu lâu sến 1 câu


(Thành Nguyễn) #59

cho em xin tài liệu tiếng anh gốc của tài liệu này được không ạ ?


(nhatlonggunz) #60

Tài liệu gốc tiếng Pháp nha bạn.


83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?