Làm vòng lặp hỏi người chơi có muốn chơi tiếp như thế nào?

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
int main()
{
    int soBiMat = 0,soHienTai = 0, luaChonCapDo ,chonChoiLai;
    int MAX=0,MIN=0;
    printf ("===Chon so chu so cua mat khau===\n");
    printf ("2 Chu so:\n");
    printf ("3 Chu so:\n");
    printf ("4 Chu so:\n");
    printf ("May chu so:");
    scanf ("%d",&luaChonCapDo);
    while (luaChonCapDo!=2,3,4)
    {
        if (luaChonCapDo=2)
        {
        MAX=99,MIN=10;
        srand(time(NULL));
        soBiMat=(rand()%(MAX-MIN+1)+MIN);
        do
        {
            printf("So can tim la bao nhieu ?\n");
            printf("La:");
            scanf("%d",&soHienTai);
            if (soBiMat>soHienTai)
            printf("Lon hon!\n");
            else if (soBiMat<soHienTai)
            printf("Nho hon!\n");
            else
            printf("Chuc mung! Ban da tim ra duoc so bi mat !!!\n");
        }
        while(soHienTai!=soBiMat);
        }
        else if(luaChonCapDo=3)
        {
        MAX=999,MIN=100;
        srand(time(NULL));
        soBiMat=(rand()%(MAX-MIN+1))+MIN;
        do
        {
            printf("So can tim la bao nhieu ?\n");
            printf("La:");
            scanf("%d",&soHienTai);
            if (soBiMat>soHienTai)
            printf("Lon hon!\n");
            else if (soBiMat<soHienTai)
            printf("Nho hon!\n");
            else
            printf("Chuc mung! Ban da tim ra duoc so bi mat !!!\n");
        }
        while(soHienTai!=soBiMat);
        }
        else if (luaChonCapDo=4)
        {
        MAX=9999,MIN=1000;
        srand(time(NULL));
        soBiMat=(rand()%(MAX-MIN+1))+MIN;
        do
        {
            printf("So can tim la bao nhieu ?\n");
            printf("La:");
            scanf("%d",&soHienTai);
            if (soBiMat>soHienTai)
            printf("Lon hon!\n");
            else if (soBiMat<soHienTai)
            printf("Nho hon!\n");
            else
            printf("Chuc mung! Ban da tim ra duoc so bi mat !!!\n");
        }
        while(soHienTai!=soBiMat);
        }
        else
        {
            printf("Ban da khong chon dung cap do.\n");
            printf("Moi ban chon lai cap do:");
            scanf("%d",&luaChonCapDo);
        }
    }
    return 0;
}

E có trò chơi này giờ e muốn mỗi lần sau khi chơi xong trò chơi sẽ hỏi người chơi có muốn chơi tiếp ko, nếu có thì trò chơi sẽ lặp lại từ đầu, nếu ko thì trò chơi tắt thì làm thế nào

Code

#include<stdio.h>
int main(void) {
char ch;
do {
//Your Code
printf ("Do you want to repeat the operation Y/N: ");
scanf (" %c", &ch);
}
while (ch == 'y' || ch == 'Y');
}


Mình sửa lại cho rồi nhé

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
int soBiMat = 0, soHienTai = 0, luaChonCapDo, chonChoiLai;
char ch;
void Start();
void Play(int luaChonCapDo, int MAX, int MIN);
int main()
{
	do {
		//Your Code
		Start();
		printf("Ban co muon tiep tuc Y/N: ");
		scanf(" %c", &ch);
	} while (ch == 'y' || ch == 'Y');
	return 0;
}

void Start() {
	int MAX = 0, MIN = 0;
	printf("===Chon so chu so cua mat khau===\n");
	printf("2 Chu so:\n");
	printf("3 Chu so:\n");
	printf("4 Chu so:\n");
	printf("May chu so:");
	scanf("%d", &luaChonCapDo);
	while (MAX == 0 && MIN == 0) {
		MAX = luaChonCapDo == 2 ? 99 : luaChonCapDo == 3 ? 999 : luaChonCapDo == 4 ? 9999 : 0;
		MIN = luaChonCapDo == 2 ? 10 : luaChonCapDo == 3 ? 100 : luaChonCapDo == 4 ? 1000 : 0;
		if ((MAX == 0 && MIN == 0)) {
			printf("Ban da khong chon dung cap do.\n");
			printf("Moi ban chon lai cap do:");
			scanf("%d", &luaChonCapDo);
		}
	}
	Play(luaChonCapDo, MAX, MIN);
}

void Play(int luaChonCapDo, int MAX, int MIN) {
	srand(time(NULL));
	soBiMat = (rand() % (MAX - MIN + 1)) + MIN;
	do
	{
		printf("So can tim la bao nhieu ?\n");
		printf("La: ",soBiMat);
		scanf("%d", &soHienTai);
		if (soBiMat > soHienTai)
			printf("Lon hon!\n");
		else if (soBiMat < soHienTai)
			printf("Nho hon!\n");
		else {
		printf("Chuc mung! Ban da tim ra duoc so bi mat !!!\n");
		break;
		}
	} while (soHienTai != soBiMat);
}
2 Likes

Hi Quang Pham.
Bạn tìm tài liệu về game-loop và game-state.

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