Từ 1 tới 8 trên tổng số 8 kết quả

Đề tài: Nhập vào 1 danh sách hàng hóa gồm tên hàng, mã hàng, đơn giá, số lượng. In ra màn hình, tính giá trị mặt hàng...

  1. #1
    Ngày gia nhập
    10 2011
    Bài viết
    25

    Mặc định Nhập vào 1 danh sách hàng hóa gồm tên hàng, mã hàng, đơn giá, số lượng. In ra màn hình, tính giá trị mặt hàng...

    Xin cho hỏi chương trình này mình viết sai ở đâu? (Mình viết bằng dev C++)

    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <string.h>
    void main()
    {
         struct hanghoa
         {
                char TH[50];
                int MH,SL;
                float DG,GT;
         };
         struct hanghoa HH;
         int n,i,j;
         float tg,tong=0,GT;
         printf("Co bao nhieu hang hoa can nhap: ");
         scanf("%d", &n);
         for(i=1;i<=n;i++)
         {
                          printf("Nhap ten hang: ");
                          fflush(stdin);
                          gets(HH[i].TH);
                          printf("Nhap ma hang: ");
                          scanf("%d", &HH[i].MH);
                          printf("Nhap so luong: ");
                          scanf("%d", &HH[i].SL);
                          printf("Nhap don gia: ");
                          scanf("%f", &HH[i].DG);
         }
         printf("Cac loai mat hang la: ");
         for(i=1;i<=n;i++)
         {
                          printf("Ten hang hoa: %s", HH[i].TH);
                          printf("Ma hang: %d", HH[i].MH);
                          printf("So luong: %d", HH[i].SL);
                          printf("Don gia: %f", HH[i].DG);
                          printf("\n");
         }
         for(i=1;i<=n;i++)HH[i].GT=HH[i].SL*HH[i].DG;
         for(i=1;i<=n;i++)
            for(j=i+1;j<=n;j++)if(HH[i].GT>=HH[j].GT)
            {
            tg=HH[i].GT;
            HH[i].GT=HH[j].GT;
            HH[j].GT=tg;
            }
            printf("Hang hoa khi da duoc sap xep la: ");
            for(i=1;i<=n;i++)
            {
                             printf("Ten hang hoa: %s      Gia tri: %f", HH[i].TH, HH[i].GT);
                             printf("\n");
            }
            for(i=1;i<=n;i++)tong=tong+HH[i].GT;
            printf("Tong gia tri hang hoa la: %f", tong);
            getch();
    }
    Đoạn chương trình mình tô màu ấy tại sao bị lỗi vậy? Ai biết thì giúp mình vs nha. Mình mới học môn này nên chưa biết nhiều. Thanks
    Đã được chỉnh sửa lần cuối bởi scopion93 : 11-11-2011 lúc 03:24 PM.

  2. #2
    Ngày gia nhập
    03 2011
    Nơi ở
    Bình Dương, Hồ Chí Minh
    Bài viết
    392

    Trích dẫn Nguyên bản được gửi bởi scopion93 Xem bài viết
    Xin cho hỏi chương trình này mình viết sai ở đâu? (Mình viết bằng dev C++)

    Đoạn chương trình mình tô màu ấy tại sao bị lỗi vậy? Ai biết thì giúp mình vs nha. Mình mới học môn này nên chưa biết nhiều. Thanks
    struct hanghoa HH; => bạn chưa khai báo số lượng phần tử cho mảng

    => struct hanghoa HH[20];

  3. #3
    Ngày gia nhập
    10 2011
    Bài viết
    21

    Trích dẫn Nguyên bản được gửi bởi scopion93 Xem bài viết
    Xin cho hỏi chương trình này mình viết sai ở đâu? (Mình viết bằng dev C++)



    Đoạn chương trình mình tô màu ấy tại sao bị lỗi vậy? Ai biết thì giúp mình vs nha. Mình mới học môn này nên chưa biết nhiều. Thanks
    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3. #include <string.h>
    4. void main()
    5. {
    6.      struct hanghoa
    7.      {
    8.             char TH[10][50];
    9.             int MH[10],SL[10];
    10.             float DG[10],GT[10];
    11.      };
    12.      struct hanghoa HH;
    13.      int n,i,j;
    14.      float tg,tong=0,GT;
    15.      printf("Co bao nhieu hang hoa can nhap: ");
    16.      scanf("%d", &n);
    17.      for(i=1;i<=n;i++)
    18.      {
    19.                       printf("Nhap ten hang [%d]: ",i);
    20.                       fflush(stdin);
    21.                       gets(HH.TH[i]);
    22.                       printf("Nhap ma hang [%d]: ",i);
    23.                       scanf("%d", &HH.MH[i]);
    24.                       printf("Nhap so luong [%d]: ",i);
    25.                       scanf("%d", &HH.SL[i]);
    26.                       printf("Nhap don gia [%d]: ",i);
    27.                       scanf("%f", &HH.DG[i]);
    28.                       printf("\n");
    29.      }
    30.      printf("Cac loai mat hang la: \n");
    31.      for(i=1;i<=n;i++)
    32.      {
    33.                       printf("\nTen hang hoa: %s", HH.TH[i]);
    34.                       printf("\nMa hang: %d", HH.MH[i]);
    35.                       printf("\nSo luong: %d", HH.SL[i]);
    36.                       printf("\nDon gia: %.2f", HH.DG[i]);
    37.                       printf("\n");
    38.      }
    39.      for(i=1;i<=n;i++)
    40.      HH.GT[i]=HH.SL[i]*HH.DG[i];
    41.      for(i=1;i<=n;i++)
    42.      for(j=i+1;j<=n;j++)if(HH.GT[i]>=HH.GT[j])
    43.         {
    44.         tg=HH.GT[i];
    45.         HH.GT[i]=HH.GT[j];
    46.         HH.GT[j]=tg;
    47.         }
    48.         printf("\nHang hoa khi da duoc sap xep la: \n");
    49.         for(i=1;i<=n;i++)
    50.         {
    51.                          printf("\nTen hang hoa: %s\nGia tri: %.2f", HH.TH[i], HH.GT[i]);
    52.                          printf("\n\n");
    53.         }
    54.         for(i=1;i<=n;i++)tong=tong+HH.GT[i];
    55.         printf("Tong gia tri hang hoa la: %.2f", tong);
    56.         getch();
    57. }
    mình sửa lại cho bạn rồi đó và cũng sắp xếp cho nó ngay ngắn lại tí tí ^^!....

    bạn làm mảng thì nhớ là khai báo mảng cho nó và gán mảng cho cái structure thì phải để như vầy nè
    HH.GT[i] ko để như vầy là sai nha HH[i].GT

    khai báo mảng như vầy nè

    char TH[10][50];
    int MH[10],SL[10];
    float DG[10],GT[10];

    [10] là có 10 mảng .... k bik giải thích sao nữa , tại học toàn tài liệu tiếng anh nên k biết cách giải thik tiếng việt , với lại đọc tiếng anh cũng k hiểu gì hết )
    mình cũng mới học C đc có 2 tháng àh
    Đã được chỉnh sửa lần cuối bởi hoaithy92 : 12-11-2011 lúc 12:58 AM.

  4. #4
    Ngày gia nhập
    10 2011
    Bài viết
    21

    C Code:
    1. for(i=1;i<=n;i++)
    2.      for(j=i+1;j<=n;j++)if(HH.GT[i]>=HH.GT[j])
    3.         {
    4.         tg=HH.GT[i];
    5.         HH.GT[i]=HH.GT[j];
    6.         HH.GT[j]=tg;
    7.         }
    không hiểu chỗ này để làm gì

  5. #5
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    Trích dẫn Nguyên bản được gửi bởi hoaithy92 Xem bài viết
    C Code:
    1. for(i=1;i<=n;i++)
    2.      for(j=i+1;j<=n;j++)if(HH.GT[i]>=HH.GT[j])
    3.         {
    4.         tg=HH.GT[i];
    5.         HH.GT[i]=HH.GT[j];
    6.         HH.GT[j]=tg;
    7.         }
    không hiểu chỗ này để làm gì
    GT là giá trị đúng ko ta.
    cái này là sắp xếp tăng dần
    HT117-5277

  6. #6
    Ngày gia nhập
    10 2011
    Bài viết
    25

    Mặc định Nhập vào 1 danh sách hàng hóa gồm tên hàng, mã hàng, đơn giá, số lượng. In ra màn hình, tính giá trị mặt hàng...

    Thanks mọi người nha. Ở lớp thấy thầy giáo viết kiểu như thế@@(HH[i].GT)

  7. #7
    Ngày gia nhập
    10 2011
    Bài viết
    21

    Trích dẫn Nguyên bản được gửi bởi scopion93 Xem bài viết
    Thanks mọi người nha. Ở lớp thấy thầy giáo viết kiểu như thế@@(HH[i].GT)
    chắc thầy ghi nhầm ^^! .... hôm sau vào hỏi lại xem

  8. #8
    Ngày gia nhập
    11 2015
    Bài viết
    5

    Mặc định trả lời

    mình cũng mới học . theo mình nghĩ là để hoán đổi để sắp sếp mặt hàng đó ạ

Các đề tài tương tự

  1. Bài tập C Nhập một danh sách tên sau đó in ra tên họ, đếm xem có bao nhiêu tên họ Lý , Trần..()
    Gửi bởi trangbui trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 01-01-2013, 06:39 PM
  2. Lỗi khi nhập dữ liệu vào danh sách tên
    Gửi bởi NTD_I trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 09-06-2011, 11:13 AM
  3. Chương tình nhập danh sách hàng hóa vào trong file và in ra danh sách đó.
    Gửi bởi nhimcool trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 15-05-2011, 06:27 PM
  4. Lập trình C Danh sách quản lí hàng hóa không in được thông tin nhập vào
    Gửi bởi kitti trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 33
    Bài viết cuối: 12-04-2011, 10:15 AM
  5. Kỹ thuật C++ Tạo 1 danh sách gồm họ tên + điểm. Lỗi chỉ nhập được điểm?
    Gửi bởi congaumap trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 18-03-2011, 09:53 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn