Thứ Sáu, 16 tháng 8, 2019

Xây dựng chương trình C nhập số nguyên dương thực hiện chuyển sang hệ nhị phân và bát phân

Xây dựng chương trình nhập vào bàn phím một số nguyên dương sau đó thực hiện chuyển đổi số đó từ thập phân sang hệ nhị phân và hệ bát phân. Ngôn ngữ được lựa chọn ở đây là code bằng ngôn ngữ C chạy trên trình biên dịch Code Block!

Xây dựng chương trình C như sau:
Hàm main() thực hiện công việc sau:
Hiển thị menu nhu sau:
1. Chon 1 de Nhap so nguyen duong (he 10)
2. Chon 2 de Chuyen so vua nhap sang he 2
3. Chon 3 de Chuyen so vua nhap sang he 8
4. Chon 4 de ket thuc
Chon:
- Khi người dùng chọn 1 thì gọi và thực hiện hàm NhapSo(): cho phép người dùng nhập vào một số không âm. Nếu nhập số âm thì bắt nhập lại. Sau khi nhập xong thì trở về menu trên
- Khi người dùng chọn 2 thì gọi và thực hiện hàm Chuyen10To2(): cho phép chuyển số vừa nhập sang hệ 2
- Khi người dùng chọn 3 thì gọi và thực hiện hàm Chuyen10To8(): cho phép chuyển số vừa nhập sang hệ 8
- Khi người dùng chọn 4 thì kết thúc chương trình.
Yêu cầu:
- Viết chương trình thực hiện các chức năng trên
- Cải tiến chương trình để tối ưu hiệu năng

Bài giải [Code]

#include<stdio.h>
#include<conio.h>
#include<windows.h>
void nhap(int *n)
{
    while(1)
    {
    printf("\nNhap so nguyen duong: ");
    scanf("%d",n);
        if(*n<0)
            printf("Nhap sai(n duong)");
        else
            break;
    }
  
}
void chuyen10to2(int n)
{
    int i=0,d[100];
    while(n!=0)
    {
        d[i] = n%2;
        n =n/2;
        i++;
    }
    for(int j=i-1;j>=0;j--)
    {
        printf("%d",d[j]);
    }
}
void chuyen10to8(int n)
{
    int i=0,d[100];
    while(n!=0)
    {
        d[i] = n%8;
        n =n/8;
        i++;
    }
    for(int j=i-1;j>=0;j--)
    {
        printf("%d",d[j]);
    }
}
main()
{
    int c,n;
    while(c!=4)
    {
        printf("\nChon 1: Nhap so nguyen duong");
        printf("\nChon 2: Chuyen so vua nhap sang he so 2");
        printf("\nChon 3: Chuyen so vua nhap sang he so 8");
        printf("\nChon 4: Ket thuc");
        printf("\nMoi ban chon: ");
        scanf("%d",&c);
        switch(c)
        {
            case 1:
                nhap(&n);
                break;
            case 2:
                chuyen10to2(n);
                break;
            case 3:
                chuyen10to8(n);
                break;
            default:
                printf("Khong hop le");
                system("pause");
                system("cls");
        }
    }
}

------------------------------------
1. Bài giải trên được sưu tầm từ các bạn sinh viên khóa trước đã học tập tại học viện chia sẻ.
2. Để code chạy được bạn nên sử dụng phần mềm CodeBlock
Nếu máy tính bạn nào chưa được cài đặt thì có thể tải bản chạy luôn Tại Đây

SHARE THIS

Author:

Etiam at libero iaculis, mollis justo non, blandit augue. Vestibulum sit amet sodales est, a lacinia ex. Suspendisse vel enim sagittis, volutpat sem eget, condimentum sem.

0 nhận xét: