30/09/2018, 17:41

Trò chơi đoán chữ(cần trợ giúp)

Thật ra e đang thực hành một game là game đoán chữ trên console thôi nhưng ko biết cách lưu lại kí tự đã đoán đúng trong mảng . Và tại sao lần sau đoán đúng nó lại không hiện chữ mà lại hiện kí tự * do nhập sai dù đã nhập đúng

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int doc(char kitu)
{
    kitu=getchar();
    kitu=toupper(kitu);
}
int main()
{
    char tubimat[]="LOVE";
    char kytunhapvao;
    int solandoan=0;
    int i=0;
    printf("Chao don cac ban den voi tro choi Doan Tu Bi Mat
");
    printf("Tu bi mat bao gom: 
");
    printf("%d tu
",strlen(tubimat));
    printf("Bay gio xin moi ban doan tu dau tien
");
    while (solandoan<10)
    {
        scanf("%c
",&kytunhapvao);
        doc(kytunhapvao);
                for (i=0;i<strlen(tubimat);i++)
                {
                if (kytunhapvao==tubimat[i])
                       {
                           printf("%c",tubimat[i]);

                       }
                else
                       {
                           printf("*");
                       }
                }
        solandoan++;
        printf("
Ban chi con %d lan doan
",solandoan);
    }
}
Minh Hoàng viết 19:47 ngày 30/09/2018
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
char doc(char kitu)
{
    //kitu=getchar();
    return toupper(kitu);
}
int main()
{
    char tubimat[]="LOVE";
    char flag[4]={0};
    char kytunhapvao;
    int solandoan=0;
    int i=0;
    printf("Chao don cac ban den voi tro choi Doan Tu Bi Mat\n");
    printf("Tu bi mat bao gom: \n");
    printf("%d tu\n",strlen(tubimat));
    printf("Bay gio xin moi ban doan tu dau tien\n");
    while (solandoan<10)
    {
        scanf("%c",&kytunhapvao);
        kytunhapvao=doc(kytunhapvao);
        for (i=0;i<strlen(tubimat);i++)
        {
            if ((kytunhapvao==tubimat[i]) || (flag[i]==1) )
            {
                    printf("%c",tubimat[i]);
                    flag[i]=1;
            }
            else
            {
                    printf("*");
            }
        }
    solandoan++;
    printf("\nBan chi con %d lan doan\n",solandoan);
    }
}

tại sao lần sau đoán đúng nó lại không hiện chữ mà lại hiện kí tự * do nhập sai dù đã nhập đúng

Là do hàm doc đã không thay đổi kytunhapvao. Nên khi so sẽ không giống.

Thật ra e đang thực hành một game là game đoán chữ trên console thôi nhưng ko biết cách lưu lại kí tự đã đoán đúng trong mảng

Bạn có thể dùng một mảng flag để đánh dấu các kí tự đã đóan đúng.
Bạn cần viết thêm một hàm kiểm tra xem đã đóan đúng hết chưa, nếu đóan đúng hết rồi thì exit luôn.

Minh Xù viết 19:45 ngày 30/09/2018

Em c.ơn ạ để e thử

Minh Xù viết 19:48 ngày 30/09/2018

Mà có cách nào nó hiện chữ đã đoán rồi không a ???

Minh Hoàng viết 19:50 ngày 30/09/2018

Em có thể tiếp túc dùng cách đánh dấu. Tạo mảng flag2 26 kí tự và đánh dấu, xem thêm mã ascii nhé.
p/s: hoặc tìm cách nào đó xem được input stdin cái này không biết được không

Minh Xù viết 19:54 ngày 30/09/2018

A nói rõ hơn bằng code được không a

Minh Hoàng viết 19:57 ngày 30/09/2018

Cứ code đi rồi mọi người sẽ sửa

Minh Xù viết 19:51 ngày 30/09/2018

Vâng. Em sẽ code rồi đưa lên

Minh Xù viết 19:49 ngày 30/09/2018

Nhưng em xài đt post code hơi khó khăn . Phải cắm dây vào máy tính copy . Plapla . Sao đây a

Bài liên quan
0