Đáp Án Bài 6.6





Bài 6.6: Làm lại tất cả các bài tập từ 2-5 theo cách không sử dụng tệp để lưu dữ liệu, thay vào đó hãy sử dụng mảng cấu trúc.


//Câu 6.2.6:
#include <stdio.h>
#include <stdio_ext.h>

int main(void)
{
    struct
    {
        char hoTen[30], *loai;
        float diemToan, diemLy, diemHoa, tongDiem;
    }sv[50];

    int i, n;

    printf("Nhap so luong sinh vien n = ");
    scanf("%d", &n);

    printf("Nhap vao danh sach sinh vien:");
    for(i=0;i<n;i++)
    {
        printf("\nap sinh vien thu %d:\n", i+1);
        printf("\tHo ten: ");__fpurge(stdin); gets(sv[i].hoTen);
        printf("\tDiem toan: ");scanf("%f", &sv[i].diemToan);
        printf("\tDiem ly: ");scanf("%f", &sv[i].diemLy);
        printf("\tDiem hoa: ");scanf("%f", &sv[i].diemHoa);

        //Tinh tong, loai
        sv[i].tongDiem = sv[i].diemToan + sv[i].diemLy + sv[i].diemHoa;
        if(sv[i].tongDiem>19)
            sv[i].loai ="DO";
        else
            sv[i].loai = "TRUOT";
    }

    //Hien ket qua ra man hinh
    printf("------------------------BANG DIEM CUA SINH VIEN----------------------\n\n");
    printf("Ho ten                         Diem toan  Diem ly  Diem hoa  Tong diem  Loai\n");
    for(i=0;i<n;i++)
        printf("%-30s %-10.2f %-8.2f %-9.2f %-10.2f %-6s\n",sv[i].hoTen,sv[i].diemToan,sv[i].diemLy,sv[i].diemHoa,sv[i].tongDiem,sv[i].loai);

    return 0;
}
//===dinh nghia ham===
//Câu 6.3.6:
#include <stdio.h>
#include <stdio_ext.h>

int main(void)
{
    struct
    {
        char hoTen[30];
        int ngayCong;
        float luongChinh, thuong, tong;
    }nv[50];

    int n, i;

    printf("Nhap so luong nhanh vien: ");
    scanf("%d", &n);

    printf("Nhap vao danh sach nhan vien:");
    for(i=0;i<n;i++)
    {
        printf("\nNhap nhan vien thu %d:\n", i+1);
        printf("\tHo ten: ");__fpurge(stdin); gets(nv[i].hoTen);
        printf("\tNgay cong: ");scanf("%d", &nv[i].ngayCong);
        printf("\tLuong chinh: ");scanf("%f", &nv[i].luongChinh);

        //tinh thuong, tong
        if(nv[i].ngayCong>25)
            nv[i].thuong = nv[i].luongChinh*2;
        else
            nv[i].thuong = nv[i].luongChinh;
        nv[i].tong = nv[i].luongChinh + nv[i].thuong;
    }
    printf("\n\n---------------BANG LUONG NHAN VIEN-----------------\n\n");
    printf("Ho ten                         Ngay cong    Luong chinh    Thuong    Tong\n");
    for(i=0;i<n;i++)
        printf("%-30s %-12d %-14.2f %-9.2f %-.2f\n",nv[i].hoTen,nv[i].ngayCong,nv[i].luongChinh,nv[i].thuong,nv[i].tong);

    return 0;
}
//Câu 6.4.6:
#include <stdio.h>
#include <stdio_ext.h>
int main(void)
{
    struct
    {
        char tenMH[30], *loai;
        int soLuong;
        float donGia, tien;
    }dsmh[50];

    int n, i;

    printf("Nhap so luong mat hang: ");
    scanf("%d", &n);

    printf("Nhap vao danh sach mat hang:");
    for(i=0;i<n;i++)
    {
        printf("\nNhap mat hang thu %d:\n", i+1);
        printf("\tTen mat hang: ");__fpurge(stdin); gets(dsmh[i].tenMH);
        printf("\tSo luong: ");scanf("%d", &dsmh[i].soLuong);
        printf("\tDon gia: ");scanf("%f", &dsmh[i].donGia);

        //tinh tien, loai
        dsmh[i].tien = dsmh[i].soLuong*dsmh[i].donGia;

        if(dsmh[i].tien>500000)
            dsmh[i].loai = "CAO";
        else
            dsmh[i].loai = "THAP";
    }

    printf("\n\n---------------BANG THONG KE HANG NHAP-----------------\n\n");
    printf("Ten mat hang                   So luong  Don gia      Tien      Loai\n");
    for(i=0;i<n;i++)
        printf("%-30s %-9d %-12.2f %-9.2f %-s\n",dsmh[i].tenMH,dsmh[i].soLuong, dsmh[i].donGia, dsmh[i].tien, dsmh[i].loai);

    return 0;
}
//Câu 6.5.6:
#include <stdio.h>
#include <stdio_ext.h>
int main(void)
{
    struct
    {
        char tenSach[30], tacGia[30], *loai;
        int nam;
        float gia;
    }dmsach[50];

    int n, i;

    printf("Nhap so luong sach: ");
    scanf("%d", &n);

    printf("Nhap vao danh muc sach:");
    for(i=0;i<n;i++)
    {
        printf("\nNhap danh muc sahc thu %d:\n", i+1);
        printf("\tTen sach: ");__fpurge(stdin); gets(dmsach[i].tenSach);
        printf("\tNam(yyyy): ");scanf("%d", &dmsach[i].nam);
        printf("\tTac gia: "); __fpurge(stdin); gets(dmsach[i].tacGia);
        printf("\tGia: ");scanf("%f", &dmsach[i].gia);

        //tinh loai
        if(dmsach[i].gia>50000)
            dmsach[i].loai = "CAO";
        else if(dmsach[i].gia>=20000)
            dmsach[i].loai = "TB";
        else
            dmsach[i].loai ="THAP";
    }

    printf("\n\n---------------BANG DANH MUC SACH-----------------\n\n");
    printf("Ten sach                       Nam  Tac gia                        Gia       Loai\n");
    for(i=0;i<n;i++)
        printf("%-30s %-4d %-30s %-9.2f %-s\n",dmsach[i].tenSach,dmsach[i].nam, dmsach[i].tacGia,dmsach[i].gia, dmsach[i].loai);

    return 0;
}
Coding: Hải Dớ



Đăng nhận xét

Cảm Ơn Bạn Đã Để Lại Bình Luận

 

Quản Trị Viên

Lượt xem

Lên Trên