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

Đề tài: sắp xếp struct sinh viên theo điểm trung binh tăng dẫn

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

    Mặc định sắp xếp struct sinh viên theo điểm trung binh tăng dẫn

    mình có bt là sắp xếp lại danh sách tên sv theo điêm tb toan lý
    mình làm nhưng nó chẳng đổi gì cả, mong mọi người giúp mình
    Code:
    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    
    typedef struct sinhvien{char ten[100];
                            float toan;
                            float ly;
                            float tb;
                            };
    sinhvien ds[100];
    main()
    {int n,i,j;
    printf("nhap so sinh vien ");
    scanf("%d",&n);
                   for( i=1;i<=n;i++)
                   {fflush(stdin);
                   printf("nhap ten sinh vien ");
                   gets(ds[i].ten);
                   printf("nhap toan ");
                   scanf("%f",&ds[i].toan);
                   printf("nhap ly ");
                   scanf("%f",&ds[i].ly);
                   ds[i].tb=(ds[i].toan+ds[i].ly)/2;
                   }
    for(int i=1;i<=n;i++)
    {puts(ds[i].ten);
    printf("toan %2.2f ly  %2.2f tb %2.2f \n",ds[i].toan,ds[i].ly,ds[i].tb); //hien ten va cac thong so cac sv
    }
    float t;                                       // bat dau xep tang dan
          for(i=1;i<=n;i++)
          for(j=i+1;j<=n;j++)if(ds[j].tb<=ds[i].tb)
                                                      {t=ds[i].tb;
                                                      ds[i].tb=ds[j].tb;
                                                      ds[j].tb=t;
                                                      }
          
    for(int i=1;i<=n;i++)
    puts(ds[i].ten);  //hien ten theo danh sach diem tang dan
    getch();
    }

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

    Bạn tráo thì tráo điểm trung bình, còn cái khác y nguyên.
    Đến khi hiển thị lại hiển thị cái y nguyên như cũ đó (tên)
    ?????
    Điểm tb chỉ là cái cớ, cái điều kiện để tráo. Còn tráo thì phải tráo toàn bộ
    Khắc phục :
    Tráo phần tử đi
    Lấy 1 biến tạm có kiểu sinhvien , rồi tráo như tráo mảng bình thường vậy
    __________
    Sao vẫn chưa chịu học cách trình bày viết code . Học cái đó sớm đi kẻo ko sau này khổ đấy
    Um Mani Padme Hum...!!

  3. #3
    Ngày gia nhập
    01 2012
    Bài viết
    6

    struct sinhvien
    {
    float toan;
    float van;
    float dtb;
    };
    typedeff struct sinhvien SINHVIEN;

    void Saptang(SINHVIEN a[], int n)
    {
    for(int i=0;i<n=n-2;i++)
    for(int j=i+1;j<=n-1;j++)
    if(a[i].dtb>a[j].dtb)
    {
    SINHVIEN temp=a[i];
    a[i]=a[j];
    a[j]=temp;
    }
    }

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

    cám ơn mọi người em làm được rồi))))

    @clchicken: em chỉ biết dùng tab cho đẹp thôi chứ theo quy chuẩn thì chịu

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

    Trích dẫn Nguyên bản được gửi bởi edconan93 Xem bài viết
    cám ơn mọi người em làm được rồi))))

    @clchicken: em chỉ biết dùng tab cho đẹp thôi chứ theo quy chuẩn thì chịu
    Lệnh nào là "con" của lệnh nào thì thụt vào so với lệnh "mẹ" đấy.
    Ví dụ : if (...) thì tôi làm các công việc A,B,C :
    Thì các lệnh a, b, c là lệnh "con" với lệnh if
    -> Mô tả như sau
    C++ Code:
    1.     if(...)
    2.     {
    3.          lệnh a; // Mấy lệnh này "anh em" với nhau nên đứng ngang hàng
    4.          lệnh b;
    5.          lệnh c;
    6.     }
    7.    // Chỗ này tôi làm câu lệnh n chẳng hạn;
    8.    câu lệnh n;  // Lệnh n này anh em với lệnh if kia nên nó đứng ngang hàng
    Nhìn rõ ràng, dễ theo dõi hơn rồi đúng ko ?
    - Mỗi lệnh viết trên 1 dòng. Tập cách đó đi
    Um Mani Padme Hum...!!

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

    Mặc định sắp xếp struct sinh viên theo điểm trung binh tăng dẫn

    Trích dẫn Nguyên bản được gửi bởi clchicken Xem bài viết
    Lệnh nào là "con" của lệnh nào thì thụt vào so với lệnh "mẹ" đấy.
    Ví dụ : if (...) thì tôi làm các công việc A,B,C :
    Thì các lệnh a, b, c là lệnh "con" với lệnh if
    -> Mô tả như sau
    C++ Code:
    1.     if(...)
    2.     {
    3.          lệnh a; // Mấy lệnh này "anh em" với nhau nên đứng ngang hàng
    4.          lệnh b;
    5.          lệnh c;
    6.     }
    7.    // Chỗ này tôi làm câu lệnh n chẳng hạn;
    8.    câu lệnh n;  // Lệnh n này anh em với lệnh if kia nên nó đứng ngang hàng
    Nhìn rõ ràng, dễ theo dõi hơn rồi đúng ko ?
    - Mỗi lệnh viết trên 1 dòng. Tập cách đó đi
    cám ơn anh

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

  1. Bài tập C Hàm struct , tìm kiếm sinh viên theo mã sinh viên
    Gửi bởi doxuanly trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 12-11-2012, 05:15 PM
  2. MS SQL Lỗi Lỗi với StoreProceduce đánh mã sinh viên tự động tăng theo công thức
    Gửi bởi UocMoKhongChoDoi trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 2
    Bài viết cuối: 02-06-2012, 12:11 AM
  3. Bài tập C++ In ra các sinh viên có điểm cao nhất và sắp xếp tăng dần theo điểm Toán
    Gửi bởi hatumy 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: 24-09-2010, 06:25 PM
  4. Lập trình C menu struct sắp xếp sinh viên theo tên
    Gửi bởi cute_pro_xxx trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 26-01-2010, 08:21 AM
  5. Xuất danh sách tăng dần theo Tên Sinh Viên
    Gửi bởi binhkokomiA18 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 24-12-2008, 02:09 PM

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