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

Đề tài: Sắp xếp và phân loại sinh viên. Nhưng sao mình chưa làm được phân loại sinh viên, mong các pro giúp mình.

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

    Red face Đề: Sắp xếp và phân loại sinh viên. Nhưng sao mình chưa làm được phân loại sinh viên, mong các pro giúp mình.

    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <string.h>
    #include <malloc.h>
    #include <iostream>
    using namespace std;
    typedef struct
    {
        int ngay;
        int thang;
        int nam;
    }Date;
    
    struct SinhVien
    {
        char Hoten[30];
        char Lop[10];
        char Loai[5];
        Date Namsinh;
        float DTB;
    }SV[100];
    
    void Nhap(SinhVien SV[],int n)
    {
        int i;
        for(i=0;i<n;i++)
        {
            cout<<"\nSinh vien thu "<<i+1<<":";
            cout<<"\n\nTen: ";
            cin>>SV[i].Hoten;
            cout<<"\nNgay sinh: ";
            cin>>SV[i].Namsinh.ngay;
            cout<<"\nThang sinh: ";
            cin>>SV[i].Namsinh.thang;
            cout<<"\nNam sinh: ";
            cin>>SV[i].Namsinh.nam;
            cout<<"\nLop: ";
            cin>>SV[i].Lop;
            cout<<"\nDiem trung binh: ";
            cin>>SV[i].DTB;
        }
    }
    void XepLoai(SinhVien SV[],int n)
    {
        int i;
        for(i=0;i<n;i++)
        {
            if(SV[i].DTB>=3.2)
            strcpy(SV[i].Loai,"Gioi");
            if(SV[i].DTB<3.2 && SV[i].DTB>=2.5)
                strcpy(SV[i].Loai,"Kha");
            if(SV[i].DTB<2.5 && SV[i].DTB>1)
                strcpy(SV[i].Loai,"Trung binh");
            if(SV[i].DTB<=1)
                strcpy(SV[i].Loai,"Yeu");
        }
    
    }
    void In(SinhVien SV[],int n)
    {
        int i;
        cout<<"\n\nThong tin sinh vien.";
        for(i=0;i<n;i++)
        {
            cout<<"\n";
            cout<<"\nSinh vien thu "<<(i+1)<<": "
            <<"-Ten: "<<SV[i].Hoten<<" -Nam sinh: "<<SV[i].Namsinh.ngay<<"/"<<SV[i].Namsinh.thang<<"/"<<SV[i].Namsinh.nam
            <<" -Lop: "<<SV[i].Lop<<" -Diem trung binh: "<<SV[i].DTB;
        }
    }
    void SapXep(SinhVien SV[],int n)
    {
    	SinhVien temp;
    	for(int i=0;i<n-1;++i)
    		for(int j=i;j<n;++j)
    			if(strcmp(SV[i].Hoten,SV[j].Hoten)>0)
    			{
    				temp=SV[i];
    				SV[i]=SV[j];
    				SV[j]=temp;
    			}
    }
    int main()
    {
        int n;
        cout<<"\nNhap so nguoi: ";
        cin>>n;
        Nhap(SV,n);
        In(SV,n);
        cout<<"\n\nSau khi sap xep: ";
        SapXep(SV,n);
        In(SV,n);
        getch();
        return 0;
    
    
    }
    Đã được chỉnh sửa lần cuối bởi lecongtinh : 14-09-2011 lúc 09:38 PM.

  2. #2
    Ngày gia nhập
    01 2011
    Nơi ở
    \WINDOWS\Assembly\
    Bài viết
    54

    bạn phải nói là bị lỗi nào, ở đâu. chứ quăng một đống mã vậy aj giúp được

  3. #3
    Ngày gia nhập
    12 2010
    Nơi ở
    Cần thơ
    Bài viết
    273

    Code của bác nên bao bằng Tag Code

    C++ Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3. #include <string.h>
    4. #include <malloc.h>
    5. #include <iostream>
    6. typedef struct
    7. {
    8.     int ngay;
    9.     int thang;
    10.     int nam;
    11. }Date;
    12.  
    13. struct SinhVien
    14. {
    15.     char Hoten[30];
    16.     char Lop[10];
    17.     char Loai[5];
    18.     Date Namsinh;
    19.     float DTB;
    20. }SV[100];
    21.  
    22. void Nhap(SinhVien SV[],int n)
    23. {
    24.     int i;
    25.     for(i=0;i<n;i++)
    26.     {
    27.         cout<<"\nSinh vien thu "<<(i+1)<<":";   //Cho nay phai dong ngoac
    28.         cout<<"\n\nTen: ";
    29.         cin>>SV[i].Hoten;
    30.         cout<<"\nNgay sinh: ";
    31.         cin>>SV[i].Namsinh.ngay;
    32.         cout<<"\nThang sinh: ";
    33.         cin>>SV[i].Namsinh.thang;
    34.         cout<<"\nNam sinh: ";
    35.         cin>>SV[i].Namsinh.nam;
    36.         cout<<"\nLop: ";
    37.         cin>>SV[i].Lop;
    38.         cout<<"\nDiem trung binh: ";
    39.         cin>>SV[i].DTB;
    40.     }
    41. }
    42. void XepLoai(SinhVien SV[],int n)
    43. {
    44.     int i;
    45.     for(i=0;i<n;i++)
    46.     {
    47.         if(SV[i].DTB>=3.2)
    48.         strcpy(SV[i].Loai,"Gioi");
    49.         if(SV[i].DTB<3.2 && SV[i].DTB>=2.5)
    50.         strcpy(SV[i].Loai,"Kha");
    51.         if(SV[i].DTB<2.5 && SV[i].DTB>1)
    52.         strcpy(SV[i].Loai,"Trung binh");
    53.         if(SV[i].DTB<=1)
    54.         strcpy(SV[i].Loai,"Yeu");
    55.     }
    56. }
    57. void In(SinhVien SV[],int n)
    58. {
    59.     int i;
    60.     cout<<"\n\nThong tin sinh vien.";
    61.     for(i=0;i<n;i++)
    62.     {
    63.         cout<<"\n";
    64.         cout<<"\nSinh vien thu "<<(i+1)<<": "
    65.         <<"-Ten: "<<SV[i].Hoten<<" -Nam sinh: "<<SV[i].Namsinh.ngay<<"/"<<SV[i].Namsinh.thang<<"/"<<SV[i].Namsinh.nam
    66.         <<" -Lop: "<<SV[i].Lop<<" -Diem trung binh: "<<SV[i].DTB;
    67.     }
    68. }
    69. void SapXep(SinhVien SV[],int n)
    70. {
    71.     SinhVien temp;
    72.     for(int i=0;i<n-1;i++)
    73.         for(int j=i+1;j<n;j++)
    74.             if(strcmp(SV[i].Hoten,SV[j].Hoten)>0)
    75.             {
    76.                 temp=SV[i];
    77.                 SV[i]=SV[j];
    78.                 SV[j]=temp;
    79.             }
    80. }
    81. int main()
    82. {
    83.     int n;
    84.     cout<<"\nNhap so nguoi: ";
    85.     cin>>n;
    86.     Nhap(SV,n);
    87.     XepLoai(SV,n); //vấn đề là chưa có cái này
    88.     In(SV,n);
    89.     cout<<"\n\nSau khi sap xep: ";
    90.     SapXep(SV,n);
    91.     In(SV,n);
    92.     getch();
    93.     return 0;
    94. }
    Đã được chỉnh sửa lần cuối bởi azurelonely : 14-09-2011 lúc 10:00 PM.
    Ai bất tài, tôi nhìn hoài chẳng thấy,
    Đi khắp phòng tôi lấy 1 tấm gương,
    Khẽ đặt lên một góc phía bức tường,
    Nhìn vào đó, tôi tận tường kẻ đó.

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

  1. ADO.NET Lấy điểm trên textbox để xếp loại cho sinh viên
    Gửi bởi xuykaa trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 18-07-2011, 08:50 AM
  2. Xử lý danh sách sinh viên bằng liên kết đơn. Mong mọi người chỉ giúp
    Gửi bởi zalrol trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 18-01-2011, 08:07 PM
  3. Bài tập C Bài toán xếp loại nhiều sinh viên - help !!
    Gửi bởi herald305 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: 27-10-2010, 07:04 PM
  4. Về bài quản lý sinh viên bị sai chỗ nào em không sửa được . Mong các Bro chỉ giúp !
    Gửi bởi huynhsinh trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 18-07-2009, 12:03 PM
  5. Quản lý sinh viên bằng C++. Mong mọi người chỉ giúp?
    Gửi bởi tranmanh 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: 27-05-2009, 10:33 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