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

Đề tài: Sắp xếp sinh viên theo tên

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

    Mặc định Sắp xếp sinh viên theo tên

    Các bạn giúp mình bài tập nhé
    Viết 1 chương trình sử dụng cấu trúc sinh viên gồm có :tên; điểm .Và hãy in ra các sinh viên theo thứ tự tên a,b,c.........cùng với điểm của họ

  2. #2
    Ngày gia nhập
    08 2008
    Bài viết
    46

    bạn sẽ bị mắng nếu không tự làm, rồi vướng đâu hỏi đó đấy.
    Hạnh phúc luôn đợi ta mỉn cười lại với nó.(^,,^).

  3. #3
    Ngày gia nhập
    08 2008
    Nơi ở
    Hanoi, Vietnam, Vietnam
    Bài viết
    191

    Trích dẫn Nguyên bản được gửi bởi tranvanluan2 Xem bài viết
    Các bạn giúp mình bài tập nhé
    Viết 1 chương trình sử dụng cấu trúc sinh viên gồm có :tên; điểm .Và hãy in ra các sinh viên theo thứ tự tên a,b,c.........cùng với điểm của họ
    Có lẽ bạn chưa thể so sánh được 2 chuỗi phải không ?
    Bạn hãy sử dụng lệnh strcmp(char *chuoi1,char *chuoi2) thử xem

    Fb-Skype-Mail : leemanhj916 [@gmail.com]

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

    PHP Code:
    # include<iostream.h>
    # include<conio.h>
    # include<string.h>
    # include<iomanip.h>

    struct sinhvien
    {
          
    char ht[100];
          
    int diem;

    };

    sinhvien *sv;
    int ssv;
    void nhapsv()
    {
             
    cout<<"Nhap so sinh vien:";
             
    cin>>ssv;
             
    sv=new sinhvien[ssv];
             
    cin.ignore();
             for(
    int i=0;i<ssv;i++)

             {     
    cout<<"----------------------------------"<<endl;
                     
    cout<<"Sinh vien thu "<<i+1<<endl;
                     
    cout<<"Nhap ho ten:";
                     
    cin.getline(sv[i].ht,100);
                     
    cout<<"Nhap diem:";
                     
    cin>>sv[i].diem;
                     
    cin.ignore();

                }

    }
    const 
    chartachten(const sinhvien &a)
    {
             
    char s[100];
             
    int n=strlen(a.ht);

             for(
    int i=0;a.ht[i]!=' ';i++)

                     
    s[i]=a.ht[n-1-i];
             
    s[i]=0;
             
    strrev(s);
             return 
    s;

    }
    void hoanvisinhvien &a,sinhvien &b)
    {
             
    sinhvien c;
             
    c=a;
             
    a=b;
             
    b=c;

    }
    void sapxepten()
    {       
    int t,n;
              for(
    int i=0;i<ssv-1;i++)
                          for(
    int j=i+1;j<ssv;j++)

                          {    
    tstrcmp(tachten(sv[i]),tachten(sv[j])) ;
                                if(
    t>0)
                                      {   
    hoanvi(sv[i],sv[j]);

                                      }

                                if (
    t==0)
                                     {   
    n=strcmp(sv[i].ht,sv[j].ht) ;
                                          if(
    n>0)
                                             {   
    hoanvi(sv[i],sv[j]);

                                             }
                                     }
                            }
    }


    void insv()
    {
             
    cout<<"---------------------------------------"<<endl;
             
    cout<<setw(20)<<"Ho ten"<<"|"<<setw(10)<<"Diem"<<endl;
             for(
    int i=0;i<ssv;i++)

                 {
                      
    cout<<setw(20)<<sv[i].ht<<setw(10)<<sv[i].diem<<endl;

                 }

    }
    int main()
    {               
    clrscr();
             
    nhapsv();
             
    cout<<setw(40)<<"Truoc khi sap xep ten:"<<endl;
             
    insv();
             
    cout<<setw(40)<<"sau khi sap xep theo ten:"<<endl;
             
    sapxepten();
             
    insv();
             return 
    0;
             
    getch();

    Tớ mới tập viết trên struct nên chỗ nào thiếu mọi người bổ sung nhé .
    Đã được chỉnh sửa lần cuối bởi thangit : 02-12-2008 lúc 04:47 PM.
    Rất mong được mọi người giúp đỡ :

    Kiến thức mình biết chỉ là hạt cát trên sa mạc

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

    lâu lâu sờ lại C viết chậm hẳn, có gì sai sót anh em góp mý nhé

    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3. #include <string.h>
    4. struct sinhvien
    5. {
    6.     char hoten[30];
    7.    int diem;
    8. };
    9.  
    10. void nhap(sinhvien sv[],int n)
    11. {
    12.    int i;
    13.     for(i=0;i<n;i++)
    14.    {
    15.       fflush(stdin);
    16.     printf("\nNhap ten sinh vien %d:",i+1);
    17.       gets(sv[i].hoten);
    18.       printf("\nNhap diem:");
    19.       scanf("%d",&sv[i].diem);
    20.    }
    21. }
    22. void xuat(sinhvien sv[],int n)
    23. {
    24.     int i;
    25.    printf("\n-------------------------");
    26.    printf("\n|    Ho Ten    |  Diem  |");
    27.    printf("\n-------------------------");
    28.    for(i=0;i<n;i++)
    29.    {
    30.     printf("\n|%-14s|%8d|",sv[i].hoten,sv[i].diem);
    31.    }
    32.    printf("\n-------------------------");
    33. }
    34. void sapxep(sinhvien sv[],int n)
    35. {
    36.     int i,j;
    37.    sinhvien temp;
    38.    for(i=0;i<n-1;i++)
    39.     for(j=i+1;j<n;j++)
    40.     {
    41.         if(strcmp(sv[i].hoten,sv[j].hoten)>0)
    42.          {
    43.             temp=sv[i];
    44.             sv[i]=sv[j];
    45.             sv[j]=temp;
    46.          }
    47.     }
    48.       xuat(sv,n);
    49.  
    50. }
    51.  
    52. void main()
    53. {
    54.     int n;
    55.    sinhvien danhsach[30];
    56.    printf("\nNhap so sinh vien:");
    57.    scanf("%d",&n);
    58.    nhap(danhsach,n);
    59.    sapxep(danhsach,n);
    60.    getch();
    61.  
    62. }

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

    Post Sắp xếp sinh viên theo tên

    the lỡ mình phải tìm kiếm sinh viên theo kiểu cây nhi phân thì thuật toán thế nào máy bạn...? hay cho mình chút ý tưởng kủng được!

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

    ^ : Nếu cây nhị phân bạn đã được trồng lên theo kiểu cây nhị phân tìm kiếm thì cứ thực hiện duyệt theo kiểu nhị phân tìm kiếm thì sẽ nhanh chóng ra kết quả.
    Nếu là cây nhị phân bình thường thì ko còn cách nào khác là phải duyệt toàn bộ cây.
    Um Mani Padme Hum...!!

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

    ak nghĩa là giờ mình vẩn giữ lại kái thuật toán nhập đấy fải không, xong rùi mình làm tiếp khởi tạo theo cây nhị phân! Nhưng mà ý mình ở đây là tìm kiếm tên sinh viên theo cây nhị phân ak! có nhất thiết phải duyệt trước, giữa và sau không!

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

    Bạn duyệt thế nào cũng được. Miễn sao phải điểm danh toàn bộ các nút để ta "khám" xem đứa nào đúng chuẩn thì xuất ra
    Um Mani Padme Hum...!!

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

    hehe nảo đả thông tks hj?

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

  1. Bài tập C nhập vào tên sinh viên gồm.và sắp xếp tên sinh viên tăng dần theo danh sách đả nhập
    Gửi bởi nghiapro2589 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 26-05-2013, 08:23 AM
  2. Sắp xếp danh sách sinh viên theo họ và tên
    Gửi bởi neo.one trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 06-04-2011, 10:56 PM
  3. Quản lý sinh viên: Lọc tên sinh viên theo một tên cho trước
    Gửi bởi luannguyenit trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 31-08-2010, 04:19 PM
  4. Chương trình quản lý sinh viên viết bằng C. Làm sao tìm kiếm sinh viên theo tên và sắp xếp?
    Gửi bởi linhdong24 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 24-06-2009, 12:53 AM
  5. hỏi về cách sắp xếp tên sinh viên theo bảng chữ cái abc
    Gửi bởi quicksilver89 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 15-03-2009, 09:47 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