30/09/2018, 20:24

Cách chuyển if và else sang Switch và case?

Cho mình hỏi, làm thế nào chuyển sang “switch” mà vẫn có điều kiện (tuoi = 30 && tuoi < 60), thì code như thế nào ạ.

int main()
{
    int tuoi;
    scanf("%d", &tuoi);
    if (tuoi < 18)
    {
        printf("Tuoi than tien");
    }
    else if (tuoi = 18 && tuoi <30)
    {
        printf("Tuoi moi lon");
    }
    else if (tuoi = 30 && tuoi < 60)
    {
         printf("Tuoi gia");
    }
    else
     {
        printf("Ban khong co tuoi nao ca!");
    }
    return 0;
}

Làm thế nào khi người dùng gõ chữ, sẽ báo lỗi và bắt người dùng gõ số không phải chữ.
Mình gõ thử chữ linh tinh thì nó ko hiện ra như phần thông báo “else”

<img src="//daynhauhoc.s3-ap-southeast-1.amazonaws.com/original/2X/9/98204e2465f06e70a4c44fbba52e9a472a46882f.png" width=“690” height=“387”

Mình mới học, các bạn thông cảm ^__^!

Jobs Apple Steve viết 22:33 ngày 30/09/2018

vái dầu tiên vè vấn đè kiểm tra số hay chữ có baig hướng dẫn của anh lê trần đật đấy bạn à
tên bài là mã hóa với thư viện <ctype.h>

Bé tập Code viết 22:33 ngày 30/09/2018

Một số compiler (chẳng hạn gcc, không nhớ từ version mấy) support bạn làm thế này:

case 18...30

Nếu không bạn buộc phải liệt kê. Chẳng hạn:

case 18:
case 19:
case 20:
...
Jobs Apple Steve viết 22:34 ngày 30/09/2018

mà theo mình biết switch là lựa chọn còn muốn dùng điều kiên thì dùng if else cho lành @BetapCode

Bé tập Code viết 22:25 ngày 30/09/2018

Với số lượng nhiều điều kiện, compiler sẽ hành xử với switch case như look up table cho nên tốc độ thực thi nhanh hơn if else if. Các ứng dụng trong hệ thông nhúng người ta đôi khi sẽ code như vậy, dài, ngố nhưng máy thực thi nhanh.

Bài liên quan
0