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

Đề tài: sửa lỗi dùm mấy bác(quản lí nhân viên)

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

    Angry sửa lỗi dùm mấy bác(quản lí nhân viên)

    Code:
    #include <stdio.h>
    #include <conio.h>
    
    #define MaxNV 50
    #define BELL 8
    
    void khoitao(void);
    void nhapData(void);
    void inds(void);
    void tuoimax(void);
    void tuoimin(void);
    void luongmax(void);
    void luongmin(void);
    void About(void);
    void ThoatCT(void);
    
    struct kieunv
    {
       char manv[10];
       char hoten[40];
        int tuoi;
        long int luong;
       
    };
    struct kieunv NV[MaxNV];
    int index[MaxNV];
    int i,j;
    int N;
    int main()
    {
       int luachon;
       Khoitao();
       do
       {
    	  clrscr();
    	  printf("			        MENU CUA CHUONG TRINH");
    	  printf("\n   	  	    ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»");
    	  printf("\n   		    º 1.Nhap du lieu                 º");
    	  printf("\n   		    º 2.In DS nhan vien              º");
    	  printf("\n   		    º 3.In tuoi nhan vien lon nhat   º");
    	  printf("\n   		    º 4.In tuoi nhan vien nho nhat   º");
              printf(" \n               º 5.in luong nhan vien lon nhat  º");
              printf(" \n               º 6.in luong nhan vien nho nhat  º");
    	  printf("\n   		    º 7.Doi dieu ve tac gia.         º");
    	  printf("\n   		    º 8.Thoat khoi chuong trinh      º");
    	  printf("\n   		    ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ");
    	  printf("\n");
    	  printf("\n	Ban hay chon mot so:");
    	  scanf("%d",&luachon);
    	  switch (luachon)
    	  {
    		 case 1:NhapData();break;
    		 case 2:inds();break;
    		 case 3:tuoimax();break;
    		 case 4:tuoimin();break;
                     case 5:luongmax();break;
                     case 6:luongmin();break;
    		 case 7:About();break;
    		 case 8:{
    				ThoatCT();
    				return 0;
    				}
    		 default:{printf("Lua chon trong 1-8! %c",BELL);
    				  getch();
    				 }
    
    	  }
       }
       while (1);
    }
    void Khoitao()
    {
       N=0;
    }
    void NhapData(void)
    {
       int first=1;
       struct kieunv Temp;
       clrscr();
       do {
    	  printf("\nHay nhap so nhan vien:");
    	  scanf("%d",&N);
    	  if ((N<0)||(N>MaxNV))
    		 {
    		 if (first)
    			printf("%c",BELL);
    		 first=0;
    		 printf("\nSo sinh vien phai thuoc 1-%d",MaxNV,BELL);
    		 printf("\n Xin moi nhap lai!");
    		 }
    	  }
       while ((N<0)||(N>MaxNV));
       first=1;
       for (i=0;i<N;i++)
    	  {
    	  fflush(stdin);
    	  printf("\nNhap thong tin cua sinh vien thu %d",i+1);
    	  printf("\n      ÍÍÍÍÍÍÍÍÍÍo0oÍÍÍÍÍÍÍÍÍÍÍ");
    	  printf("\n   Ma sinh vien:");
    	  gets(Temp.manv);
    
    	  fflush(stdin);
    	  printf("\n   Ten sinh vien:");
    	  gets(Temp.hoten);
    	  do
    		{printf("\n   tuoi nhan vien:");
    		 scanf("%f",&Temp.tuoi);
    		 if ((Temp.tuoi<15) || (Temp.tuoi>150))
    			{
    			if (first) printf("%c",BELL);
    			first=0;
    			printf("\nXin loi, tuoi ban nhap khong hop le!");
    			printf("\nXin moi nhap lai tuoi nhan vien:");
    			}
    		}
    	  while ((Temp.tuoi<15)||(Temp.tuoi>150));
    
    	  fflush(stdin);
    	  first=1;
    	  do
    		{printf("\n    luong nhan vien :");
    		 scanf("%f",&Temp.luong);
    		 if ((Temp.luong<300000) || (Temp.luong>10000000))
    			{
    			if (first) printf("%c",BELL);
    			first=0;
    			printf("\nXin loi, luong ban nhap khong hop le!");
    			printf("\nXin moi nhap lai luong nhan vien :");
    			}
    		}
    	  while ((Temp.luong<300000)||(Temp.luong>100000000));
    
    	  NV[i]=Temp;
    	  }
       printf("Hoan thanh viec nhap....!");
       getch();
    }
    
    
    float GTLN()
    {
       float Tg;
       Tg=NV[0].tuoi;
       for (i=1;i<N;i++)
    	  if (Tg<NV[i].tuoi)
    		 Tg=NV[i].tuoi;
       return Tg;
    }
    void tuoimax(void)
    {
       float Max;
       clrscr();
       if (N==0)
    	  {
    	  printf("Chua co thong tin gi ca, khong the in duoc! %c",BELL);
    	  getch();
    	  goto CuoiThuTuc;
    	  }
       Max=GTLN();
       printf("\n         		DANH SACH NHAN VIEN CO TUOI  MAX:");
       printf("\n	ÉÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍ»");
       printf("\n	º   MaNV    ³      Ten NV       ³ Tuoi   ³ Luong  º");
       for (i=0;i<N;i++)
       if (NV[i].tuoi==Max)
       {
       printf("\nÇÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄĶ");
       printf("\n	º%11s³%19s³%11.2f³%10.2f³%11.2fº",
       NV[i].manv,NV[i].hoten,NV[i].tuoi,NV[i].luong);
    	
    	  getch();
       }
       printf("\n	ÈÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍͼ");
       getch();
       CuoiThuTuc:
    }
    float GTNN()
    {
       float Tg;
       Tg=NV[0].tuoi;
       for (i=1;i<N;i++)
    	  if (Tg>NV[i].tuoi)
    		 Tg=NV[i].tuoi;
       return Tg;
    }
    
    
    void tuoimin(void)
    {
       float Max;
       clrscr();
       if (N==0)
    	  {
    	  printf("Chua co thong tin gi ca, khong the in duoc! %c",BELL);
    	  getch();
    	  goto CuoiThuTuc;
    	  }
       Max=GTNN();
       printf("\n         		DANH SACH NHAN VIEN CO TUOI  MAX:");
       printf("\n	ÉÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍ»");
       printf("\n	º   MaNV    ³      Ten NV       ³ Tuoi   ³ Luong  º");
       for (i=0;i<N;i++)
       if (NV[i].tuoi==Min)
       {
       printf("\nÇÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄĶ");
       printf("\n	º%11s³%19s³%11.2f³%10.2f³%11.2fº",
       NV[i].manv,NV[i].hoten,NV[i].tuoi,NV[i].luong);
    	
    	  getch();
       }
       printf("\n	ÈÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍͼ");
       getch();
       CuoiThuTuc:
    }
    float GTLN()
    {
       float Tg;
       Tg=NV[0].tuoi;
       for (i=1;i<N;i++)
    	  if (Tg<NV[i].luong)
    		 Tg=NV[i].luong;
       return Tg;
    }
    void luongmax(void)
    {
       float Max;
       clrscr();
       if (N==0)
    	  {
    	  printf("Chua co thong tin gi ca, khong the in duoc! %c",BELL);
    	  getch();
    	  goto CuoiThuTuc;
    	  }
       Max=GTLN();
       printf("\n         		DANH SACH NHAN VIEN CO LUONG  MAX:");
       printf("\n	ÉÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍ»");
       printf("\n	º   MaNV    ³      Ten NV       ³ Tuoi   ³ Luong  º");
       for (i=0;i<N;i++)
       if (NV[i].tuoi==Max)
       {
       printf("\nÇÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄĶ");
       printf("\n	º%11s³%19s³%11.2f³%10.2f³%11.2fº",
       NV[i].manv,NV[i].hoten,NV[i].tuoi,NV[i].luong);
    	
    	  getch();
       }
       printf("\n	ÈÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍͼ");
       getch();
       CuoiThuTuc:
    }
    float GTNN()
    {
       float Tg;
       Tg=NV[0].luong;
       for (i=1;i<N;i++)
    	  if (Tg>NV[i].luong)
    		 Tg=NV[i].luong;
       return Tg;
    }
    
    
    void luongmin(void)
    {
       float Min;
       clrscr();
       if (N==0)
    	  {
    	  printf("Chua co thong tin gi ca, khong the in duoc! %c",BELL);
    	  getch();
    	  goto CuoiThuTuc;
    	  }
       Min=GTNN();
       printf("\n         		DANH SACH NHAN VIEN CO TUOI  MIN:");
       printf("\n	ÉÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍ»");
       printf("\n	º   MaNV    ³      Ten NV       ³ Tuoi   ³ Luong  º");
       for (i=0;i<N;i++)
       if (NV[i].tuoi==Min)
       {
       printf("\nÇÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄĶ");
       printf("\n	º%11s³%19s³%11.2f³%10.2f³%11.2fº",
       NV[i].manv,NV[i].hoten,NV[i].tuoi,NV[i].luong);
    	
    	  getch();
       }
       printf("\n	ÈÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍͼ");
       getch();
       CuoiThuTuc:
    }
    
    
    void About(void)
    {
       clrscr();
       printf("\n		THONG TIN VE TAC GIA CHUONG TRINH NAY:");
       printf("\n");
       printf("\n     huynh tuan viet");
       printf("\n");
       printf("\n     Dia chi: Truong CDCN Tuy Hoa - Phu Yen");
       printf("\n     Dien thoai: 057 851475");
       printf("\n   lop cdtin 30b ");
       printf("\n\n\n\n      Cam on da xem phan nay! ");
       getch();
    }
    void ThoatCT(void)
    {
       clrscr();
       printf("\n");
       printf("\n       Chuong trinh ket thuc. Bye bye!");
       printf("\n       Khong biet quy vi co vua y khong vay?");
       getch();
    }
    
    hàm sắp xếp theo abc nè mấy bác
    void sapxep()
    {
    kieunv t;
       clrscr();
       if (N==0)
    	  {
    	  printf("Chua co thong tin gi ca, khong the in duoc! %c",BELL);
    	  getch();
    	  goto CuoiThuTuc;
    	  }
    
      for (i=0;i<N-1;i++)
           for (j=i+1;j<n;j++)
               { if (strcmp(SV[i].hoten,SV[j].hoten)>0)
                    {t=SV[i];
                      SV[i]=SV[j];
                      SV[j]=t;
                    }
                }
    }
    EM CÁC BÁC SỬA LỖI DÙM EM CHƯƠNG TRÌNH NÀY CHẠY ĐƯỢC RÙI NHƯNG CÒN MỘT SỐ CHỨC NĂNG CHƯA CHẠY ĐƯỢC)
    1.CHỖ NHẬP LƯƠNG VÀO ĐÓ (NHẬP BAO NHIU NÓ CŨNG BÁO LÀ BẠN NHẬP SAI)
    2.ham inds() đó em muốn in ra danh sách nhân viên có kẻ bảng giống như giấy tờ ở ngoài đời nè) nét liền chứ ko phải nét đứt như vầy đâu.
    -------------------------------
    |ma nv |hoten|tuoi |luong |
    -------------------------------
    | | | | |
    -------------------------------
    3.Sắp xếp danh sách theo bảng chữ cai abc

    Mấy bác chỉ dùm em nha .Có gì cần sửa các bác cứ cho ý kiến để chương trình được hoàn thiện nha !!!!!!!!

    Tôi yêu tin học vì tin học là một phần cuộc sống của tui (^.^)
    good bye
    Huỳnh Tuấn Việt

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

    Bạn post cả bài nên đây dài quá, tốt nhất bạn nên tách thành từng phần thì dễ nhìn hơn, mình đang ở ngoài quán net không có biên dịch nên cũng không chưa xem hết được, mình chri xem chỗ hàm sapxep của bạn:

    C Code:
    1. void sapxep()
    2. {
    3. kieunv t;
    4.    clrscr();
    5.    if (N==0)
    6.       {
    7.       printf("Chua co thong tin gi ca, khong the in duoc! %c",BELL);
    8.       getch();
    9.       goto CuoiThuTuc;
    10.       }
    11.  
    12.   for (i=0;i<N-1;i++)
    13.        for (j=i+1;j<n;j++)
    14.            { if (strcmp(SV[i].hoten,SV[j].hoten)>0)
    15.                 {t=SV[i];
    16.                   SV[i]=SV[j];
    17.                   SV[j]=t;
    18.                 }
    19.             }
    20. }

    trong vòng for mình thấy biến N và n là khác nhau vì C phân biêt chữ hoa và thường và biến t bạn đã khai báo kiểu cấu trúc chưa để gán cả biến cấu trúc SV sang. Mình nghĩ thế thôi bạn xem lại xem ý mình đúng không nhé

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

    để mình thử xem nha !!!!
    good bye
    Huỳnh Tuấn Việt

  4. #4
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Làm thì dài sai toàn những lỗi cơ bản. Bạn cần chú ý một điều trong C có phân biệt hoa thường, vì vậy bạn hãy sử hết các cái tên hàm theo đúng một chuẩn thôi, không thể khai báo
    void khoitao(void);
    void nhapData(void);
    void inds(void);
    void tuoimax(void);
    void tuoimin(void);
    void luongmax(void);
    void luongmin(void);
    void About(void);
    void ThoatCT(void);
    và ở dưới thì toàn cứ Khoitao() và NhapData() được

    * Thực sự tôi không tin rằng bài này bạn làm, làm được bài như này mà thậm chí ; đánh nhầm thành : cũng không tự sửa được.

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

    đó là copy bài làm chưa sửa thui
    giờ mới thấy .

    chứ bài này chương trình chạy được rùi nhưng còn nhiều chức năng chưa chạy được.Vậy mới hỏi ,chứ ko ai hỏi làm gì?
    Đã được chỉnh sửa lần cuối bởi QuangHoang : 07-12-2008 lúc 12:21 PM.
    good bye
    Huỳnh Tuấn Việt

  6. #6
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Mặc định sửa lỗi dùm mấy bác(quản lí nhân viên)

    Ok, vậy thì cùng sửa.
    1.CHỖ NHẬP LƯƠNG VÀO ĐÓ (NHẬP BAO NHIU NÓ CŨNG BÁO LÀ BẠN NHẬP SAI)
    C Code:
    1. void NhapData(void)
    2. {
    3.    int first=1;
    4.    struct kieunv Temp;
    5.    clrscr();
    6.    do {
    7.       printf("\nHay nhap so nhan vien:");
    8.       scanf("%d",&N);
    9.       if ((N<0)||(N>MaxNV))
    10.          {
    11.          if (first)
    12.             printf("%c",BELL);
    13.          first=0;
    14.          printf("\nSo sinh vien phai thuoc 1-%d",MaxNV,BELL);
    15.          printf("\n Xin moi nhap lai!");
    16.          }
    17.       }
    18.    while ((N<0)||(N>MaxNV));
    19.    first=1;
    20.    for (i=0;i<N;i++)
    21.       {
    22.       fflush(stdin);
    23.       printf("\nNhap thong tin cua sinh vien thu %d",i+1);
    24.       printf("\n      ÍÍÍÍÍÍÍÍÍÍo0oÍÍÍÍÍÍÍÍÍÍÍ");
    25.       printf("\n   Ma sinh vien:");
    26.       gets(Temp.manv);
    27.  
    28.       fflush(stdin);
    29.       printf("\n   Ten sinh vien:");
    30.       gets(Temp.hoten);
    31.       do
    32.         {printf("\n   tuoi nhan vien:");
    33.          scanf("%f",&Temp.tuoi);
    34.          if ((Temp.tuoi<15) || (Temp.tuoi>150))
    35.             {
    36.             if (first) printf("%c",BELL);
    37.             first=0;
    38.             printf("\nXin loi, tuoi ban nhap khong hop le!");
    39.             printf("\nXin moi nhap lai tuoi nhan vien:");
    40.             }
    41.         }
    42.       while ((Temp.tuoi<15)||(Temp.tuoi>150));
    43.  
    44.       fflush(stdin);
    45.       first=1;
    46.       do
    47.         {printf("\n    luong nhan vien :");
    48.          scanf("%f",&Temp.luong);
    49.          if ((Temp.luong<300000) || (Temp.luong>10000000))
    50.             {
    51.             if (first) printf("%c",BELL);
    52.             first=0;
    53.             printf("\nXin loi, luong ban nhap khong hop le!");
    54.             printf("\nXin moi nhap lai luong nhan vien :");
    55.             }
    56.         }
    57.       while ((Temp.luong<300000)||(Temp.luong>100000000));
    58.  
    59.       NV[i]=Temp;
    60.       }
    61.    printf("Hoan thanh viec nhap....!");
    62.    getch();
    63. }

    Tôi không hiểu bạn ý định gì mà biến một chương trình đơn giản trở thành rối rắm, phức tạp với những biến số thêm vào gần như là thừa + thực hiện các công việc quá là thừa.

    - if ((N<0)||(N>MaxNV)) bạn kiểm tra điều kiện nhập trong khi đó bạn không cho scanf lại giá trị của N thì nó còn ý nghĩa gì nữa

    - while ((N<0)||(N>MaxNV)); vòng lặp while này bạn định dùng làm gì, vòng lặp rỗng, mình thấy chỉ có tác dụng gây treo cứng chương trình.

    - fflush(stdin); cần để trước gets để xóa vùng nhập tránh trôi hàm gets chứ không phải để ở sau.

    Bạn cứ sử dần đi đã
    Bài của bạn không phải là khó, mà nó quá dài, cái quan trọng thì ít râu rìa thì nhiều, nên ít người muốn ngồi đọc mà sửa cho bạn được.

    * Tôi khuyên bạn, khi code một bài, phần khung chính, yêu cầu của đề phải chạy hoàn chỉnh rồi hạy thêm râu cho bài đẹp hơn. Con nếu cứ có phương pháp làm kiểu này thì bạn sẽ còn gặp bug mệt đó.

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

  1. Giúp mình sửa lại code quản lý điểm sinh viên dùm cái. Mình ko biết sửa thế nào cả
    Gửi bởi ronghappy13 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 04-01-2013, 08:49 PM
  2. Bài tập C++ anh chị xem bài này có lỗi gì dùm em với! hàm nhập thì chạy được nhưng các hàm càn lại không có kết quả
    Gửi bởi changtraixubien_tomy trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 02-03-2012, 11:56 PM
  3. Thuật toán Ford - Fulkerson...Code đã chạy mà khi ra kết quả thì ra số 0 . Ai biết chỉ dùm với..
    Gửi bởi ngocvientk91 trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 3
    Bài viết cuối: 06-10-2011, 09:26 PM
  4. Bài tập C++ Quản lý Nhân Viên _ Các bạn làm ơn fix dùm mình với TT ...
    Gửi bởi andyhuynh trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 6
    Bài viết cuối: 02-05-2010, 12:42 AM
  5. Sửa lỗi bài quản lí sinh viên dùm mình với
    Gửi bởi knightxuan trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 18-04-2010, 12:18 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