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

Thái Bá Minh đang dịch tiếp đấy :smile: Mà Thái Bá Minh đang đi làm chắc phải từ từ mới có tiếp được :smile:

5 Likes

Đã like và bookmark :pushpin:
Tks bro :wink:

2 Likes

anh ơi bao h thì có chương 2 vậy :frowning:

2 Likes

thêm biến int tieptucgame=1;
thêm

while(tieptucgame) {/*trong này là vòng lặp cũ*/)}
printf("ban nhan 1 de tiep tuc dung lai nhan phim 0:");
scanf("%d",&tieptucgame);
3 Likes

Có ai chỉ em làm sao để mỗi khi mình chọn mode để chơi, chọn có tiếp tục chơi hay không,… những dòng đó sẽ biến mất

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

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);
        int max = 100, min = 0;
        // Create a random number
        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);

            srand(time(NULL));
            sobimat = (rand() % (max - min + 1) + min);
        } else if(mode == 2) {
            printf("Manager please choose a random number (don't let the player know)\n");
            scanf("%d", &sobimat);
        }

        // 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);
                guesstime = 0;
            }
        } while(so != sobimat);
        printf("Do you want to play another game?\n");
        printf("1.Yes\n2.No\n");
        scanf("%d", &cont);
    }

    getch();
    return 0;
}
2 Likes

Dùng system(“cls”); để xóa console, còn để lặp lại thì em bắt chước bài này nè

5 Likes

Hi, Merci beaucoup Bá Minh :smile:

3 Likes

tks các anh ạ, các anh nhớ thêm nhìu nhìu na để e còn học dần

3 Likes

Thi xong không có chương 2 em đi tự tử ấy, huhu

4 Likes

bá đạo thật. dùng tính mạng để uy hiếp tác giả. Dự đây là fan cuồng rồi.
ko liên quan cơ mà mình cũng hóng ghê lắm nhưng có người chết thay rồi. Thay mặt những người hưởng lợi từ bạn xin chân thành cảm ơn. :trollface:

3 Likes

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

@TBM_2512

3 Likes

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

4 Likes
5 Likes

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;
}
3 Likes

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 đó

3 Likes

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

3 Likes

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

4 Likes

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

3 Likes

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é

2 Likes

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 !

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