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

Đề tài: ct quản lý các đại lý của 1 tổng công ty

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

    Mặc định ct quản lý các đại lý của 1 tổng công ty

    Viết ct quản lý các đại lý của 1 tổng công ty 1 đại lý gồm các thành phần sau:
    +Mã đại lý char[5];
    +Tên đại lý char[30];
    +Điện thoại long;
    +Ngày tiếp nhận ;
    +Địa chỉ char[40];
    Xây dựng thực đơn nhập lưu danh sách vào file nhị phân,viết hàm đọc lại từ file đã lưu nếu có file thì xử lý thêm sửa xóa danh sách

    Mình mới làm đến phần nhập xuất là gặp vấn đề rùi mong các bạn giúp đỡ .Đây là code của mình nhập thì dc rùi lúc xuầt ra bị lỗi ở phần tên đại lý nó in ra 2 lần ko bít sai chỗ nào nữa.
    [codebox]
    PHP Code:
    #include<stdio.h>
    #include<conio.h>
    int i;
    typedef struct ctngay
    {
    int ngay;
    int thang;
    int nam;
    }
    ngay;
    typedef struct ctdaily
    {
    char mdl[5];
    char tdl[30];
    long dt;
    ngay ngaytn;
    char dc[40];
    }
    daily;
    void nhapngay(ngay &b)
    {
      
    printf("nhap ngay");scanf("%d",&b.ngay);
      
    printf("nhap thang");scanf("%d",&b.thang);
      
    printf("nhap nam");scanf("%d",&b.nam);
    }
    void xuatngay(ngay b)
    {
     
    printf("%d/%d/%d",b.ngay,b.thang,b.nam);
    }
    void nhap(daily a[],int &n)
    {
     
    printf("nhap bao nhieu dai ly:");scanf("%d",&n);
      for(
    i=0;i<n;i++)
      {
       
    printf("\ndai ly thu %d",i);
       
    printf("\nnhap ma dai ly:");fflush(stdin);gets(a[i].mdl);
       
    printf("\nnhap ten dai ly:");fflush(stdin);gets(a[i].tdl);
       
    printf("\nnhap so dien thoai:");scanf("%ld",&a[i].dt);
       
    printf("\nnhap ngay tiep nhan\n");nhapngay(a[i].ngaytn);
       
    printf("\nnhap dia chi dai ly:");fflush(stdin);gets(a[i].dc);

      }
    }
    void xuat(daily a[],int n)
    {

        for(
    i=0;i<n;i++)
        {


    printf("%s  |%s   |%ld   |",a[i].mdl,a[i].tdl,a[i].dt);xuatngay(a[i].ngaytn);printf("|     %s ",a[i].dc);

               
    printf("\n");
        }
    }

    void main()
    {
    daily a[10];int nclrscr();
    nhap(a,n);
    xuat(a,n);


    getch();

    [/codebox]
    Đã được chỉnh sửa lần cuối bởi langman : 17-09-2008 lúc 06:38 PM.

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

    ko thấy lỗi lúc in ra ...
    code ra gió bão

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

    Trích dẫn Nguyên bản được gửi bởi 6220119 Xem bài viết
    ko thấy lỗi lúc in ra ...
    Nếu bạn nhập 2-3 đại lý thì nó sẽ ra lỗi ah nhập 1 cái thì lâu lâu mới gặp lỗi mình cũng chẳng bít bị gì nữa
    còn về phần file mình ghi vào file dc rùi nhưng lúc đọc ra thì không dc ,hàm đoc mình làm đại thôi chưa hiểu kỹ về file cho lắm mong bạn gợi ý và giúp đỡ

    #include<stdio.h>
    #include<conio.h>
    int i;
    typedef struct ctngay
    {
    int ngay;
    int thang;
    int nam;
    }ngay;
    typedef struct ctdaily
    {
    char mdl[5];
    char tdl[30];
    long dt;
    ngay ngaytn;
    char dc[40];
    }daily;
    void nhapngay(ngay &b)
    {
    printf("nhap ngay");scanf("%d",&b.ngay);
    printf("nhap thang");scanf("%d",&b.thang);
    printf("nhap nam");scanf("%d",&b.nam);
    }
    void xuatngay(ngay b)
    {
    printf("%d/%d/%d",b.ngay,b.thang,b.nam);
    }
    void nhap(daily a[],int &n)
    {
    printf("nhap bao nhieu dai ly:");scanf("%d",&n);
    for(i=0;i<n;i++)
    {
    printf("\ndai ly thu %d",i+1);
    printf("\nnhap ma dai ly:");fflush(stdin);gets(a[i].mdl);
    printf("\nnhap ten dai ly:");fflush(stdin);gets(a[i].tdl);
    printf("\nnhap so dien thoai:");scanf("%ld",&a[i].dt);
    printf("\nnhap ngay tiep nhan\n");nhapngay(a[i].ngaytn);
    printf("\nnhap dia chi dai ly:");fflush(stdin);gets(a[i].dc);

    }
    }
    void xuat(daily a[],int &n)
    {

    for(i=0;i<n;i++)
    {
    printf("%s\t%s\t%ld\t",a[i].mdl,a[i].tdl,a[i].dt);
    xuatngay(a[i].ngaytn);
    printf("%s",a[i].dc);
    printf("\n");
    }
    }
    void luu(daily a[],int n)
    {
    FILE *ff;char *fn; fflush(stdin);
    printf("nhap duong dan");gets(fn);
    ff=fopen(fn,"wb");
    if(ff==NULL)
    printf("duong dan sai!!!");
    else
    {
    for(i=0;i<n;i++)
    {
    fwrite(&a[i],sizeof(daily),1,ff);
    }
    printf("da luu");
    }
    }
    void doc(daily a[],int n)
    {
    FILE *fp;int k; char *f,*st; fflush(stdin);
    printf("nhap duong dan:");gets(f);
    fp=fopen(f,"rb");
    if(fp==NULL)
    printf("duong dan sai!!!");
    else
    {
    do
    {
    fgets(st,sizeof(daily),fp);
    printf("%s",st) ;


    } while(!feof(fp));
    }
    }
    void main()
    {
    daily a[10];int n; clrscr();
    nhap(a,n);
    xuat(a,n);
    luu(a,n);
    doc(a,n);
    getch();
    }

  4. #4
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Một cách mà tui hay dùng để tránh bị kẹt kí tự trên buffer là viết lại 1 hàm đại loại như :
    [code = c++]void laydulieu( char ary[] )
    {
    gets( ary );
    fflush( stdin );
    }
    [/code]
    - Và cậu sẽ tránh đc type đi type lại flush( stdin ).
    - int i; mà cậu dùng global đc cơ à :( ! Bỏ biến toàn cục đi !!!
    C Code:
    1. #include <stdio.h>
    2.  
    3. const int MAX_DAI_LY = 100;
    4.  
    5. struct Ngay
    6. {
    7.     int ngay;
    8.     int thang;
    9.     int nam;
    10. };
    11.  
    12. struct CongTyDaiLy
    13. {
    14.     char mdl[ 5 ];
    15.     char tdl[ 30 ];
    16.     char dc[ 40 ];
    17.     int  dt;
    18.     Ngay ngaytn;
    19. };
    20.  
    21. /*
    22.     Function prototype
    23. */
    24. void nhapngay( Ngay& b );
    25. void xuatngay( const Ngay& b );
    26. void laysolieu( int& o );
    27. void laydulieu( int& o );
    28. void xuat( const CongTyDaiLy a[], int n );
    29. void nhap( CongTyDaiLy ary[], int& n );
    30.  
    31. /*
    32.     Main function
    33. */
    34. int main()
    35. {
    36.     CongTyDaiLy cac_dai_ly[ MAX_DAI_LY ];
    37.     int         so_luong;
    38.  
    39.     nhap( cac_dai_ly, so_luong );
    40.     xuat( cac_dai_ly, so_luong );
    41.  
    42.     return 0;
    43. }
    44.  
    45.  
    46. void nhapngay( Ngay& b)
    47. {
    48.     printf( "  + Nhap ngay : " );
    49.     laysolieu( b.ngay );
    50.  
    51.     printf( "  + Nhap thang : " );
    52.     laysolieu( b.thang );
    53.  
    54.     printf( "  + Nhap nam : " );
    55.     laysolieu( b.nam );
    56. }
    57.  
    58. void xuatngay( const Ngay& b )
    59. {
    60.     printf( "%d/%d/%d", b.ngay, b.thang, b.nam );
    61. }
    62.  
    63. void laydulieu( char ary[] )
    64. {
    65.     gets( ary );
    66.     fflush( stdin );
    67. }
    68.  
    69. void laysolieu( int& o )
    70. {
    71.     scanf( "%d", &o );
    72.     fflush( stdin );
    73. }
    74.  
    75. void nhap( CongTyDaiLy ary[], int& n )
    76. {
    77.     int i;
    78.     printf( " Nhap so dai ly : " );
    79.     laysolieu( n );
    80.  
    81.     for( i = 0; i < n; ++i )
    82.     {
    83.         printf( "\n  * Dai ly thu %d ", i + 1 );
    84.        
    85.         printf( "\n -> Nhap ma dai ly : " );
    86.         laydulieu( ary[ i ].mdl );
    87.        
    88.         printf( "\n -> Nhap ten dai ly : " );
    89.         laydulieu( ary[ i ].tdl );
    90.        
    91.         printf( "\n -> Nhap so dien thoai : " );
    92.         laysolieu( ary[ i] .dt );
    93.    
    94.         printf( "\n -> Nhap ngay tiep nhan \n " );
    95.         nhapngay( ary[ i ].ngaytn );
    96.        
    97.         printf("\n -> Nhap dia chi dai ly : ");
    98.         laydulieu( ary[ i ].dc );
    99.  
    100.   }
    101. }
    102.  
    103. void xuat( const CongTyDaiLy a[], int n )
    104. {
    105.     int i;
    106.     for( i = 0; i < n; ++i )
    107.     {
    108.         printf( "%s  |%s   |%ld   |",
    109.                 a[ i ].mdl,
    110.                 a[ i ].tdl,
    111.                 a[ i ].dt
    112.         );
    113.        
    114.         xuatngay( a[ i ].ngaytn );
    115.         printf( "|     %s ", a[ i ].dc );
    116.         printf( "\n" );
    117.     }
    118. }

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

  1. Trả lời: 0
    Bài viết cuối: 22-06-2012, 08:57 PM
  2. Trả lời: 0
    Bài viết cuối: 22-06-2012, 08:50 PM
  3. Trả lời: 0
    Bài viết cuối: 22-06-2012, 07:52 PM
  4. Trả lời: 0
    Bài viết cuối: 22-06-2012, 07:50 PM
  5. Trả lời: 0
    Bài viết cuối: 22-06-2012, 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