#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
char docKytu();
int win(int sokytuBimat[]);
int kiemtraKytu(char kytu, char tuBimat[], int sokytuBimat[]);
int main(int argc, char *argv[])
{
int choilai = 1;
while(choilai)
{
int chedo;
printf(" TRO CHOI NGUOI TREO CO \n");
printf("1. Huong dan choi\n");
printf("2. Bat dau choi\n");
scanf("%d",&chedo);
switch(chedo)
{
case 1:
{
printf("Ban co 1 cau hoi va 10 luot doan\n");
printf("Ban phai tim duoc cau tra loi trong 10 luot doan\n");
printf("Neu het 10 luot ban van chua tim duoc cau tra loi, thi ban se thua cuoc\n");
break;
}
case 2:
{
char kytu = 0;
char tuBimat[]= "NGUYENTRUNGBAC";
int sokytuBimat[14]= {0};
int soluotDoan = 10;
int i = 0;
printf("Cau hoi tro choi:\n");
printf("Ty phu tre tuoi nhat Viet Nam la ai? \n");
printf(" Tro choi bat dau \n");
while(soluotDoan > 0 && !win(sokytuBimat))
{
printf("\nBan co %d luot doan de choi", soluotDoan);
printf("\nTu bi mat la gi?\n");
for(i = 0; i < 14; i++)
{
if(sokytuBimat[i])
printf("%c",tuBimat[i]);
else
printf("*");
}
printf("\nXin moi ban doan mot ky tu: ");
kytu = docKytu();
if(!kiemtraKytu(kytu,tuBimat,sokytuBimat))
{
soluotDoan--;
}
}
if(win(sokytuBimat))
printf("\n\nChuc mung, ban da chien thang!\nTu bi mat la: %s",tuBimat);
else
printf("\n\nXin chia buon, ban da thua!\nTu bi mat la: %s",tuBimat);
break;
}
}
printf("\n\nTro choi ket thuc!! \n");
printf("Ban cho muon choi lai khong?\n");
printf("Lua chon 1 de choi lai, lua chon 0 de thoat tro choi\n");
printf("Lua chon cua ban la: ");
scanf("%d",&choilai);
}
return 0;
}
char docKytu()
{
char kytuNhapVao = 0;
kytuNhapVao = getchar();
kytuNhapVao = toupper(kytuNhapVao);
while(getchar() != '\n');
return kytuNhapVao;
}
int win(int sokytuBimat[])
{
int i = 0;
int nguoichoiChienThang = 1;
for(i = 0; i < 14; i++)
{
if(sokytuBimat[i] == 0)
{
nguoichoiChienThang = 0;
}
}
return nguoichoiChienThang;
}
int kiemtraKytu(char kytu, char tuBimat[], int sokytuBimat[])
{
int i = 0;
int kytuChinhXac = 0;
for(i = 0; tuBimat[i] != '\0'; i++)
{
if(kytu == tuBimat[i])
{
kytuChinhXac = 1;
sokytuBimat[i]= 1;
}
}
return kytuChinhXac;
}
Sau khi compile xong thì nó bị như thế này
Lần chọn “n” thứ 1 nó không xác định và vẫn hiện “***********” lần nhập “n” thứ 2 thì nó xác nhận, hiểu không hiểu vì sao nó lại như thế, các bạn chia sẽ giúp mình với nhé