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

Đề tài: bài toán về thẻ ATM ngân hàng , cần hướng dẫn

  1. #1
    No Avatar
    qweasd2009 Khách

    Wink bài toán về thẻ ATM ngân hàng , cần hướng dẫn

    bài này kết hợp khá nhiều thứ , mình mới học về file nên chưa làm đc

    YÊU CẦU CHUNG

    Xây dựng chương trình mô phỏng hoạt động của một máy ATM.

    MÔ TẢ YÊU CẦU

    Chương trình gồm có các chức năng chính sau:
     Mô phỏng hoạt động của máy ATM:
     Kiểm tra tài khoản của thẻ
     Nhập mã pin
     Xác nhận
     Thực hiện các giao dịch
     Cập nhật tài khoản của thẻ
     In phiếu (ra file).

    CHI TIẾT

    Người sử dụng dùng một file để ghi thông tin về thẻ ví dụ myCard.dat
    Chương trình chạy như sau:

    ======Ngân Hàng FPT-APTECH===========
    ---Hãy đưa thẻ của bạn vào -----
    Tên File: myCard.dat
    ---Nhập mã pin---------------------
    Mã PIN: 123456
    ---Đang kiểm tra thông tin -------
    ====================
    Xin chào mừng Nguyen Van A.
     1. Kiểm tra số dư tài khoản.
     2. Rút tiền.
     3. Chuyển khoản.
     4. Đổi mã PIN
     0. Kết thúc giao dịch.
    #Chọn:1
    ==================================
    Số dư trong tài khoản: 1,000,000.00 VND
    Lần giao dịch gần nhất: 12h36'55' 2/9/2008
    Bạn có muốn in phiếu?(Y/N) Y
    ...Đang in....
    ...Xong.......
    Bạn có muốn thực hiện tiếp giao dịch?(Y/N) Y
    ==================================
    Xin chào mừng Nguyen Van A.
     1. Kiểm tra số dư tài khoản.
     2. Rút tiền.
     3. Chuyển khoản.
     4. Đổi mã PIN
     0. Kết thúc giao dịch.
    #Chọn:2
    Nhập số tiền cần rút: 500000
    Bạn có muốn rút số tiền này?(Y/N) Y
    ...Đang thực hiện rút tiền....
    ...Xong.......................
    Số dư trong tài khoản của bạn: 500,000.00 VND
    ...Nhận tiền: ấn một phím bất kỳ...
    Bạn có muốn in phiếu?(Y/N) N
    Bạn có muốn thực hiện tiếp giao dịch?(Y/N) Y
    ====================
    Xin chào mừng Nguyen Van A.
     1. Kiểm tra số dư tài khoản.
     2. Rút tiền.
     3. Chuyển khoản.
     4. Đổi mã PIN
     0. Kết thúc giao dịch.
    #Chọn:3
    Số dư trong tài khoản của bạn: 500,000.00 VND
     Nhập tài khoản muốn chuyển: 12345678901234
     Số tiền muốn chuyển: 200000
     Bạn có muốn chuyển số tiền này? (Y/N) Y
     ....Đang chuyển.......
     ....Xong....................
    Số dư trong tài khoản của bạn: 300,000.00 VND
     Bạn có muốn in phiếu? (Y/N) N
     Bạn có muốn thực hiện tiếp giao dịch? (Y/N) Y
    ====================
    Xin chào mừng Nguyen Van A.
     1. Kiểm tra số dư tài khoản.
     2. Rút tiền.
     3. Chuyển khoản.
     4. Đổi mã PIN
     0. Kết thúc giao dịch.
    #Chọn:4
    Nhập mã PIN hiện tại: ******
    Nhập mã PIN mới: ******
    Xác nhận lại mã PIN mới: ******
    ...Đang đổi mã PIN...
    ...Xong......................
    Bạn có muốn tiếp tục giao dịch? (Y/N) N

    Xin chào và hẹn gặp lại!

    Các thông tin về tài khoản được lưu vào file [ID].dat, đặt trong thư mục ../Account/ (ID là số tài khoản của khách hàng).
    Thông tin trong file [ID].dat gồm các thông tin như:
    Số tài khoản: gồm một dãy số 14 chữ số
    Tên Chủ tài khoản: Nguyen Van A
    Số dư tài khoản: 100000
    Đơn vị: VND.
    Trạng thái: là một số thể hiện trạng thái.
    Thông tin trong file myCard.dat:
    Số tài khoản: gồm một dãy số 14 chữ số
    Mã PIN: gồm một số có 6 chữ số.
    Kết thúc các giao dịch đều có yêu cầu in thông tin giao dịch ra file hoặc in lên màn hình.
    Trong quá trình giao dịch, nếu gặp lỗi thì giao dịch đó sẽ bị hủy bỏ.
    ai pro xin giúp đỡ!

  2. #2
    Ngày gia nhập
    09 2008
    Nơi ở
    Kĩ viện
    Bài viết
    169

    Oh My God!. Bài này mà làm = C thì thôi không khác gì một mớ mì Sờ-Pa-Ghet-Ty. Không cho OOP ác thế!
    Phá toái hư không - Bạch nhật thăng thiên.

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

    bài này kết hợp khá nhiều thứ , mình mới học về file nên chưa làm đc
    Đề bài là vậy, bạn mới học file thì code thử mấy phần biết rồi đưa code lên đây, sai đâu mọi người sửa đấy.

  4. #4
    No Avatar
    qweasd2009 Khách

    đây là bài em làm , còn sai nhiều quá nên kô chạy được . Ai chỉ em thiếu sót chỗ nào thì tốt quá .

    Code:
    #include "stdafx.h"
    #include <stdio.h>
    #include <conio.h>
    #include <cstdlib>
    #include <string.h>
    
    typedef struct phieu {
    char hoten[50];
    float mathe;
    float mapin;
    float sodu;
    int trangthai;
    }phieu;
    
    int i;
    phieu ph[50];
    char chonso;
    void main(void)
    {
    i=i+1;
    printf("======Ngan Hang FPT-APTECH===========\n");
    printf("---Hay dua the cua ban vao -----\n");
    printf("Ten File: myCard.dat\n");
    printf("Nhap Ho va Ten chu tai khoan: ");
    scanf("#\n",ph[i-1].hoten);
    rewind(stdin);
    printf("Nhap ma so the :");
    scanf("%f",&ph[i-1].mathe);
    printf("---Nhap ma pin---------------------\n");
    printf("Ma PIN:");
    scanf("%f",&ph[i-1].mapin);
    rewind(stdin);
    printf("---Dang kiem tra thong tin -------\n");
    printf("====================\n");
    printf("Xin chao mung %s\n",ph[i].hoten);
    printf("1. Kiem tra so du tai khoan.\n");
    printf("2. Rut tien.\n");
    printf("3. Chuyen khoan.\n");
    printf("4. Doi ma PIN \n");
    printf("0. Ket thuc giao dich.\n");
    printf("Nhap ma so the :%4.2f",ph[i-1].mathe);
    printf("#Chon: ");
    scanf("%c",&chonso);
    rewind(stdin);
    }
    /*
    using namespace std;
    void sodu(void)
    {
    clrscr();
    char tmpbuf[128],inphieu;
    
    printf("==================================\n");
    printf("So du trong tai khoan: ");
    scanf("#\n",
    printf(" VND\n");
    _strtime( tmpbuf );
    printf("Lan giao dich gan nhat:\t%s",tmpbuf);
    _strdate( tmpbuf );
    printf("\t%s\n",tmpbuf);
    printf("Ban co muon in phieu ko ?(Y/N)");
    scanf("%c",&inphieu);
    if(inphieu=='Y'){
    printf("...Dang in...\n");
    printf(" ...Xong...\n");
    }
    printf("Ban co muon thuc hien tiep giao dich (Y/N):");
    scanf("%c",&tieptuc);
    getch();
    menu();
    }
    
    
    void ruttien(void)
    {
    clrscr();
    
    int tien,sodu;
    char dongy,inphieu;
    printf("Nhap so tien can rut :");
    scanf("%d",&tien);
    rewind(stdin);
    printf("Ban co muon rut tien ko (Y/N):");
    scanf("%c",&dongy);
    rewind(stdin);
    if(dongy =='Y'){
    printf("...Dang thuc hien rut tien...\n");
    printf("..........XONG...............\n");
    }
    sodu=cout<<d - tien;
    printf("So du trong tai khoan cua ban :%d",sodu);
    printf("VND\n");
    printf("...Nhan tien an 1 phim bat ky... \n");
    printf("Ban co muon in phieu ko ?(Y/N)");
    scanf("%c",&inphieu);
    if(inphieu=='Y'){
    printf("...Dang in...\n");
    printf(" ...Xong...\n");
    }
    printf("Ban co muon thuc hien tiep giao dich (Y/N):");
    scanf("%c",&tieptuc);
    getch();
    menu();
    }
    
    void chuyenkhoan(void)
    { clrscr();
    
    int taikhoan,tienchuyen;
    printf("So du trong tai khoan cua ban :%d\n",sodu);
    printf("Nhap tai khoan muon chuyen :");
    scanf("%d",&taikhoan);
    rewind(stdin);
    printf("Nhap so tien muon chuyen :");
    scanf("%d",&tienchuyen);
    rewind(stdin);
    printf("Ban co muon chuyen so tien nay (Y/N):");
    scanf("%c",&co);
    if(co =='Y'){
    printf("......Dang chuyen........\n");
    printf(".......Xong..............\n");
    }
    printf("so du trong tai khoan cua ban :%d\n",sodu - tienchuyen);
    printf("Ban co muon in phieu ko ?(Y/N)");
    scanf("%c",&inphieu);
    if(inphieu=='Y'){
    printf("...Dang in...\n");
    printf(" ...Xong...\n");
    }
    printf("Ban co muon thuc hien tiep giao dich (Y/N):");
    scanf("%c",&tieptuc);
    getch();
    menu();
    }
    
    void doimapin(void)
    {
    clrscr();
    
    int m1,m2,m3;
    printf("Nhap ma pin hien tai:");
    scanf("%d",&m1);
    rewind(stdin);
    printf("Nhap ma pin moi :");
    scanf("%d",&m2);
    rewind(stdin);
    printf("Xac nhan lai ma pin moi :");
    scanf("%d",&m3);
    rewind(stdin);
    printf(".....Dang doi ma pin ...\n");
    printf(".........Xong...........\n");
    printf("Ban co muon thuc hien tiep giao dich (Y/N):");
    scanf("%c",&tieptuc);
    getch();
    menu();
    }
    
    
    
    void main(void)
    
    {
    clrscr();
    menu();
    do{
    switch(chonso){
    case '1': sodu();
    break;
    case '2': ruttien();
    break;
    case '3': chuyenkhoan();
    break;
    case '4': doimapin();
    break;
    
    default : chonso='0'|| tieptuc='N';
    }
    }while (!(tieptuc== 'N'));
    
    getch();
    
    }
    
    void NhapThongTinVaoFile()
    {
    int stk;
    FILE *f = fopen("myCard.dat","wb");
    if (f==NULL)
    {
    printf("\n\nFile mo ko dc!!!\n\n");
    return;
    }
    
    fprintf(f,"So tai khoan :\n",stk);
    fprintf(f,"Ma pin: %d\n",mapin)
    fclose(f);
    }
    
    
    
    */
    * Chú ý: Bỏ code vào tag code, chuyển lên đầu trang để xem hướng dẫn. Bạn làm code thẳng tuột thế kia thì khó ai đủ kiên nhẫn giúp được ban, vui lòng sửa lại cách trình bày code.
    Đã được chỉnh sửa lần cuối bởi QuangHoang : 16-10-2008 lúc 08:23 PM.

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

    Code:
    #include"stdio.h"
    #include"conio.h"
    #include"string.h"
    #include"stdlib.h"
    
    
    typedef struct phieu
         {
          char hoten[50];
    		float mathe;
    		float mapin;
    		float sodu;
    		int trangthai;
         }
    	   phieu;
    	   int i;
    	   phieu ph[50];
    	   int chon;
       void sodu();
       void ruttien();
       void doimapin();
       void chuyenkhoan();
       int menu1();
       int menuchinh();
    
    
       int menu1()
           {
    	 float tam;
    	i=i+1;
    	printf("+    Ngan Hang ATM \n");
    	printf("+    Dua the cua ban vao...\n");
    	printf("+    Ten File: myCard.dat\n");
    	printf("\n");
    
    	printf("+    Nhap ho ten chu tai khoan:");
    	fflush(stdin);
    	gets(ph[i-1].hoten);
    	rewind(stdin);
    	printf("+    Nhap ma the:");
    	fflush(stdin);
    
    	scanf("%f",&tam);
    	ph[i-1].mathe=tam;
    	rewind(stdin);
    	printf("+    Nhap ma pin...\n");
    	fflush(stdin);
    	printf("+    MA PIN:");
    	scanf("%f",&tam);
    	ph[i-1].mapin=tam;
    	rewind(stdin);
           return 0;
    	}
       int menuchinh()
    	{
    	 int chon;
    	 printf("\n");
    	 printf("+   Xin chao mung: %s\n ",ph[i-1].hoten);
    	 printf("+\t1.So du\n");
    	 printf("+\t2.Rut tien\n");
    	 printf("+\t3.Chuyen khoan\n");
    	 printf("+\t4.Doi ma pin\n");
    	 printf("+\t0.Thoat\n");
    	 printf("Chon:");
    	 do
    	 { scanf("%d",&chon);
    	  printf("\n nhap sai , nhap lai");
    	  }
    	  while (chon<=0 && chon>=4);
    
    	return chon;
           }
    
       void sodu()
    	{
    	 char thongtin[120];int inphieu, tt;
    
    	 printf("+    So du trong tai khoan chua ban la: 1,000,000.00");
    	 printf("+    VND\n");
    	 printf("+    Lan giao dich gan nhat:1h55'23' 10/10/2000\n ");
    	 printf("+    Ban co muon in phieu ko ? (1/0");
    	 scanf("%d",&inphieu);
    	 if (inphieu==1)
    	    {
    	     printf("+     Dang in...\n");
    	     printf("+     Xong.\n");
    	    }
    	 printf("+     Ban co muon thuc hien giao dich khac khong ? (1/0)\n");
    	scanf("%d",&tt);
           if (tt==1) menuchinh();
          // else
          // exit;
    
    	 getch();
    	}
    
       void ruttien()
    	{
    	printf("add");
    	getch();
    	}
       void chuyenkhoan()
    	{
    	printf("ddd");
    	getch();
    	}
       void doimapin()
    	{
    	printf("bb");
    	getch();
    	}
    
       void main()
           { clrscr();
    	menu1();
    	  do
    	   {
    	     chon=menuchinh();
    	     switch(chon)
    	       {
    		case 1:sodu();
    		break;
    		case 2:ruttien();
    		break;
    		case 3:chuyenkhoan();
    		break;
    		case 4:doimapin();
    		break;
    		default: (chon==1||chon==2||chon==3||chon==4||chon==0);
    	     //	printf(stdprn,"Ban chon sai . chi duoc chon tu 1 -> 4.\n");
    
    	       }  }
    	  while(chon!=0);
    
    
    	 getch();
           }
    các pác bổ sung cho em hiểu phần myCard.dat .
    cái myCard.dat chứa tên và mật khẩu tài .? em ko biết làm bước này .
    -ví dụ : myCard.dat chứa 1 danh tên và mật khẩu . ví dụ : nguyễn văn a. mã pin : 123456
    - kiểm tra số dư : các bác giúp em phần . khi em ấn 1 chọn số dư nó sẻ mở đến 1 file ở hệ thống
    chứ không tự tay viết vào như em ở code kia :(
    giúp em
    - giúp e lại cái phần chọn .chỉ được phép chon 1-4 mà em làm ko được ấn ngoài 1 đến 4 thì báo sai nhập lại
    Đã được chỉnh sửa lần cuối bởi QuangHoang : 16-10-2008 lúc 08:24 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