kết quả từ 1 tới 4 trên 4

Ứng dụng mảng trong lập trình C

  1. #1
    Ðến Từ
    Bình Thuận
    Thành Viên Thứ: 369841
    Giới tính: Nam
    Bài gửi
    2

    Ứng dụng mảng trong lập trình C

    Chào!
    Các anh chị làm ơn hướng dẫn em cách làm mảng bài này với ạ!
    *Định nghĩa một cấu trúc HOADON và một cấu trúc DATE như sau:struct DATE{
    int ngay;
    char thang[10];
    int nam;
    };
    struct HOADON{
    char tenloaihang[50];
    int soluonghang;
    int dongia;
    long sotien;
    struct DATE ngaymua;
    };
    a. Nhập vào một mảng các hóa đơn
    b. Viết hàm tính tổng số tiền mà khách hàng phải trả dựa vào số tiền mỗi hoá đơn
    c. Tìm hoá đơn có số tiền là nhỏ nhất
    Quick reply to this message Trả lời       


  2. #2
    Ðến Từ
    TP. Hồ Chí Minh
    Thành Viên Thứ: 56897
    Giới tính: Nam
    Bài gửi
    881

    Reply: Ứng dụng mảng trong lập trình C

    Mấy bài này cơ bản quá. Chắc bạn đã học về 'struct' và 'array' rồi, nên bài tập này là kết hợp 2 thứ lại. Nếu có 1 mảng các số, muốn tình tổng thì bạn viết như thế nào? Nếu muốn tìm số nhỏ nhất trong mảng chứa các số thì bạn làm thế nào? Bạn viết code 2 phần đó lên đây trước đã nhé.
    LCD: 13.3" 1920x1080 IPS
    CPU: Intel i7 - 4700MQ (2.4 GHz - 3.4 GHz)
    GPU: Nvidia GTX 765m with GDDR5 2GB
    RAM: 2x8GB G.Skill 2133
    HDD: Samsung SSD 850 Pro 512 GB
    2 kg.

  3. Đã cảm ơn tengiday:


  4. #3
    Ðến Từ
    Bình Thuận
    Thành Viên Thứ: 369841
    Giới tính: Nam
    Bài gửi
    2

    Reply: Ứng dụng mảng trong lập trình C

    d/ liệt kê các hoá đơn mua sau năm 2016
    đây là code của toàn bài, nhưng em chạy nó có phần sai, nhưng em tìm hoài ko ra. mong anh tìm và chỉnh sửa giùm em, em cảm ơn
    #include <stdio.h>#include <stdlib.h>
    #include <string.h>


    struct HOADON
    {
    char tenloaihang[50];
    int soluonghang;
    int dongia;
    long sotien;
    struct ngaymua{
    int ngay, thang, nam;
    } nm;
    };


    void Mang(struct HOADON a[], int n);


    void Mang(struct HOADON a[], int n)
    {
    do
    {
    printf("Nhap so mat hang: ");
    scanf("%d",&n);
    }
    while (n <= 0);
    int i;
    long thanhtien=0;
    for (i = 1; i <= n; i++)
    {
    #define sv a[i]
    printf("hoa don %d la: ", i);
    fflush(stdin);
    gets(a[i].tenloaihang);
    printf("so luong: ");
    fflush(stdin);
    scanf("%d",&a[i].soluonghang);
    printf("don gia: ");
    fflush(stdin);
    scanf("%d", &a[i].dongia);
    a[i].sotien =a[i].soluonghang*a[i].dongia;
    printf("so tien la: %d\n", a[i].sotien );
    thanhtien = thanhtien+a[i].sotien;
    printf("ngay mua la: ");
    fflush(stdin);
    scanf("%02d",&sv.nm.ngay);
    scanf("%02d",&sv.nm.thang);
    scanf("%04d",&sv.nm.nam);
    }
    printf("tong so tien la: %d\n", thanhtien );


    printf("hoa don co so tien nho nhat la: ");


    for(i=0;i<n;i++)
    {
    if((a[i].sotien<a[i+1].sotien))
    {
    printf("%s ",a[i].tenloaihang);
    }
    else
    {
    printf("%s", a[i+1].tenloaihang);
    }

    }

    printf("\nhoa don mua sau 2016 la: ");
    //
    for(i=0;i<n;i++)
    {
    if(sv.nm.nam>2016){

    }
    else
    {

    }

    }

    printf("%s ",a[i].tenloaihang);
    }


    int main()
    {
    struct HOADON a[100];
    int n;
    Mang(a,n);
    getch();
    }

  5. #4
    Ðến Từ
    TP. Hồ Chí Minh
    Thành Viên Thứ: 56897
    Giới tính: Nam
    Bài gửi
    881

    Reply: Ứng dụng mảng trong lập trình C

    1) Ở trong C/C++, index của mảng bắt đầu bằng 0. Lúc nhập dữ liệu bạn cho i từ 1 tới n, trong khi lúc sau i từ 0 tới n - 1. Bạn cần đổi vòng 'for' nhập dữ liệu từ 0 tới < n.
    2) Tìm phần tử nhỏ nhất của bạn chưa đúng. Nó phải như thế này
    Mã:
    printf("hoa don co so tien nho nhat la: ");
    int index = 0; // assume giá trị nhỏ nhất là phần tử đầu tiên
    for (int i = 1; i < n; ++i)
    	if (a[i].sotien < a[index].sotien)
    		index = i;
    printf("%s", a[index].tenloaihang);

    3) Hóa đơn sau năm 2016:
    Mã:
    printf("\nhoa don mua sau 2016 la: ");
    for (int i = 0; i < n; ++i)
    	if (a[i].nm.nam > 2016)
    		printf("%s ", a[i].tenloaihang);
    printf("\n");

  6. Đã cảm ơn tengiday: