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

Đề tài: Sửa giúp bài C về đăng nhập

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

    Mặc định phiền các pro giúp em sửa bài tập C về đăng nhấp với

    em có 1 bài tập mà nghĩ mãi ko hiểu nó bị lỗi chỗ nào phiền mấy anh pro giúp với
    em tạo đc 1 file tai khoản .dat trong đó chứa nội dung thông tin của nhiều tài khoản
    song em tạo 1 hàm để kiểm tra thông tin đăng nhập nhưng chỉ kiểm tra đc 1 tài khoản duy nhất đầu tiên

    ví dụ như giờ em tạo 5 tài khoản lần lượt là : (sotk:1 mapin1)(sotk:2 mapin2)(sotk:3 mapin3)
    (sotk:4 mapin4)(sotk:5 mapin5) nhưng lúc check thì nó chỉ cho kết quả đăng nhập thành công của (sotk:1 mapin1) còn 4 sotk còn lại nó báo sai => nếu bỏ chỗ else o? chỗ ham searchid() nếu bỏ di thi no' kiem tra binh thuong cac sotk con lai nhung neu bo thi no ko thong bao dc khi nhap sotk hoac mapin sai va` cho quay lai nhap. lai

    Mong Các Anh Chỉ giáo giúp vì em cũng mới học lập trình nên cũng biết mình lỗi ở chỗ nào


    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    FILE *f;
    struct create
    {
    
    	int sotk;
       int mapin;
       char tenkh[30];
       float tien;
       char ntns[20];
       char gtinh[6];
       int cmtnd[18];
    };
    
    void searchid()
    {
      struct create st;
    	f=fopen("mycard.dat","rb");
       int sID;
       int sMP;
      	char flag='y',found;
       do
      {
          while(flag=='y')
          {
    		printf("testID: ");
       	fflush(stdin);
       	scanf("%d",&sID);
       	printf("testPIN: ");
       	fflush(stdin);
       	scanf("%d",&sMP);
    
    		while(fread(&st,sizeof(struct create),1,f)==1)
    		{
    
    			if(sID==st.sotk && sMP==st.mapin )
             {
             	printf("\nChuc Mung Ban Dang Nhap Thanh Cong !");
               // return true;
               getch();
               flag='n';
                clrscr();
             }
    
    
    
          	 else
     /*bo? di thi no' kiem tra binh thuong cac sotk con lai nhung neu bo thi no ko thong bao dc khi nhap sotk hoac mapin sai va` cho quay lai nhap. lai*/
             {
               	printf("\nSo Tai Khoan Hoac Ma Pin Ko Hop Le. !");
               	printf("\nAn Enter De Nhap Lai !");
                flag='y';
               fseek(f,(long)sizeof(struct create),1);
               getch();
    
             }
             }
    
          }
      }while(flag=='y');
    
    }
    
    
    
    struct trave
    {
       char sotk[14];
       int mapin[9];
    
    };
    void create()
    {
       			char tenfile[30];
                struct create create1 ;
                int size=sizeof(struct create);
    
             	printf("\nNhap So Tai Khoan:");
                fflush(stdin);
                scanf("%d",&create1.sotk);
                printf("\nNhap Ten khach hang :");
                fflush(stdin);
                gets(create1.tenkh);
                printf("\nNhap Ma Pin :");
               	scanf("%d",&create1.mapin);
                printf("\nNhap So Tien :");
                scanf("%f",&create1.tien);
                printf("\nNgay thang nam sinh :");
               	fflush(stdin);
               	gets(create1.ntns);
               	printf("\nGioi Tinh (nam/nu) :");
              	fflush(stdin);
               	gets(create1.gtinh);
               	printf("\nNhap So Chung Minh Thu :");
                scanf("%d",&create1.cmtnd);
               // rewind(f)
                f=fopen("mycard.dat","a+b");
                fwrite(&create1,size,1,f);
               // fseek(f,(long)(size),1);
    
                //input(st);
                //write(st,tenfile);
                //fclose(f);
                printf("\nCreate Hoan Tat !....");
                printf("\nBam Phim Bat Ky De Ket Thuc !....");
              	getch();
                exit(1);
    
    
    
    
    
    }
    
    menu()
    {
    	printf("\n1. Kiem tra so du tai khoan.");
       printf("\n2. Rut tien.");
       printf("\n3. Chuyen Khoan.");
       printf("\n4. Doi Ma Pin.");
       printf("\n0. Thoat.");
    }
    void main()
    {
    
      // menu();
      //create(); /*de test tao. tai khoan*/
       searchid();  /*khai bao ham kiem kiem tra so TK va MaPIn*/
       getch();
    
    }

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Phiền bạn up file MyCard.dat lên để mình có mẩu dễ test hơn.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Mình đã sửa rồi đây :

    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3. #include <stdlib.h>
    4.  
    5. struct create
    6. {
    7.     int sotk;
    8.     int mapin;
    9.     char tenkh[30];
    10.     float tien;
    11.     char ntns[20];
    12.     char gtinh[6];
    13.     int cmtnd[18];
    14. };
    15.  
    16. void searchid()
    17. {
    18.     struct create st;
    19.     FILE *f = fopen("mycard.dat","rb");
    20.     int sID;
    21.     int sMP;
    22.     char found = 0;
    23.  
    24.     while(!found)
    25.     {
    26.         printf("testID: ");
    27.         fflush(stdin);
    28.         scanf("%d",&sID);
    29.         printf("testPIN: ");
    30.         fflush(stdin);
    31.         scanf("%d",&sMP);
    32.  
    33.         while(!found && fread(&st,sizeof(struct create),1,f) > 0)
    34.         {
    35.             if(sID==st.sotk && sMP==st.mapin )
    36.             {
    37.                 found = 1;
    38.                 printf("\nChuc Mung Ban Dang Nhap Thanh Cong !");
    39.                 getch();
    40.                 clrscr();
    41.             }
    42.         }
    43.  
    44.         if (!found)
    45.         {
    46.             printf("\nSo Tai Khoan Hoac Ma Pin Ko Hop Le. !");
    47.             printf("\nAn Enter De Nhap Lai !");
    48.             fseek(f,(long)sizeof(struct create),1);
    49.             getch();
    50.         }
    51.     }
    52.  
    53.     fclose(f);
    54. }
    55.  
    56. struct trave
    57. {
    58.     char sotk[14];
    59.     int mapin[9];
    60. };
    61.  
    62. void create()
    63. {
    64.     char tenfile[30];
    65.     struct create create1 ;
    66.     int size=sizeof(struct create);
    67.  
    68.     printf("\nNhap So Tai Khoan:");
    69.     fflush(stdin);
    70.     scanf("%d",&create1.sotk);
    71.     printf("\nNhap Ten khach hang :");
    72.     fflush(stdin);
    73.     gets(create1.tenkh);
    74.     printf("\nNhap Ma Pin :");
    75.     scanf("%d",&create1.mapin);
    76.     printf("\nNhap So Tien :");
    77.     scanf("%f",&create1.tien);
    78.     printf("\nNgay thang nam sinh :");
    79.     fflush(stdin);
    80.     gets(create1.ntns);
    81.     printf("\nGioi Tinh (nam/nu) :");
    82.     fflush(stdin);
    83.     gets(create1.gtinh);
    84.     printf("\nNhap So Chung Minh Thu :");
    85.     scanf("%d",&create1.cmtnd);
    86.     // rewind(f)
    87.     FILE *f=fopen("mycard.dat","a+b");
    88.     fwrite(&create1,size,1,f);
    89.     // fseek(f,(long)(size),1);
    90.  
    91.     //input(st);
    92.     //write(st,tenfile);
    93.     fclose(f);
    94.     printf("\nCreate Hoan Tat !....");
    95.     printf("\nBam Phim Bat Ky De Ket Thuc !....");
    96. }
    97.  
    98. void menu()
    99. {
    100.     printf("\n1. Kiem tra so du tai khoan.");
    101.     printf("\n2. Rut tien.");
    102.     printf("\n3. Chuyen Khoan.");
    103.     printf("\n4. Doi Ma Pin.");
    104.     printf("\n0. Thoat.");
    105. }
    106.  
    107. void main()
    108. {
    109.     // menu();
    110.  
    111.     //create(); /*de test tao. tai khoan*/
    112.     //create();
    113.     //create();
    114.  
    115.     searchid();  /*khai bao ham kiem kiem tra so TK va MaPIn*/
    116.     getch();
    117. }
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

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

  1. Cần giúp đỡ về thủ tục đăng nhập
    Gửi bởi jindo872606 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 2
    Bài viết cuối: 08-06-2012, 08:22 PM
  2. Cần giúp đỡ về lỗi đăng nhập user với SQL Sever 2008 !
    Gửi bởi davidpuskin trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 5
    Bài viết cuối: 30-04-2012, 09:03 PM
  3. Hướng dẫn chương trình đăng nhập đăng xuất trên Winform. Ai giúp mình?
    Gửi bởi son0nline trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 02-08-2010, 12:02 AM
  4. Tạo form đăng nhập trước khi vào mainpage. Cần giúp đỡ?
    Gửi bởi ngai_chau trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 17-03-2010, 03:37 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