01/10/2018, 13:58

Khai báo char trong C

Em có biến char xeploai; làm thế nào để khai báo cho xếp loại là 1 trong những giá trị “Giỏi”, “Khá”, “Trung Bình”, “Kém” nhỉ, ai giúp giùm em với ạ.

*grab popcorn* viết 16:05 ngày 01/10/2018

Bạn nói rõ hơn được không? Mình chưa hiểu ý bạn lắm

Tony viết 16:02 ngày 01/10/2018

vâng tức là biến xeploai có kiểu char và chỉ nhận được 1 trong những giá trị “Giỏi”, “Khá”, “Trung Bình”, “Kém”, cái này thực hiên trong phần khai báo được không hay phải giới hạn trong hàm main a nhỉ.

*grab popcorn* viết 15:59 ngày 01/10/2018

Nếu bạn muốn nhập chỉ các giá trị Giỏi, Khá, Trung Bình, Kém thì mình thấy chỉ có cách là xử lý bằng if else khi nhập thôi. Chứ giới hạn bằng khai báo thuần thì mình chưa thấy.

Mà biến char mà nhập các “chuỗi” kia vào là coi chừng bị lỗi đó.

Tony viết 16:05 ngày 01/10/2018

vâng, cảm ơn em cũng nghĩ phải xử lí if else hoặc switch, mà trong C nó chỉ có 1 kiểu char thôi nên đành khai báo vậy, khác là chỗ %c với %s, em nghĩ thế.

*grab popcorn* viết 16:03 ngày 01/10/2018

Hehe, coi 2 clip này nhé
https://www.youtube.com/watch?v=P7W3cNlm4vo
https://www.youtube.com/watch?v=7SPXjK1E4oE

Còn ko đọc bài này cũng được: https://cpp.daynhauhoc.com/6/0-mang-ki-tu/

Tony viết 16:07 ngày 01/10/2018

char foo[] = { ‘L’, ‘e’, ’ ', ‘T’, ‘r’, ‘a’, ‘n’, ’ ', ‘D’, ‘a’, ‘t’, ‘\0’ }; đây là kiểu em muốn nói đến ạ, nhưng mà đưa vào dev C nó lại báo lỗi mới đau chứ

*grab popcorn* viết 16:12 ngày 01/10/2018

Nó báo lỗi như thế nào? Bạn cho mình xem được khong?

Tony viết 16:10 ngày 01/10/2018

đây ạ

*grab popcorn* viết 16:01 ngày 01/10/2018

1 ký tự chỉ được bỏ trong 1 cặp '' thôi
Trong khi XS, TB là 2 ký tự rồi nên đâu bỏ trong '' được. tới lúc này bạn phải dùng tới Mảng chuỗi nhé.

Nếu bạn chưa học thì mình gợi ý cho là nó như thế này:

char xeploai[][] = {"XS", "G", ... };
Tony viết 16:00 ngày 01/10/2018


vâng, quên nói là em cũng thử luôn cách kia rồi ạ, hic

*grab popcorn* viết 16:02 ngày 01/10/2018

Chẹp, như thế lày, thêm số 3 vô nhé. Nếu có lỗi nữa thì vô Tools -> Compiler Options -> Mò chỗ nào có fpermissive thì bỏ đi cho nó đỡ báo lỗi :3

char xl[][3] = {"XS", "G", ...};

Và bạn nên học thêm về mảng, và chuỗi để hiểu rõ hơn nhé.

Tony viết 16:06 ngày 01/10/2018

char xl[][3] = {“XS”, “G”, …};

vâng, để em tìm hiểu thêm, cảm ơn a đã giúp đỡ cả buổi tối nhé, chúc a ngày mới vui vẻ.

Bài liên quan
0