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

Đề tài: ai giúp e với bài quản lý học viên cái :(

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

    Mặc định ai giúp e với bài quản lý học viên cái :(

    Tạo 1 menu thực hiện các công việc sau:
    1.Nhập danh sách có kiểu học viên vào 1 mảng, mỗi học viên có các thông tin sau:maso(int),hoten(chuỗi tối đa 30 ký tự),phái(NAM/NU), điểm(float),hạng(unsigned char). Quá trình nhập sẽ dừng lại khi mã số nhập vào là 0.
    2.Liệt kê danh sách học viên ra màn hình theo dạng sau:
    Ma so Ho va ten phai diem hang
    3.Tìm kiếm một học viên trong danh sách theo mã sô,và in ra các thông tin còn lại của học viên đó.
    4.Sắp xếp danh sách học viên theo thứ tự tăng dần
    5.Giả sử danh sách học viên đã có thứ tự tăng dần theo điểm; Nhập thêm 1 học viên sao cho sau khi nhập thì danh sách vẫn còn có thứ tự.
    6.Cập nhật sửa lỗi các mẫu tin theo mã số(Nhập mã số, sau đó hiệu chỉnh họ tên,phái , điểm).
    7.Loại bỏ 1 học viên ra khỏi danh sách dựa vào mã số.

    đây là bài em viết trên C-Free ai xem sửa dùm em với

    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #include<string.h>
    4. #include<stdlib.h>
    5. struct hocvien
    6. {
    7.     int maso;
    8.     char hoten[30];
    9.     char phai;
    10.     float diem;
    11.      char hang;
    12. };
    13. //-----------------------------------------------------------------------
    14. void nhapDanhsachhocvien(hocvien dshv[], int *n);
    15. void lietkeDanhsachhocvien(hocvien dshv[], int n);
    16. int timHocvientheomaso(hocvien dshv[], int n, int *macantim );
    17. void sapxepHocvientheodiem(hocvien dshv[], int n);
    18. void nhapthem1Hocvien(hocvien dshv[], int n);
    19. void capnhattheomaso(hocvien dshv[], int n ,int *macansua);
    20. void loaibotheomaso(hocvien dshv[], int *n ,int *macanloaibo);
    21. //-----------------------------------------------------------------------
    22. int main()
    23. {
    24.     struct hocvien hv;
    25.     struct hocvien lop[100];
    26.     char hoten[30];
    27.     int maso;
    28.     int n =0;
    29.     int vitri;
    30.     int chon;
    31.     do 
    32. {
    33.    
    34.  
    35.     system("cls");
    36.     printf("\n***************************************************");
    37.     printf("\n* 1.Nhap danh sach hoc vien moi                   *");
    38.     printf("\n* 2.Liet ke danh sach hoc vien                    *");
    39.     printf("\n* 3.Tim kiem hoc vien theo ma so                  *");
    40.     printf("\n* 4.Sap xep danh sach hoc vien theo diem tang dan *");
    41.     printf("\n* 5.Nhap them mot hoc vien                        *");
    42.     printf("\n* 6.Cap nhat sua doi mau tin theo ma so           *");
    43.     printf("\n* 7.Loai bo mot hoc vien theo ma so               *");
    44.     printf("\n* 8.Thoat chuong trinh                            *");  
    45.     printf("\n***************************************************");
    46.     printf("\n\nBan chon chuc nang nao ? :");
    47.     scanf("%d", &chon);
    48.     switch(chon)
    49.     {
    50.         case 1:
    51.         nhapDanhsachhocvien(lop, &n);
    52.         break;
    53.        
    54.         case 2:
    55.         lietkeDanhsachhocvien(lop, n);
    56.         break;
    57.        
    58.         case 3:
    59.         printf("\n Nhap ma so hoc vien can tim :");
    60.         fflush(stdin);
    61.         scanf("%d",&maso);
    62.         vitri =timHocvientheomaso(lop , n , maso);
    63.         if (vitri>-1)
    64.         {
    65.             printf("\n %6d %-25s %3s %2f %3s","Ma so","Ten hoc vien","Gioi tinh","Diem","Hang");
    66.             hv=lop[vitri];
    67.             printf("\n %6d %-25s %3s %2f %3s",hv.maso,hv.hoten,hv.phai,hv.diem,hv.hang)
    68.         }
    69.         else
    70.         printf("\n Khong tim thay hoc vien !");
    71.         break;
    72.        
    73.         case 4:sapxepHocvientheodiem(lop, n);
    74.         break;
    75.        
    76.         case 5:
    77.         printf("\n Tim thay hoc vien");
    78.         printf("\n Chon thu tu can sua doi ");
    79.        
    80.        
    81.         case 6:
    82.         printf("\n Cap nhat thong tin hoc vien ");
    83.         fflush(stdin);
    84.         scanf("%d",&maso);
    85.         capnhattheomaso(lop , n ,maso);
    86.         break;
    87.        
    88.         case 7:
    89.         printf("\n Loai bo thong tin hoc vien ");
    90.         fflush(stdin);
    91.         scanf("%d",&maso);
    92.         loaibotheomaso(lop , &n , maso);
    93.         break;
    94.        
    95.         case 8:
    96.         exit(0);
    97.         break;
    98.         default: printf("\n Ban chon sai chuc nang !!!");
    99.     }
    100.      getch();
    101. }
    102. while(true);
    103. }
    104. void nhapDanhsachhocvien(hocvien dshv[], int *n);
    105. {
    106.     struct hocvien hv;
    107.     printf("\n Nhap thong tin hoc vien moi:");
    108.     printf("\n Nhap ma so:");
    109.     scanf("%d", &hv.maso);
    110.     fflush(stdin);
    111.     printf("\n Nhap ten hoc vien:");
    112.     gets(hv.hoten);
    113.     printf("\n Nhap gioi tinh:");
    114.     scanf("%c", &hv.phai);
    115.     printf("\n Nhap diem :");
    116.     scanf("%f",&hv.diem);
    117.     printf("\n Nhap hang :");
    118.     scanf("%c",&hv.hang);
    119.    
    120.     dshv[*n]=hv;
    121.     (*n)++;
    122.    
    123.  
    124. }
    125. void lietkeDanhsachhocvien(hocvien dshv[],int n)
    126. {
    127.     struct hocvien hv;
    128.     printf("\n %5s %6s %-25s %3s %2f %3f","STT","Ma so","Ten hoc vien","Gioi tinh","Diem","Hang");
    129.     for(int i=0;i<n;i++)
    130.     {
    131.         hv=dshv[i];
    132.         printf("\n %5s %6s %-25s %3s %2f %3f",i+1,hv.maso, hv.hoten, hv.phai, hv.diem, hv.hang);
    133.        
    134.     }
    135. }
    136. int timHocvientheomaso(hocvien dshv[],int n,int *macantim)
    137. {
    138.     struct hocvien hv;
    139.     for(int i=0;i<n;i++)
    140.     {
    141.         hv=dshv[i];
    142.         if(strcmp(hv.maso,macantim)==0)
    143.         return i;
    144.     }
    145.     return -1;
    146. }
    147. void sapxepHocvientheodiem(hocvien dshv[],int n)
    148. {
    149.     int i,j;
    150.     struct hocvien hv;
    151.     for(i=0;i<n-1;i++)
    152.     for (j=i+1;j<n;j++)
    153.     if(dshv[i].diem>dshv[j].diem)
    154.     {
    155.         hv=dshv[i];
    156.         dshv[i]=dshv[j];
    157.         dshv[j]=hv;
    158.     }
    159. }
    160. void nhapthem1Hocvien(hocvien dshv[],int n)
    161. {
    162.    
    163. }
    164.  
    165. void capnhattheomaso(hocvien dshv[],int n,int *macansua)
    166. {
    167.     int vitri;
    168.     vitri=timHocvientheomaso(hocvien dshv[],int n,int *macansua);
    169.     if(vitri>-1)
    170.     {
    171.         struct hocvien hv;
    172.         printf("\n Nhap ma hoc vien can sua !");
    173.         printf("\n Nhap ma hoc vien :");
    174.         scanf("%d",&hv.maso);
    175.         fflush(stdin);
    176.         printf("\n Nhap ten hoc vien :");
    177.         gets(hv.hoten);
    178.         printf("\n Nhap phai :");
    179.         scanf("%c",&hv.phai);
    180.         printf("\n Nhap diem :");
    181.         scanf("%f",&hv.diem);
    182.         printf("\n Nhap hang :");
    183.         scanf("%c",&hv.hang);
    184.        
    185.         dshv[vitri]=hv;
    186.         printf("\n Thong tin hoc vien da duoc thay doi !");
    187.     }
    188.     else
    189.     printf("\n Khong tim thay ");
    190. }
    191. void loaibotheomaso(hocvien dshv[],int *n,int *macanloaibo)
    192. {
    193.     int vitri;
    194.     vitri=timHocvientheomaso(dshv, *n, macanloaibo);
    195.     if(vitri>-1)
    196.     {
    197.         for(int i=vitri;i<*n-1;i++)
    198.         dshv[i]=dshv[i+1];
    199.         *n=*n-1;
    200.         printf("\n Thong tin hoc vien da duoc xoa ");
    201.     }
    202.     else
    203.     printf("\n Khong tim thay ");
    204. }
    Đã được chỉnh sửa lần cuối bởi beautifulsoul84hung : 27-02-2012 lúc 07:53 PM. Lý do: thêm code tag

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

    Sao bạn không cho vào TAG [CODE] cho dễ nhìn, đau mắt quá

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

    Trích dẫn Nguyên bản được gửi bởi danganhhao Xem bài viết
    Tạo 1 menu thực hiện các công việc sau:
    1.Nhập danh sách có kiểu học viên vào 1 mảng, mỗi học viên có các thông tin sau:maso(int),hoten(chuỗi tối đa 30 ký tự),phái(NAM/NU), điểm(float),hạng(unsigned char). Quá trình nhập sẽ dừng lại khi mã số nhập vào là 0.
    2.Liệt kê danh sách học viên ra màn hình theo dạng sau:
    Ma so Ho va ten phai diem hang
    3.Tìm kiếm một học viên trong danh sách theo mã sô,và in ra các thông tin còn lại của học viên đó.
    4.Sắp xếp danh sách học viên theo thứ tự tăng dần
    5.Giả sử danh sách học viên đã có thứ tự tăng dần theo điểm; Nhập thêm 1 học viên sao cho sau khi nhập thì danh sách vẫn còn có thứ tự.
    6.Cập nhật sửa lỗi các mẫu tin theo mã số(Nhập mã số, sau đó hiệu chỉnh họ tên,phái , điểm).
    7.Loại bỏ 1 học viên ra khỏi danh sách dựa vào mã số.

    đây là bài em viết trên C-Free ai xem sửa dùm em với
    #include<stdio.h>
    #include<conio.h>
    #include<string.h>
    #include<stdlib.h>
    struct hocvien
    {
    int maso;
    char hoten[30];
    char phai;
    float diem;
    char hang;
    };
    //-----------------------------------------------------------------------
    void nhapDanhsachhocvien(hocvien dshv[], int *n);
    void lietkeDanhsachhocvien(hocvien dshv[], int n);
    int timHocvientheomaso(hocvien dshv[], int n, int *macantim );
    void sapxepHocvientheodiem(hocvien dshv[], int n);
    void nhapthem1Hocvien(hocvien dshv[], int n);
    void capnhattheomaso(hocvien dshv[], int n ,int *macansua);
    void loaibotheomaso(hocvien dshv[], int *n ,int *macanloaibo);
    //-----------------------------------------------------------------------
    int main()
    {
    struct hocvien hv;
    struct hocvien lop[100];
    char hoten[30];
    int maso;
    int n =0;
    int vitri;
    int chon;
    do
    {


    system("cls");
    printf("\n**************************************** ***********");
    printf("\n* 1.Nhap danh sach hoc vien moi *");
    printf("\n* 2.Liet ke danh sach hoc vien *");
    printf("\n* 3.Tim kiem hoc vien theo ma so *");
    printf("\n* 4.Sap xep danh sach hoc vien theo diem tang dan *");
    printf("\n* 5.Nhap them mot hoc vien *");
    printf("\n* 6.Cap nhat sua doi mau tin theo ma so *");
    printf("\n* 7.Loai bo mot hoc vien theo ma so *");
    printf("\n* 8.Thoat chuong trinh *");
    printf("\n**************************************** ***********");
    printf("\n\nBan chon chuc nang nao ? :");
    scanf("%d", &chon);
    switch(chon)
    {
    case 1:
    nhapDanhsachhocvien(lop, &n);
    break;

    case 2:
    lietkeDanhsachhocvien(lop, n);
    break;

    case 3:
    printf("\n Nhap ma so hoc vien can tim :");
    fflush(stdin);
    scanf("%d",&maso);
    vitri =timHocvientheomaso(lop , n , maso);
    if (vitri>-1)
    {
    printf("\n %6d %-25s %3s %2f %3s","Ma so","Ten hoc vien","Gioi tinh","Diem","Hang");
    hv=lop[vitri];
    printf("\n %6d %-25s %3s %2f %3s",hv.maso,hv.hoten,hv.phai,hv.diem,hv.hang)
    }
    else
    printf("\n Khong tim thay hoc vien !");
    break;

    case 4:sapxepHocvientheodiem(lop, n);
    break;

    case 5:
    printf("\n Tim thay hoc vien");
    printf("\n Chon thu tu can sua doi ");


    case 6:
    printf("\n Cap nhat thong tin hoc vien ");
    fflush(stdin);
    scanf("%d",&maso);
    capnhattheomaso(lop , n ,maso);
    break;

    case 7:
    printf("\n Loai bo thong tin hoc vien ");
    fflush(stdin);
    scanf("%d",&maso);
    loaibotheomaso(lop , &n , maso);
    break;

    case 8:
    exit(0);
    break;
    default: printf("\n Ban chon sai chuc nang !!!");
    }
    getch();
    }
    while(true);
    }
    void nhapDanhsachhocvien(hocvien dshv[], int *n);
    {
    struct hocvien hv;
    printf("\n Nhap thong tin hoc vien moi:");
    printf("\n Nhap ma so:");
    scanf("%d", &hv.maso);
    fflush(stdin);
    printf("\n Nhap ten hoc vien:");
    gets(hv.hoten);
    printf("\n Nhap gioi tinh:");
    scanf("%c", &hv.phai);
    printf("\n Nhap diem :");
    scanf("%f",&hv.diem);
    printf("\n Nhap hang :");
    scanf("%c",&hv.hang);

    dshv[*n]=hv;
    (*n)++;


    }
    void lietkeDanhsachhocvien(hocvien dshv[],int n)
    {
    struct hocvien hv;
    printf("\n %5s %6s %-25s %3s %2f %3f","STT","Ma so","Ten hoc vien","Gioi tinh","Diem","Hang");
    for(int i=0;i<n;i++)
    {
    hv=dshv[i];
    printf("\n %5s %6s %-25s %3s %2f %3f",i+1,hv.maso, hv.hoten, hv.phai, hv.diem, hv.hang);

    }
    }
    int timHocvientheomaso(hocvien dshv[],int n,int *macantim)
    {
    struct hocvien hv;
    for(int i=0;i<n;i++)
    {
    hv=dshv[i];
    if(strcmp(hv.maso,macantim)==0)
    return i;
    }
    return -1;
    }
    void sapxepHocvientheodiem(hocvien dshv[],int n)
    {
    int i,j;
    struct hocvien hv;
    for(i=0;i<n-1;i++)
    for (j=i+1;j<n;j++)
    if(dshv[i].diem>dshv[j].diem)
    {
    hv=dshv[i];
    dshv[i]=dshv[j];
    dshv[j]=hv;
    }
    }
    void nhapthem1Hocvien(hocvien dshv[],int n)
    {

    }

    void capnhattheomaso(hocvien dshv[],int n,int *macansua)
    {
    int vitri;
    vitri=timHocvientheomaso(hocvien dshv[],int n,int *macansua);
    if(vitri>-1)
    {
    struct hocvien hv;
    printf("\n Nhap ma hoc vien can sua !");
    printf("\n Nhap ma hoc vien :");
    scanf("%d",&hv.maso);
    fflush(stdin);
    printf("\n Nhap ten hoc vien :");
    gets(hv.hoten);
    printf("\n Nhap phai :");
    scanf("%c",&hv.phai);
    printf("\n Nhap diem :");
    scanf("%f",&hv.diem);
    printf("\n Nhap hang :");
    scanf("%c",&hv.hang);

    dshv[vitri]=hv;
    printf("\n Thong tin hoc vien da duoc thay doi !");
    }
    else
    printf("\n Khong tim thay ");
    }
    void loaibotheomaso(hocvien dshv[],int *n,int *macanloaibo)
    {
    int vitri;
    vitri=timHocvientheomaso(dshv, *n, macanloaibo);
    if(vitri>-1)
    {
    for(int i=vitri;i<*n-1;i++)
    dshv[i]=dshv[i+1];
    *n=*n-1;
    printf("\n Thong tin hoc vien da duoc xoa ");
    }
    else
    printf("\n Khong tim thay ");
    }
    ư
    Trời ạ, code của bạn quá ư la nghiệp dư, sai toàn lỗi cú pháp
    Hàm timHocvientheomaso, capnhattheomaso, đối thứ 3 là pointer thì tham số truyền vào cũng phải là pointer.
    Dòng 67 thiếu dấu ";"
    Dòng 104 khai báo hàm mà thêm dấu ;
    Hàm timHocvientheomaso, so sánh 2 số nguyên mà dụng lệnh so sánh chuỗi để so sánh sao?
    Quá nhiều lỗi căn bản cho 1 bài tập mức độ vừa phải. Bạn nên tập sửa lỗi rồi hãy hỏi, sau này đi làm không thể đem dự án công ty lên diễn đàn để hỏi đâu
    Code is more than binary. Its poetry

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

    Sax.
    Đầu bài đã quăng cho 1 đống và không nói năng gì thêm. Giờ có người đi quote lại đống đó nữa.
    Nhìn vào là bưa chè chả muốn làm gì hơn. Cuộn scroll mệt nghỉ
    Chủ đề này xứng đáng nhận danh hiệu : Cục rác
    Um Mani Padme Hum...!!

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

  1. Bài tập về quản lý Nhân viên cần giúp đỡ !
    Gửi bởi wanbimonkeyuit trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 10-02-2011, 06:10 PM
  2. Xđề tài Quản Lý nhân viên. Xin giúp đỡ về ý tưởng?
    Gửi bởi hoangedward trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 10-10-2009, 09:26 AM
  3. Bài quản lí nhân viên. Giúp mình sửa lỗi với?
    Gửi bởi tphucle trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 03-06-2009, 11:37 PM
  4. Bài quản lý nhân viên, giúp mình tìm lỗi bài này với?
    Gửi bởi tuananh88 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 11-05-2009, 08:56 PM
  5. Bài tập C++( Quản lý giáo viên ),đang làm cần giúp đỡ
    Gửi bởi barca_ncd 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: 12-08-2008, 07:49 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