ndyudev / LapTrinhC-NhapMon

Nhập Môn Lập Trình ( School ) "Language Programming: C"
0 stars 0 forks source link

Lab 4.4 : Viết menu cho chọn 3 bài trên #100

Closed ndyudev closed 19 hours ago

ndyudev commented 19 hours ago

MỤC TIÊU: Sau bài thực hành, các bạn có khả năng thực hiện đƣợc:  Biết cách sử dụng vòng lặp while  Biết cách sử dụng vòng lặp do while BÀI 1: TÍNH TRUNG BÌNH TỔNG CỦA CÁC SỐ TỰ NHIÊN CHIA HẾT CHO 2 Input: nhập từ bàn phím 2 giá trị min, max Output: Trung bình tổng của các số tự nhiên chia hết cho 2 từ min tới max Hƣớng dẫn: int min,max int i = min float tong = 0, bienDem = 0, trungBinh = 0 while( i <= max){ Nếu (i % 2 == 0){ tong += i; bienDem ++ } } trungBinh = tong/bienDem BÀI 2: XÂY DỰNG CHƯƠNG TRÌNH XÁC ĐỊNH SỐ NGUYÊN TỐ Input: Nhập vào từ bàn phím số x Output: Kết luận x có phải là số nguyên tố hay không Biết rằng: Số nguyên tố là số chỉ chia hết cho 1 và chính nó. FPT POLYTECHNIC TRANG 1 NHẬP MÔN LẬP TRÌNH Hƣớng dẫn: Chạy 1 vòng lặp biến đếm với giá trị khởi tạo ban đầu i = 2, điều kiện lặp là i < n. Nếu trong quá trình chạy, phát hiện ra một số i nào đó mà x % i == 0  x là số nguyên tố int x //Lấy giá trị từ bàn phím int count=0 int i
for(i=2;i<x;i++){ if(x%i ==0){ count++; } FPT POLYTECHNIC TRANG 2 NHẬP MÔN LẬP TRÌNH } if(count ==0){ x là số nguyên tố }else{ x không phải số nguyên tố } BÀI 3: XÂY DỰNG CHƯƠNG TRÌNH SỐ CHÍNH PHƯƠNG Input: Nhập vào từ bàn phím số x Output: Kết luận x có phải là số chính phƣơng hay không? Biết rằng: Số chính phƣơng là một số mà giá trị của nó là bình phƣơng của một số tự nhiên. (ví dụ: 9 = 3 x 3, 16 = 4 x 4, 25 = 5 x 5, 1,000,000 = 1,000 x 1,000) Hƣớng dẫn: Chạy 1 vòng lặp biến đếm i = 1, điều kiện lặp i<x. Nếu tìm đƣợc 1 số i nào đó sao cho i x i = x thì x là số chính phƣơng. int x //Lấy giá trị từ bàn phím int count=0 int i
for(i=1;i<x;i++){ if(i*i == x){ x là số chính phƣơng break } } BÀI 4: XÂY DỰNG MENU CHƢƠNG TRÌNH CHO 3 BÀI TẬP TRÊN Yêu cầu:
 Nếu ngƣời dùng nhập từ bàn phím số 1:  Chạy chƣơng trình bài 1  Nếu ngƣời dùng nhập từ bàn phím số 2:  Chạy chƣơng trình bài 2  Nếu ngƣời dùng nhập từ bàn phím số 3:  Chạy chƣơng trình bài 3  Nếu ngƣời dùng nhập từ bàn phím số 4:  Thoát khỏi chƣơng trình  Nếu ngƣời dùng nhập từ bàn phím số khác: Hiển thị menu nhƣ cũ FPT POLYTECHNIC TRANG 3 NHẬP MÔN LẬP TRÌNH Gợi ý: Sử dụng vòng lặp do while kết hợp với cách tạo menu thông thƣờng để làm bài tập số 4

ndyudev commented 19 hours ago

include

// Hàm bài 1: Tính trung bình tổng của các số tự nhiên chia hết cho 2 void bai1() { int min, max, i; float tong = 0, bienDem = 0, trungBinh = 0;

printf("Nhap vao gia tri min: ");
scanf("%d", &min);
printf("Nhap vao gia tri max: ");
scanf("%d", &max);

i = min;
while (i <= max) {
    if (i % 2 == 0) {
        tong += i;
        bienDem++;
    }
    i++;
}

if (bienDem != 0) {
    trungBinh = tong / bienDem;
    printf("Trung binh tong cua cac so chia het cho 2 tu %d toi %d la: %.2f\n", min, max, trungBinh);
} else {
    printf("Khong co so nao chia het cho 2 trong khoang tu %d toi %d.\n", min, max);
}

}

// Hàm bài 2: Kiểm tra số nguyên tố void bai2() { int x, i, count = 0;

printf("Nhap vao so x: ");
scanf("%d", &x);

if (x < 2) {
    printf("%d khong phai la so nguyen to.\n", x);
    return;
}

for (i = 2; i < x; i++) {
    if (x % i == 0) {
        count++;
        break;
    }
}

if (count == 0) {
    printf("%d la so nguyen to.\n", x);
} else {
    printf("%d khong phai la so nguyen to.\n", x);
}

}

// Hàm bài 3: Kiểm tra số chính phương void bai3() { int x, i; int laSoChinhPhuong = 0;

printf("Nhap vao so x: ");
scanf("%d", &x);

for (i = 1; i <= x; i++) {
    if (i * i == x) {
        laSoChinhPhuong = 1;
        break;
    }
}

if (laSoChinhPhuong) {
    printf("%d la so chinh phuong.\n", x);
} else {
    printf("%d khong phai la so chinh phuong.\n", x);
}

}

// Hàm hiển thị menu với khung void menu() { int choice;

do {
    printf("++------------------------------------++\n");
    printf("| Chuc nang 1: Tinh trung binh tong    |\n");
    printf("| Chuc nang 2: Tim so nguyen to        |\n");
    printf("| Chuc nang 3: Tim so chinh phuong     |\n");
    printf("| Chuc nang 4: Thoat                   |\n");
    printf("++------------------------------------++\n");
    printf("Xin moi chon chuc nang (1,2,3,4): ");
    scanf("%d", &choice);

    switch (choice) {
        case 1:
            bai1();
            break;
        case 2:
            bai2();
            break;
        case 3:
            bai3();
            break;
        case 4:
            printf("Thoat chuong trinh.\n");
            break;
        default:
            printf("Lua chon khong hop le. Vui long nhap lai.\n");
            break;
    }
} while (choice != 4);

}

// Hàm main để chạy chương trình int main() { menu(); return 0; }