欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      銀行ATM機工作流程模擬編程(鏈表)

      時間:2019-05-11 20:53:39下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關的《銀行ATM機工作流程模擬編程(鏈表)》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《銀行ATM機工作流程模擬編程(鏈表)》。

      第一篇:銀行ATM機工作流程模擬編程(鏈表)

      程序設計基礎

      (一)綜合作業(yè)

      銀行ATM機工作流程模擬編程

      班級學號姓名

      [綜合作業(yè)目的]

      1、通過編程及上機調(diào)試,掌握函數(shù)、文件、結構及鏈表的綜合應用;

      2、掌握查找、排序等基本算法;

      3、掌握模塊化程序設計的方法。

      [綜合作業(yè)內(nèi)容]

      編程,模擬一個ATM(Automatic Teller Machine,自動取款機)的工作流程。依據(jù)帳戶信息:姓名、帳號、密碼、余額,完成ATM機功能:登錄、顯示余額、取款、修改密碼。具體要求:

      1、合理規(guī)劃數(shù)據(jù)結構,以保存儲戶信息;

      2、使用鏈表結構記錄有關數(shù)據(jù),使用鏈表完成相關操作;

      3、使用文件記載儲戶信息,程序啟動時加載儲戶信息,程序退出時保存儲戶信息;

      4、程序工作流程:

      ? 顯示登錄界面:帳號:

      密碼:

      接受用戶輸入。

      ? 若為非法用戶,提示出錯,并重新登錄,3次出錯后退出;

      ? 若為合法用戶,則顯示操作菜單,提供下述服務:

      ① 顯示基本信息

      ② 修改密碼

      ③ 查詢余額

      ④ 存款

      ⑤ 取款(每次取款額度為¥5000元)

      ⑥ 退出

      5、* 用戶一次登錄后的取款總數(shù)超過¥50000者,則程序自動產(chǎn)生一個明細記錄,記載該用戶的登錄時間、地點(登錄時間、地點假設已知,并用字符串表示)??紤]此種情況較少出現(xiàn),為節(jié)省存儲空間,不宜在描述儲戶信息的數(shù)據(jù)結構中直接分配字符數(shù)組(建議在其數(shù)據(jù)結構中添加一個指向字符串數(shù)組的指針,…);

      6、提交設計文檔及源代碼清單。

      [綜合作業(yè)要求]

      1、獨立、按時完成綜合作業(yè);

      2、進行需求分析,完成相關數(shù)據(jù)結構的規(guī)劃與設計;

      3、實現(xiàn)菜單所列功能。具體要求:

      每個功能為一個獨立的函數(shù);所有的輸入之前都要有提示。

      4、在程序的調(diào)試中,應用所學的計算機知識,完成大批數(shù)據(jù)的輸入。并列出完整、嚴格的測試結果(包括輸入和輸出);

      5、提交完整的C代碼及設計文檔(包括設計方案、具體功能及實現(xiàn)、特點小結等)。1

      第二篇:模擬ATM機流程

      模擬ATM機流程

      package com.igeekhome.demo2;

      import java.util.Scanner;

      //銀行帳戶類

      public class Account { // 屬性

      private int id;private String name;private String pass;private double balance;private static int currentID = 1;// 記錄當前的卡

      // get/set public int getId(){

      return this.id;}

      public String getName(){

      return this.name;}

      public String getPass(){

      return this.pass;}

      public double getBalance(){

      return this.balance;}

      //構造函數(shù)

      public Account(String name,String pass,double money){

      this.name = name;

      this.pass = pass;

      this.balance = money;

      this.id = currentID++;}

      /*******業(yè)務方法*********/

      //存款

      public void saveMoney(){ Scanner in = new Scanner(System.in);//接收存款的金額

      System.out.print(“請輸入存款的金額:”);int money = in.nextInt();

      //修改余額

      this.balance+=money;

      //給出提示

      System.out.println(“存款成功,當前的余額是:”+this.balance);}

      //取款

      public void drawMoney(){ Scanner in = new Scanner(System.in);//接收取款的金額

      System.out.print(“請輸入取款的金額:”);int money = in.nextInt();//判斷余額是否大于取款金額,如果滿足上面的條件,則修改余額,并給出提示

      if(this.balance>money){

      this.balance-=money;

      System.out.println(“取款成功,當前的余額是:”+this.balance);}else{//如果不滿足,則給出取款 失敗的動提示

      System.out.println(“余額不足,取款失敗”);}

      }

      //修改密碼

      public void modifyPass(){ Scanner in = new Scanner(System.in);//接收原密碼

      System.out.print(“請輸入原密碼:”);String oldPass = in.nextLine();//判斷密碼是否正確,如果不正確,則給出提示,結束方法

      if(this.pass.equals(oldPass)==false){

      System.out.println(“原密碼不正確,修改密碼失敗”);

      return;//返回,不再往下執(zhí)行

      }

      //如果正確,則接收新密碼

      System.out.print(“請輸入新密碼:”);String newPass1 = in.nextLine();

      //再次接收新密碼

      System.out.print(“請再次輸入新密碼:”);

      String newPass2 = in.nextLine();

      //判斷兩次新密碼是否一致,如果一致,修改密碼,給出提示

      if(newPass1.equals(newPass2)){

      this.pass = newPass1;

      System.out.println(“修改密碼成功”);

      }else{ //如果不一致,給出修改密碼失敗提示

      System.out.println(“兩次新密碼不一致,修改密碼失敗”);

      }

      }

      }

      package com.igeekhome.demo2;

      import java.util.Scanner;

      public class Test {

      public static void main(String[] args){

      //創(chuàng)建一個帳戶對象,進行模擬操作

      Account a = new Account(“張三”,“888888”,1000);

      //System.out.println(a.getId()+“,”+a.getPass());

      //調(diào)用登錄方法,并得到返回結果

      boolean flag = Test.login(a.getId(), a.getPass());

      if(flag){//如果返回值為true,才進行到主菜單進行相關的操作

      Test.showMenu(a);

      }

      }

      //進行登錄操作,如果成功,則返回true,否則返回false /*

      * 用戶在ATM機進行操作時,可以有三次輸入密碼的機會,如果三次中任何一次輸入正確,可以進入到主界面進行相關操作,如果三次都不正確,則輸出“請與管理員聯(lián)系”

      */ public static boolean login(int id,String pass){//id,pass現(xiàn)有卡的卡號和密碼

      Scanner in = new Scanner(System.in);

      for(int i=1;i<=3;i++){

      System.out.print(“請輸入卡號:”);

      String s = in.nextLine();

      int curID = Integer.parseInt(s);

      System.out.print(“請輸入密碼:”);

      String curPass = in.nextLine();

      //如果卡號和密碼都正確,則返回 true

      if(id==curID && pass.equals(curPass))

      return true;

      if(i<3)

      System.out.println(“卡號或密碼不正確,請重新輸入!”);

      else

      System.out.println(“三次輸入錯誤,請與管理員進行聯(lián)系”);}

      return false;}

      //顯示菜單,進行相關操作

      public static void showMenu(Account a){ Scanner in = new Scanner(System.in);

      System.out.println(“歡迎使用ATM取款機”);while(true){

      System.out.println(“請選擇:1.查詢余額;2.取款;3.存款;4.修改密碼;5.退出:”);

      int choose = in.nextInt();//接收用戶的選擇

      if(choose==5)

      break;

      switch(choose){

      case 1:System.out.println(“您的余額是:”+a.getBalance());break;

      case 2:a.drawMoney();break;

      case 3:a.saveMoney();break;

      case 4:a.modifyPass();break;

      default:System.out.println(“您的輸入有誤,請重新輸入”);break;

      } }

      System.out.println(“感謝您再次使用!”);} }

      第三篇: 《ATM模擬銀行》設計報告

      《C/S項目實訓》

      課程設計報告

      題 目: ATM模擬銀行

      學生姓名(學號): 代小龍(20***1)安梓瑋(20***7)侯碩(20***5)

      專 業(yè): 信息管理與信息系統(tǒng)

      班 級: 18信管(一)班

      指導教師: 申晨

      信息管理與工程系

      2019年01月02日

      基于Java的ATM模擬銀行開發(fā)與設計

      摘要:

      自動取款機又稱ATM,意思是自動柜員機,因大部分用于取款,又稱自動取款機。它是一種利用磁性代碼卡或智能卡實現(xiàn)金融交易的自助服務,代替銀行柜面人員的工作??商崛‖F(xiàn)金、查詢存款余額、進行賬戶之間資金轉(zhuǎn)賬、余額查詢等工作;還可以進行現(xiàn)金存款(實時入賬)、中間業(yè)務等工作。持卡人可以根據(jù)密碼辦理自動取款、查詢余額、轉(zhuǎn)賬、現(xiàn)金存款,更改密碼,繳納手機話費等業(yè)務。我們在這次課程設計上運用了JAVA以及 SQL Server 2012進行設計。.該系統(tǒng)是站在用戶的角度來實現(xiàn)取款,存款,轉(zhuǎn)賬,修改密碼,定期存款,查詢余額多個頁面的實現(xiàn),頁面的實現(xiàn)滿足了銀行基本的業(yè)務需求,使銀行工作規(guī)范化,自動化,在系統(tǒng)頁面設計方面,我們使得系統(tǒng)的功能操作簡單,用戶體驗較好。

      窗體底端

      關鍵字:ATM模擬機,用戶,管理員,頁面設計,JAVA,sql server,Eclipse集成開發(fā)環(huán)境下開發(fā)系統(tǒng)

      目 錄 項目簡介與分工 1

      1.1 項目簡介 1

      1.1.1 系統(tǒng)開發(fā)需求 1

      1.1.2系統(tǒng)具體事務 1

      1.1.3 系統(tǒng)開發(fā)環(huán)境要求 1

      1.2 項目分工 2 項目設計方案 3 項目功能實現(xiàn) 4

      3.1數(shù)據(jù)庫的實現(xiàn) 4

      3.2主要功能實現(xiàn) 5

      3.2.1主界面 5

      3.2.2普通用戶存款界面 9

      3.2.3用戶轉(zhuǎn)賬 11

      3.2.4手機繳費 16

      3.2.5用戶取款 19

      3.2.6凍結 24

      3.2.7開戶 26

      3.2.8銷戶 30項目總結及展望 33 心得體會 34

      參 考 文 獻 35 項目簡介與分工

      1.1 項目簡介

      本系統(tǒng)采用JAVA語言編寫測試完成,基本上在字符界面下模擬了ATM系統(tǒng)的相關實現(xiàn)。主要模擬銀行ATM機系統(tǒng)功能,主要有查閱、轉(zhuǎn)賬、取款、存款、添加用戶、刪除用戶、修改密碼、凍結用戶,管理員解凍、手動手機費繳費等功能

      1.1.1 系統(tǒng)開發(fā)需求

      隨著市場經(jīng)濟的發(fā)展,經(jīng)濟信息化程度的不斷深入,銀行的傳統(tǒng)業(yè)務己愈來

      愈不能滿足銀行客戶的需要。同時,隨著國內(nèi)銀行機構的大量增加,我國的銀行業(yè)面臨更加激烈的同業(yè)競爭,如何提供更多的金融產(chǎn)品和更優(yōu)質(zhì)的服務,如何吸引更多的客戶,如何利用計算機技術加強銀行帳戶信息管理,提高銀行的工作效率和業(yè)務竟爭能力是擺在各家銀行面前的一個迫切需要解訣的問題。隨著信息技術對銀行業(yè)的滲透和促進,銀行卡業(yè)務近年來得到“迅猛發(fā)展,銀行卡發(fā)卡量、交易量大幅激增,ATM設備數(shù)量也隨之增加。

      1.1.2系統(tǒng)具體事務

      用戶:用戶存款、取款、轉(zhuǎn)賬、余額信息查詢、修改密碼、手機話費的繳費并與數(shù)據(jù)庫實時同步。

      管理員:對用戶賬號的凍結以及解凍并詢問是否修改密碼、開戶與銷戶、與數(shù)據(jù)庫實時同步。

      1.1.3 系統(tǒng)開發(fā)環(huán)境要求

        ?.操作系統(tǒng):Windows系統(tǒng)

        ?.開發(fā)語言:Java、SQL server

        ?.數(shù)據(jù)庫:SQLServer2012

        ?.軟件:eclipse

      1.2 項目分工

      代小龍:管理員的開戶,銷戶,凍結,用戶明細,JDBC的連接

      安梓瑋:存款,轉(zhuǎn)賬,查詢余額,電話繳費,撰寫報告

      侯碩:取款,用戶界面美化,撰寫報告 項目設計方案

      實現(xiàn)ATM機的基本功能,包括:查詢余額、存款、取款、轉(zhuǎn)賬、用戶明細、手機繳費以及管理員開戶、銷戶等操作,等基本功能;

      查詢余額:連接數(shù)據(jù)庫,根據(jù)與數(shù)據(jù)庫內(nèi)數(shù)據(jù)相同的正確的用戶名和密碼登錄查詢對應的余額;轉(zhuǎn)賬,存取款的金額必須為100或者是100的整數(shù)倍,操作完成后會實時更新數(shù)據(jù)庫內(nèi)相應的內(nèi)容。

      修改密碼:在舊密碼相同的情況下,新密碼和確認密碼也相同的情況下,密碼修改完成。

      轉(zhuǎn)賬:可以轉(zhuǎn)賬任何金額,但是當轉(zhuǎn)賬金額小于余額時,轉(zhuǎn)賬失敗。

      手機繳費:需要繳費的手機號需時已經(jīng)存在的,可以存任意金額。

      管理員操作的基本功能包括對銀行卡開戶、銷戶、凍結、解凍、修改管理員密碼等的操作,并在數(shù)據(jù)庫內(nèi)實時更新。項目功能實現(xiàn)

      3.1數(shù)據(jù)庫的實現(xiàn)

      card表:主要是用戶銀行卡的信息,包括賬號、密碼、余額、是否被凍結、存款余額,其中account是varchar型的主鍵。

      details表:主要是戶主名account,日期和資金明細。

      GLY表:包含所有管理員的信息。并對管理員的account設為主鍵。

      3.2主要功能實現(xiàn)

      3.2.1登錄界面

      “"

      package atm_client;

      import java.awt.Font;

      import java.awt.GridLayout;

      import java.awt.event.ActionEvent;

      import java.awt.event.ActionListener;

      import java.io.BufferedReader;

      import java.io.IOException;

      import java.io.InputStreamReader;

      import java.io.PrintWriter;

      import java.net.InetAddress;

      import java.net.Socket;

      import java.net.UnknownHostException;

      import javax.swing.JButton;

      import javax.swing.JFrame;

      import javax.swing.JLabel;

      import javax.swing.JOptionPane;

      import javax.swing.JPanel;

      import javax.swing.JPasswordField;

      import javax.swing.JTextField;

      import comm.Card;

      import comm.CardGLY;

      public class Login extends JFrame {

      JTextField tfAccount;

      JPasswordField tfPwd;

      JButton btOK,btCancel,btGLY;

      Card currCard;

      CardGLY currCardGLY;

      private int count=0;

      public void init(){

      //界面

      JLabel IAccount,IPwd,Itag;

      IAccount= new JLabel(”賬號:“);

      IPwd= new JLabel(”密碼:“);

      Itag=new JLabel(”歡迎登錄ATM系統(tǒng)“);

      tfAccount = new JTextField();

      tfPwd =new JPasswordField();

      btOK=new JButton(”普通登錄“);

      btGLY=new JButton(”管理員登錄“);

      btCancel =new JButton(”取消“);

      Itag.setFont(new Font(”“,Font.CENTER_BASELINE, 20));

      btGLY.setFont(new Font(”“,Font.CENTER_BASELINE, 12));

      btOK.setFont(new Font(”“,Font.CENTER_BASELINE, 12));

      btCancel.setFont(new Font(”“,Font.CENTER_BASELINE, 12));

      IAccount.setFont(new Font(”“,Font.CENTER_BASELINE, 18));

      tfAccount.setFont(new Font(”“,Font.CENTER_BASELINE, 18));

      tfPwd.setFont(new Font(”“,Font.CENTER_BASELINE, 18));

      IPwd.setFont(new Font(”“,Font.CENTER_BASELINE, 18));

      JPanel panelOne = new JPanel(null);

      panelOne.setOpaque(false);

      Itag.setBounds(120,15,350,30);

      btOK.setBounds(40, 270, 100, 40);

      btGLY.setBounds(160,270,100,40);

      btCancel.setBounds(280,270,100,40);

      tfAccount.setBounds(160,100,160,40);

      IAccount.setBounds(90,105,80,40);

      IPwd.setBounds(90, 165,80, 40);

      tfPwd.setBounds(160,160,160,40);

      panelOne.add(Itag);

      panelOne.add(IPwd);

      panelOne.add(IAccount);

      panelOne.add(btCancel);

      panelOne.add(btGLY);

      panelOne.add(btOK);

      panelOne.add(tfAccount);

      panelOne.add(tfPwd);

      this.add(panelOne);

      this.setTitle(”精神小伙銀行“);

      this.setBounds(700, 250, 450, 400);

      this.setVisible(true);

      //監(jiān)聽

      //普通用戶登錄

      btOK.addActionListener(new ActionListener(){

      @Override

      public void actionPerformed(ActionEvent e){

      // TODO Auto-generated method stub

      String account=tfAccount.getText();

      String pwd=new String(tfPwd.getPassword());

      BufferedReader br=null;

      PrintWriter pw=null;

      String strEcho=”“;

      try {

      Socket s=new Socket(InetAddress.getByName(”127.0.0.1“), 8009);

      br=new BufferedReader(new InputStreamReader(s.getInputStream()));

      pw=new PrintWriter(s.getOutputStream());

      pw.write(”Loginrn“);

      pw.write(account+”rn“);

      pw.write(pwd+”rn“);

      pw.flush();

      strEcho=br.readLine();

      if(strEcho.equals(”1“)){

      JOptionPane.showMessageDialog(Login.this, ”對不起,您的賬號有誤!“);

      tfAccount.setText(”“);

      tfPwd.setText(”“);

      }else if(strEcho.equals(”2“)){

      float money =Float.parseFloat(br.readLine());

      String dongjie=br.readLine();

      String name=br.readLine();

      currCard=new Card(account,pwd,money,dongjie,name);

      JOptionPane.showMessageDialog(Login.this, ”歡迎登錄河北金苑銀行!“);

      Login.this.dispose();

      new MainFrame(br,pw,currCard).init();

      }else if(strEcho.equals(”3“)){

      count++;

      if(count==3){

      JOptionPane.showMessageDialog(Login.this, ”對不起,密碼錯誤3次,您的卡已被凍結!請聯(lián)系管理員“);

      pw.write(”dongjiern“);

      pw.flush();

      Login.this.dispose();

      }else {

      JOptionPane.showMessageDialog(Login.this,”密碼錯誤,請重新輸入“);

      String c=String.valueOf(count);

      pw.write(c+”rn“);

      pw.flush();

      }

      }else if(strEcho.equals(”4“)){

      JOptionPane.showMessageDialog(Login.this,”對不起,您的卡已被凍結,請聯(lián)系管理員“);

      Login.this.dispose();

      }

      } catch(UnknownHostException e1){

      // TODO Auto-generated catch block

      e1.printStackTrace();

      } catch(IOException e1){

      // TODO Auto-generated catch block

      e1.printStackTrace();

      }

      }

      });

      //管理員登錄

      btGLY.addActionListener(new ActionListener(){

      @Override

      public void actionPerformed(ActionEvent e){

      // TODO Auto-generated method stub

      String account=tfAccount.getText();

      String pwd=new String(tfPwd.getPassword());

      BufferedReader br=null;

      PrintWriter pw=null;

      String strEcho=”“;

      try {

      Socket s=new Socket(InetAddress.getByName(”127.0.0.1“), 8009);

      br=new BufferedReader(new InputStreamReader(s.getInputStream()));

      pw=new PrintWriter(s.getOutputStream());

      pw.write(”GLYrn“);

      pw.write(account+”rn“);

      pw.write(pwd+”rn“);

      pw.flush();

      strEcho=br.readLine();

      if(strEcho.equals(”9“)){

      JOptionPane.showMessageDialog(Login.this, ”對不起,您的賬號有誤!“);

      tfAccount.setText(”“);

      tfPwd.setText(”“);

      }else if(strEcho.equals(”8“)){

      JOptionPane.showMessageDialog(Login.this,”您已經(jīng)以管理員身份登錄!“);

      Login.this.dispose();

      new MainFrameGLY(br,pw,currCardGLY).init();

      }else if(strEcho.equals(”7“)){

      JOptionPane.showMessageDialog(Login.this,”您的密碼錯誤“);

      }

      } catch(UnknownHostException e1){

      // TODO Auto-generated catch block

      e1.printStackTrace();

      } catch(IOException e1){

      // TODO Auto-generated catch block

      e1.printStackTrace();

      }

      }

      });

      btCancel.addActionListener(new ActionListener(){

      @Override

      public void actionPerformed(ActionEvent e){

      // TODO Auto-generated method stub

      Login.this.dispose();

      }

      });

      }

      public static void main(String[] args){

      new Login().init();

      }

      }

      3.2.2普通存款界面

      package atm_client;

      import java.awt.Color;

      import java.awt.event.ActionEvent;

      import java.awt.event.ActionListener;

      import java.io.BufferedReader;

      import java.io.IOException;

      import java.io.PrintWriter;

      import javax.swing.JButton;

      import javax.swing.JFrame;

      import javax.swing.JLabel;

      import javax.swing.JOptionPane;

      import javax.swing.JPanel;

      import javax.swing.JTextField;

      import comm.Card;

      import atm_client.Take;

      public class Save extends JFrame implements ActionListener{

      // 存款界面按鈕

      JTextField tfmoney;

      private JButton bt000,bt001,bt002,bt003,bt004,bt005,bt006,bt007,bt008,bt009;

      private JButton bt100,bt200,bt300,bt500,bt1000;

      private JButton btOK,btCancel,btRetry;

      BufferedReader br;

      PrintWriter pw;

      Card currCard;

      public Save(BufferedReader br,PrintWriter pw,Card currCard){

      this.br=br;

      this.pw=pw;

      this.currCard=currCard;

      }

      public void init(){

      JPanel panelTake = new JPanel(null);

      panelTake.setBackground(new Color(119,119,253));

      JLabel lblqukuan = new JLabel(”請輸入您的存款數(shù):“);

      panelTake.add(lblqukuan);

      lblqukuan.setBounds(115, 20, 150, 30);

      lblqukuan=new JLabel(”提示:只能是100元或100元的整數(shù)倍?!?;

      panelTake.add(lblqukuan);

      lblqukuan.setBounds(115, 50, 300, 30);

      tfmoney=new JTextField(12);

      tfmoney.setEnabled(false);

      panelTake.add(tfmoney);

      tfmoney.setBounds(115,90,200,30);

      bt100=new JButton(”100“);

      panelTake.add(bt100);

      bt100.addActionListener(this);

      bt100.setBounds(45,190,60,30);

      bt200=new JButton(”200“);

      panelTake.add(bt200);

      bt200.addActionListener(this);

      bt200.setBounds(115,190,60,30);

      bt300=new JButton(”300“);

      panelTake.add(bt300);

      bt300.addActionListener(this);

      bt300.setBounds(185,190,60,30);

      bt500=new JButton(”500“);

      panelTake.add(bt500);

      bt500.addActionListener(this);

      bt500.setBounds(255,190,60,30);

      bt1000=new JButton(”1000“);

      panelTake.add(bt1000);

      bt1000.addActionListener(this);

      bt1000.setBounds(325,190,65,30);

      bt001=new JButton(”1“);

      panelTake.add(bt001);

      bt001.addActionListener(this);

      bt001.setBounds(45,230,60,30);

      bt002=new JButton(”2“);

      panelTake.add(bt002);

      bt002.addActionListener(this);

      bt002.setBounds(115,230,60,30);

      bt003=new JButton(”3“);

      panelTake.add(bt003);

      bt003.addActionListener(this);

      bt003.setBounds(185,230,60,30);

      bt004=new JButton(”4“);

      panelTake.add(bt004);

      bt004.addActionListener(this);

      bt004.setBounds(255,230,60,30);

      bt005=new JButton(”5“);

      panelTake.add(bt005);

      bt005.addActionListener(this);

      bt005.setBounds(325,230,65,30);

      bt006=new JButton(”6“);

      panelTake.add(bt006);

      bt006.addActionListener(this);

      bt006.setBounds(45,270,60,30);

      bt007=new JButton(”7“);

      panelTake.add(bt007);

      bt007.addActionListener(this);

      bt007.setBounds(115,270,60,30);

      bt008=new JButton(”8“);

      panelTake.add(bt008);

      bt008.addActionListener(this);

      bt008.setBounds(185,270,60,30);

      bt009=new JButton(”9“);

      panelTake.add(bt009);

      bt009.addActionListener(this);

      bt009.setBounds(255,270,60,30);

      bt000=new JButton(”0“);

      panelTake.add(bt000);

      bt000.addActionListener(this);

      bt000.setBounds(325,270,65,30);

      btOK=new JButton(”確定“);

      panelTake.add(btOK);

      btOK.addActionListener(this);

      btOK.setBounds(70,140,80,30);

      btRetry=new JButton(”重輸“);

      panelTake.add(btRetry);

      btRetry.addActionListener(this);

      btRetry.setBounds(175,140,80,30);

      btCancel=new JButton(”返回“);

      panelTake.add(btCancel);

      btCancel.addActionListener(this);

      btCancel.setBounds(280,140,80,30);

      this.setTitle(”存款!“);

      this.add(panelTake);

      this.setSize(435,350);

      this.setVisible(true);

      this.setLocation(500, 250);

      }

      @Override

      public void actionPerformed(ActionEvent arg0){

      // TODO Auto-generated method stub

      if(arg0.getSource()==bt100||arg0.getSource()==bt200||arg0.getSource()==bt300||arg0.getSource()==bt500||arg0.getSource()==bt1000)

      tfmoney.setText(arg0.getActionCommand());

      else if(arg0.getSource()==bt000||arg0.getSource()==bt001||arg0.getSource()==bt002||arg0.getSource()==bt003||arg0.getSource()==bt004||arg0.getSource()==bt005||arg0.getSource()==bt006||arg0.getSource()==bt007||arg0.getSource()==bt008||arg0.getSource()==bt009){

      tfmoney.setText(tfmoney.getText()+arg0.getActionCommand());

      }else if(arg0.getSource()==btOK){

      int saveMoney=Integer.parseInt(tfmoney.getText());

      if(saveMoney%100!=0){

      JOptionPane.showMessageDialog(Save.this, ”對不起,您輸入的金額不符合規(guī)定!“);

      tfmoney.setText(”“);

      }

      else{

      //發(fā)送新的賬戶信息給服務器

      pw.write(”savern“);

      pw.write(saveMoney+”rn“);

      pw.flush();

      //等待響應,更新當前登錄賬號

      String strEcho=”“;

      try {

      strEcho = br.readLine();

      if(strEcho.equals(”Success“)){

      currCard.setMoney(currCard.getMoney()+saveMoney);

      JOptionPane.showMessageDialog(null, ”恭喜你成功存款“+saveMoney+”元n當前賬戶余額為:“+currCard.getMoney());

      tfmoney.setText(”“);

      } else if(strEcho.equals(”Failure“)){

      JOptionPane.showMessageDialog(Save.this,”存款失敗“);

      }

      } catch(IOException e){

      // TODO Auto-generated catch block

      e.printStackTrace();

      }

      }

      }else if(arg0.getSource()==btCancel){

      Save.this.dispose();

      new MainFrame(br,pw,currCard).init();

      }else if(arg0.getSource()==btRetry){

      tfmoney.setText(”“);

      }

      }

      }

      3.2.3用戶轉(zhuǎn)賬界面

      package atm_client;

      import java.awt.GridLayout;

      import java.awt.event.ActionEvent;

      import java.awt.event.ActionListener;

      import java.io.BufferedReader;

      import java.io.IOException;

      import java.io.PrintWriter;

      import javax.swing.JButton;

      import javax.swing.JFrame;

      import javax.swing.JLabel;

      import javax.swing.JOptionPane;

      import javax.swing.JPanel;

      import javax.swing.JTextField;

      import comm.Card;

      public class Trans extends JFrame {

      JTextField Taccount,Tmoney;

      JButton btOk,btCancel;

      JLabel lAccount,lMoney;

      BufferedReader br;

      PrintWriter pw;

      Card currCard;

      public Trans(BufferedReader br,PrintWriter pw,Card currCard){

      this.br=br;

      this.pw=pw;

      this.currCard=currCard;

      }

      public void init(){

      JPanel panelTrans=new JPanel(null);

      panelTrans.setLayout(new GridLayout(3,2));

      lAccount =new JLabel(”賬戶:“);

      lMoney =new JLabel(”金額:“);

      btOk = new JButton(”確定“);

      btCancel = new JButton(”取消“);

      Taccount=new JTextField();

      Tmoney = new JTextField();

      panelTrans.add(lAccount);

      panelTrans.add(Taccount);

      panelTrans.add(lMoney);

      panelTrans.add(Tmoney);

      panelTrans.add(btOk);

      panelTrans.add(btCancel);

      this.add(panelTrans);

      this.setTitle(”轉(zhuǎn)賬!“);

      this.setSize(300,160);

      this.setLocation(500, 250);

      this.setVisible(true);

      //this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

      btOk.addActionListener(new ActionListener(){

      @Override

      public void actionPerformed(ActionEvent e){

      // TODO Auto-generated method stub

      if(Taccount.getText().equals(”“)){

      JOptionPane.showMessageDialog(Trans.this, ”請輸入賬號“);

      }else if(Tmoney.getText().equals(”“)){

      JOptionPane.showMessageDialog(Trans.this, ”請輸入金額“);

      }else {

      pw.write(”transrn“);

      pw.write(Taccount.getText()+”rn“);

      pw.write(Tmoney.getText()+”rn“);

      pw.flush();

      String strEcho=”“;

      try {

      strEcho=br.readLine();

      if(strEcho.equals(”Success“)){

      currCard.setMoney(currCard.getMoney()-Float.parseFloat(Tmoney.getText()));

      JOptionPane.showMessageDialog(Trans.this, ”轉(zhuǎn)賬成功“);

      }else if(strEcho.equals(”1“)){

      JOptionPane.showMessageDialog(Trans.this, ”賬號不存在“);

      }else if(strEcho.equals(”2“)){

      JOptionPane.showMessageDialog(Trans.this,”不能向自己轉(zhuǎn)賬“);

      }else if(strEcho.equals(”3“)){

      JOptionPane.showMessageDialog(Trans.this,”余額不足“);

      }else if(strEcho.equals(”Fuilure“)){

      JOptionPane.showMessageDialog(Trans.this,”轉(zhuǎn)賬失敗“);

      }

      } catch(IOException e1){

      // TODO Auto-generated catch block

      e1.printStackTrace();

      }

      }

      }

      });

      btCancel.addActionListener(new ActionListener(){

      @Override

      public void actionPerformed(ActionEvent e){

      // TODO Auto-generated method stub

      Trans.this.dispose();

      }

      });

      }

      }

      3.2.4手機繳費

      package atm_client;

      import java.awt.GridLayout;

      import java.awt.event.ActionEvent;

      import java.awt.event.ActionListener;

      import java.io.BufferedReader;

      import java.io.IOException;

      import java.io.PrintWriter;

      import javax.swing.JButton;

      import javax.swing.JFrame;

      import javax.swing.JLabel;

      import javax.swing.JOptionPane;

      import javax.swing.JPanel;

      import javax.swing.JTextField;

      import comm.Card;

      public class Communi extends JFrame{

      JTextField TNumber,Tmoney;

      JButton btOk,btCancel;

      JLabel INumber,lMoney;

      BufferedReader br;

      PrintWriter pw;

      Card currCard;

      public Communi(BufferedReader br,PrintWriter pw,Card currCard){

      this.br=br;

      this.pw=pw;

      this.currCard=currCard;

      }

      public void init(){

      JPanel panelTrans=new JPanel(null);

      panelTrans.setLayout(new GridLayout(3,2));

      INumber =new JLabel(”賬戶:“);

      lMoney =new JLabel(”金額:“);

      btOk = new JButton(”確定“);

      btCancel = new JButton(”取消“);

      TNumber=new JTextField();

      Tmoney = new JTextField();

      panelTrans.add(INumber);

      panelTrans.add(TNumber);

      panelTrans.add(lMoney);

      panelTrans.add(Tmoney);

      panelTrans.add(btOk);

      panelTrans.add(btCancel);

      this.add(panelTrans);

      this.setTitle(”手機繳費!“);

      this.setSize(300,160);

      this.setLocation(500, 250);

      this.setVisible(true);

      //this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

      btOk.addActionListener(new ActionListener(){

      @Override

      public void actionPerformed(ActionEvent e){

      // TODO Auto-generated method stub

      if(TNumber.getText().equals(”“)){

      JOptionPane.showMessageDialog(Communi.this, ”請輸入手機號“);//導入類——消息對話框

      }else if(Tmoney.getText().equals(”“)){

      JOptionPane.showMessageDialog(Communi.this, ”請輸入金額“);

      }else {

      pw.write(”communirn“);

      pw.write(TNumber.getText()+”rn“);

      pw.write(Tmoney.getText()+”rn“);

      pw.flush();

      String strEcho=”“;

      try {

      strEcho=br.readLine();

      if(strEcho.equals(”Success“)){

      currCard.setMoney(currCard.getMoney()-Float.parseFloat(Tmoney.getText()));

      JOptionPane.showMessageDialog(Communi.this, ”充值成功“);

      Communi.this.dispose();

      }else if(strEcho.equals(”1“)){

      JOptionPane.showMessageDialog(Communi.this, ”手機號不存在“);

      }else if(strEcho.equals(”2“)){

      JOptionPane.showMessageDialog(Communi.this,”余額不足“);

      }else if(strEcho.equals(”Fuilure“)){

      JOptionPane.showMessageDialog(Communi.this,”充值失敗“);

      }

      } catch(IOException e1){

      // TODO Auto-generated catch block

      e1.printStackTrace();

      }

      }

      }

      });

      btCancel.addActionListener(new ActionListener(){

      @Override

      public void actionPerformed(ActionEvent e){

      // TODO Auto-generated method stub

      Communi.this.dispose();

      }

      });

      }

      }

      3.2.5用戶取款

      package atm_client;

      import java.awt.Color;

      import java.awt.event.ActionEvent;

      import java.awt.event.ActionListener;

      import java.io.BufferedReader;

      import java.io.IOException;

      import java.io.PrintWriter;

      import javax.swing.JButton;

      import javax.swing.JFrame;

      import javax.swing.JLabel;

      import javax.swing.JOptionPane;

      import javax.swing.JPanel;

      import javax.swing.JTextField;

      import comm.Card;

      import atm_client.Take;

      public class Take extends JFrame implements ActionListener{

      // 取款界面按鈕

      JTextField tfmoney;

      private JButton bt000,bt001,bt002,bt003,bt004,bt005,bt006,bt007,bt008,bt009;

      private JButton bt100,bt200,bt300,bt500,bt1000;

      private JButton btOK,btCancel,btRetry;

      BufferedReader br;

      PrintWriter pw;

      Card currCard;

      public Take(BufferedReader br,PrintWriter pw,Card currCard){

      this.br=br;

      this.pw=pw;

      this.currCard=currCard;

      }

      public void init(){

      JPanel panelTake = new JPanel(null);

      panelTake.setBackground(new Color(119,119,253));

      JLabel lblqukuan = new JLabel(”請輸入您要取的錢數(shù):“);

      panelTake.add(lblqukuan);

      lblqukuan.setBounds(115, 20, 150, 30);

      lblqukuan=new JLabel(”提示:只能是100元或100元的整數(shù)倍?!?;

      panelTake.add(lblqukuan);

      lblqukuan.setBounds(115, 50, 300, 30);

      tfmoney=new JTextField(12);

      tfmoney.setEnabled(false);

      panelTake.add(tfmoney);

      tfmoney.setBounds(115,90,200,30);

      bt100=new JButton(”100“);

      panelTake.add(bt100);

      bt100.addActionListener(this);

      bt100.setBounds(45,190,60,30);

      bt200=new JButton(”200“);

      panelTake.add(bt200);

      bt200.addActionListener(this);

      bt200.setBounds(115,190,60,30);

      bt300=new JButton(”300“);

      panelTake.add(bt300);

      bt300.addActionListener(this);

      bt300.setBounds(185,190,60,30);

      bt500=new JButton(”500“);

      panelTake.add(bt500);

      bt500.addActionListener(this);

      bt500.setBounds(255,190,60,30);

      bt1000=new JButton(”1000“);

      panelTake.add(bt1000);

      bt1000.addActionListener(this);

      bt1000.setBounds(325,190,65,30);

      bt001=new JButton(”1“);

      panelTake.add(bt001);

      bt001.addActionListener(this);

      bt001.setBounds(45,230,60,30);

      bt002=new JButton(”2“);

      panelTake.add(bt002);

      bt002.addActionListener(this);

      bt002.setBounds(115,230,60,30);

      bt003=new JButton(”3“);

      panelTake.add(bt003);

      bt003.addActionListener(this);

      bt003.setBounds(185,230,60,30);

      bt004=new JButton(”4“);

      panelTake.add(bt004);

      bt004.addActionListener(this);

      bt004.setBounds(255,230,60,30);

      bt005=new JButton(”5“);

      panelTake.add(bt005);

      bt005.addActionListener(this);

      bt005.setBounds(325,230,65,30);

      bt006=new JButton(”6“);

      panelTake.add(bt006);

      bt006.addActionListener(this);

      bt006.setBounds(45,270,60,30);

      bt007=new JButton(”7“);

      panelTake.add(bt007);

      bt007.addActionListener(this);

      bt007.setBounds(115,270,60,30);

      bt008=new JButton(”8“);

      panelTake.add(bt008);

      bt008.addActionListener(this);

      bt008.setBounds(185,270,60,30);

      bt009=new JButton(”9“);

      panelTake.add(bt009);

      bt009.addActionListener(this);

      bt009.setBounds(255,270,60,30);

      bt000=new JButton(”0“);

      panelTake.add(bt000);

      bt000.addActionListener(this);

      bt000.setBounds(325,270,65,30);

      btOK=new JButton(”確定“);

      panelTake.add(btOK);

      btOK.addActionListener(this);

      btOK.setBounds(70,140,80,30);

      btRetry=new JButton(”重輸“);

      panelTake.add(btRetry);

      btRetry.addActionListener(this);

      btRetry.setBounds(175,140,80,30);

      btCancel=new JButton(”返回“);

      panelTake.add(btCancel);

      btCancel.addActionListener(this);

      btCancel.setBounds(280,140,80,30);

      this.setTitle(”取款!“);

      this.add(panelTake);

      this.setSize(435,350);

      this.setVisible(true);

      this.setLocation(500, 250);

      }

      @Override

      public void actionPerformed(ActionEvent arg0){

      // TODO Auto-generated method stub

      if(arg0.getSource()==bt100||arg0.getSource()==bt200||arg0.getSource()==bt300||arg0.getSource()==bt500||arg0.getSource()==bt1000)

      tfmoney.setText(arg0.getActionCommand());

      else if(arg0.getSource()==bt000||arg0.getSource()==bt001||arg0.getSource()==bt002||arg0.getSource()==bt003||arg0.getSource()==bt004||arg0.getSource()==bt005||arg0.getSource()==bt006||arg0.getSource()==bt007||arg0.getSource()==bt008||arg0.getSource()==bt009){

      tfmoney.setText(tfmoney.getText()+arg0.getActionCommand());

      }else if(arg0.getSource()==btOK){

      int takeMoney=Integer.parseInt(tfmoney.getText());

      if(currCard.getMoney()

      JOptionPane.showMessageDialog(Take.this, ”對不起,您的余額不足!“);

      tfmoney.setText(”“);

      }else if(takeMoney%100!=0){

      JOptionPane.showMessageDialog(Take.this, ”對不起,您輸入的金額不符合規(guī)定!“);

      tfmoney.setText(”“);

      }

      else{

      //發(fā)送新的賬戶信息給服務器

      pw.write(”takern“);

      pw.write(takeMoney+”rn“);

      pw.flush();

      //等待響應,更新當前登錄賬號

      String strEcho=”“;

      try {

      strEcho = br.readLine();

      if(strEcho.equals(”Success“)){

      currCard.setMoney(currCard.getMoney()-takeMoney);

      JOptionPane.showMessageDialog(null, ”恭喜你成功取款“+takeMoney+”元n當前賬戶余額為:“+currCard.getMoney());

      tfmoney.setText(”“);

      } else if(strEcho.equals(”Failure“)){

      JOptionPane.showMessageDialog(Take.this,”取款失敗“);

      }

      } catch(IOException e){

      // TODO Auto-generated catch block

      e.printStackTrace();

      }

      }

      }else if(arg0.getSource()==btCancel){

      Take.this.dispose();

      }else if(arg0.getSource()==btRetry){

      tfmoney.setText(”“);

      }

      }

      }

      }

      3.2.6凍結

      package atm_client;

      import java.awt.Font;

      import java.awt.event.ActionEvent;

      import java.awt.event.ActionListener;

      import java.io.BufferedReader;

      import java.io.IOException;

      import java.io.PrintWriter;

      import javax.swing.JButton;

      import javax.swing.JFrame;

      import javax.swing.JLabel;

      import javax.swing.JOptionPane;

      import javax.swing.JPanel;

      import javax.swing.JTextField;

      import comm.CardGLY;

      public class DongJie extends JFrame implements ActionListener{

      JButton btOK,btCancel;

      JTextField Account,Name;

      BufferedReader br;

      PrintWriter pw;

      CardGLY currCardGLY;

      public DongJie(BufferedReader br,PrintWriter pw,CardGLY currCardGLY){

      this.br=br;

      this.pw=pw;

      this.currCardGLY=currCardGLY;

      }

      public void init(){

      JLabel IAccount,IName,Itag;

      IAccount =new JLabel(”賬號“);

      IName=new JLabel(”用戶名“);

      Itag=new JLabel(”請輸入要凍結的賬號及用戶名“);

      Account =new JTextField();

      Name =new JTextField();

      btOK=new JButton(”確定“);

      btCancel=new JButton(”取消“);

      Itag.setFont(new Font(”“,Font.CENTER_BASELINE, 20));

      btOK.setFont(new Font(”“,Font.CENTER_BASELINE, 12));

      btCancel.setFont(new Font(”“,Font.CENTER_BASELINE, 12));

      IAccount.setFont(new Font(”“,Font.CENTER_BASELINE, 18));

      Account.setFont(new Font(”“,Font.CENTER_BASELINE, 18));

      Name.setFont(new Font(”“,Font.CENTER_BASELINE, 18));

      IName.setFont(new Font(”“,Font.CENTER_BASELINE, 18));

      JPanel panelOne = new JPanel(null);

      panelOne.setOpaque(false);

      Itag.setBounds(80,15,350,30);

      btOK.setBounds(80, 270, 100, 40);

      btCancel.setBounds(240,270,100,40);

      Account.setBounds(160,100,160,40);

      IAccount.setBounds(90,105,80,40);

      IName.setBounds(90, 165,80, 40);

      Name.setBounds(160,160,160,40);

      btCancel.addActionListener(this);

      btOK.addActionListener(this);

      panelOne.add(Itag);

      panelOne.add(IName);

      panelOne.add(IAccount);

      panelOne.add(btCancel);

      panelOne.add(btOK);

      panelOne.add(Account);

      panelOne.add(Name);

      this.add(panelOne);

      this.setTitle(”代小龍+安梓瑋+侯碩“);

      this.setBounds(700, 250, 450, 400);

      this.setVisible(true);

      }

      @Override

      public void actionPerformed(ActionEvent arg0){

      // TODO Auto-generated method stub

      if(arg0.getSource()==btOK){

      if(Account.getText().equals(”“)||Name.getText().equals(”“)){

      JOptionPane.showMessageDialog(DongJie.this,”用戶名和賬號不能為空“);

      }else {

      pw.write(”dongjiern“);

      pw.write(Account.getText()+”rn“);

      pw.write(Name.getText()+”rn“);

      pw.flush();

      System.out.println(Name.getText()+Name.getText());

      try {

      String strEcho=br.readLine();

      if(strEcho.equals(”9“)){

      JOptionPane.showMessageDialog(DongJie.this, ”賬號不存在,請重新輸入“);

      Account.setText(”“);

      Name.setText(”“);

      }else if(strEcho.equals(”7“)){

      JOptionPane.showMessageDialog(DongJie.this, ”凍結成功“);

      DongJie.this.dispose();

      new Ask(br, pw, currCardGLY).init();

      }else if(strEcho.equals(”5“)){

      JOptionPane.showMessageDialog(DongJie.this, ”用戶名錯誤“);

      Name.setText(”“);

      }else if(strEcho.equals(”6“)){

      JOptionPane.showMessageDialog(DongJie.this, ”您的賬號已被凍結“);

      DongJie.this.dispose();

      }else if(strEcho.equals(”8“)){

      JOptionPane.showMessageDialog(DongJie.this, ”凍結失敗“);

      }

      } catch(IOException e){

      // TODO Auto-generated catch block

      e.printStackTrace();

      }

      }

      }else if(arg0.getSource()==btCancel){

      DongJie.this.dispose();

      }

      }

      }

      3.2.7開戶

      package atm_client;

      import java.awt.Font;

      import java.awt.event.ActionEvent;

      import java.awt.event.ActionListener;

      import java.io.BufferedReader;

      import java.io.IOException;

      import java.io.PrintWriter;

      import javax.swing.JButton;

      import javax.swing.JFrame;

      import javax.swing.JLabel;

      import javax.swing.JOptionPane;

      import javax.swing.JPanel;

      import javax.swing.JPasswordField;

      import javax.swing.JTextField;

      import comm.CardGLY;

      public class Open extends JFrame implements ActionListener{

      JTextField tfname;//文本框

      JTextField tfmoney;

      JPasswordField tfpwd;//密碼框

      JPasswordField tfpwd1;

      JButton btOK,btCancel;

      CardGLY currCardGLY;

      BufferedReader br;

      PrintWriter pw;

      public Open(BufferedReader br,PrintWriter pw,CardGLY currCardGLY){

      this.br=br;

      this.pw=pw;//文本字節(jié)流寫入

      this.currCardGLY=currCardGLY;

      }

      //初始化

      public void init(){

      JLabel Iname;//標簽組件

      JLabel Imoney;

      JLabel Ipwd,Ipwd1;

      JLabel Itag=new JLabel(”請輸入要開戶用戶的基本信息“);

      Ipwd=new JLabel(”密碼:“);

      Ipwd1=new JLabel(”確認密碼“);

      Iname=new JLabel(”姓名:“);

      Imoney=new JLabel(”預存金額“);

      tfname=new JTextField();

      tfmoney=new JTextField();

      btOK=new JButton(”確定“);

      btCancel=new JButton(”取消“);

      tfpwd=new JPasswordField();

      tfpwd1=new JPasswordField();

      Itag.setFont(new Font(”“,Font.CENTER_BASELINE, 20));

      Iname.setFont(new Font(”“,Font.CENTER_BASELINE, 18));

      tfmoney.setFont(new Font(”“,Font.CENTER_BASELINE, 18));

      tfname.setFont(new Font(”“,Font.CENTER_BASELINE, 18));

      tfpwd.setFont(new Font(”“,Font.CENTER_BASELINE, 18));

      tfpwd1.setFont(new Font(”“,Font.CENTER_BASELINE, 18));

      Ipwd.setFont(new Font(”“,Font.CENTER_BASELINE, 18));

      Ipwd1.setFont(new Font(”“,Font.CENTER_BASELINE, 18));

      Imoney.setFont(new Font(”“,Font.CENTER_BASELINE, 18));

      btOK.setFont(new Font(”“,Font.CENTER_BASELINE, 12));

      btCancel.setFont(new Font(”“,Font.CENTER_BASELINE, 12));

      JPanel panelOne = new JPanel(null);

      panelOne.setOpaque(false);//設置控件透明

      Itag.setBounds(80,15,350,30);

      Iname.setBounds(70,85,80,40);

      tfname.setBounds(200,80,160,40);

      Ipwd.setBounds(70, 135, 80, 40);

      tfpwd.setBounds(200, 130, 160, 40);

      Ipwd1.setBounds(70, 185,80, 40);

      tfpwd1.setBounds(200, 180, 160, 40);

      Imoney.setBounds(70, 235, 80, 40);

      tfmoney.setBounds(200, 230, 160, 40);

      btOK.setBounds(80, 280, 100, 40);

      btCancel.setBounds(240,280,100,40);

      btOK.addActionListener(this);

      btCancel.addActionListener(this);

      panelOne.add(Itag);

      panelOne.add(Iname);

      panelOne.add(Ipwd);

      panelOne.add(Ipwd1);

      panelOne.add(Imoney);

      panelOne.add(tfname);

      panelOne.add(tfpwd);

      panelOne.add(tfpwd1);

      panelOne.add(tfmoney);

      panelOne.add(btCancel);

      panelOne.add(btOK);

      this.add(panelOne);

      this.setTitle(”代小龍+安梓瑋+侯碩“);

      this.setBounds(700, 250, 450, 400);

      this.setVisible(true);

      }

      //監(jiān)聽button.@Override //socket編程,client發(fā)出消息,在Server中接收,并且在接收時采用readline()方法時需要注意,//readline()方法要讀到分隔符才會完成讀取操作,用pw.write,或者pw.println

      public void actionPerformed(ActionEvent arg0){

      // TODO Auto-generated method stub

      if(arg0.getSource()==btOK){ //如果事件源始按鈕OK,則進行下面操作

      if(tfname.getText().equals(”“)||tfpwd.getText().equals(”“)||tfpwd.getText().equals(”“)){

      JOptionPane.showMessageDialog(Open.this,”賬號密碼不能為空“);//導入類——消息對話框

      }else if(!tfpwd.getText().equals(tfpwd1.getText())){

      JOptionPane.showMessageDialog(Open.this,”兩次輸入的密碼不相同“);

      tfpwd.setText(”“);

      tfpwd1.setText(”“);

      }else if(tfmoney.getText().equals(”“)){

      JOptionPane.showMessageDialog(Open.this,”若不需要存錢,請輸入0“);

      }else if(tfpwd.getText().equals(tfpwd1.getText())&&!tfname.getText().equals(”“)&&!tfmoney.getText().equals(”“)){

      pw.write(”openrn“);//在服務器獲取輸入流寫入一段字符

      pw.write(tfname.getText()+”rn“);

      pw.write(tfpwd.getText()+”rn“);

      pw.write(tfmoney.getText()+”rn“);

      pw.flush();

      try {

      String strEcho=br.readLine();

      if(strEcho.equals(”1“)){

      JOptionPane.showMessageDialog(Open.this,”開戶失敗!有用戶名重復的可能!“);

      }else if(strEcho.equals(”2“)){

      String account=br.readLine();

      JOptionPane.showMessageDialog(Open.this,”開戶成功!您的賬號為“+account+”,請牢記您的賬號“);

      Open.this.dispose();

      }

      } catch(IOException e){

      // TODO Auto-generated catch block

      e.printStackTrace();

      }

      }

      }else if(arg0.getSource()==btCancel){

      Open.this.dispose();

      }

      }

      }

      3.2.8銷戶

      package atm_client;

      import java.awt.Font;

      import java.awt.event.ActionEvent;

      import java.awt.event.ActionListener;

      import java.io.BufferedReader;

      import java.io.IOException;

      import java.io.PrintWriter;

      import javax.swing.JButton;

      import javax.swing.JFrame;

      import javax.swing.JLabel;

      import javax.swing.JOptionPane;

      import javax.swing.JPanel;

      import javax.swing.JPasswordField;

      import javax.swing.JTextField;

      import comm.CardGLY;

      public class Close extends JFrame implements ActionListener {

      BufferedReader br;

      PrintWriter pw;

      CardGLY currCardGLY;

      private JButton btOK,btCancel;

      private JTextField tfAccount;

      private JPasswordField tfPwd;

      public Close(BufferedReader br,PrintWriter pw,CardGLY currCardGLY){

      this.br=br;

      this.pw=pw;

      this.currCardGLY=currCardGLY;

      }

      public void init(){

      JLabel IAccount,IPwd,Itag;

      IAccount= new JLabel(”賬號:“);

      IPwd= new JLabel(”密碼:“);

      Itag=new JLabel(”請輸入要銷戶的賬號及密碼“);

      tfAccount=new JTextField();

      tfPwd=new JPasswordField();

      btOK=new JButton(”確定“);

      btCancel=new JButton(”取消“);

      Itag.setFont(new Font(”“,Font.CENTER_BASELINE, 20));

      btOK.setFont(new Font(”“,Font.CENTER_BASELINE, 12));

      btCancel.setFont(new Font(”“,Font.CENTER_BASELINE, 12));

      IAccount.setFont(new Font(”“,Font.CENTER_BASELINE, 18));

      tfAccount.setFont(new Font(”“,Font.CENTER_BASELINE, 18));

      tfPwd.setFont(new Font(”“,Font.CENTER_BASELINE, 18));

      IPwd.setFont(new Font(”“,Font.CENTER_BASELINE, 18));

      JPanel panelOne = new JPanel(null);

      panelOne.setOpaque(false);

      Itag.setBounds(120,15,350,30);

      btOK.setBounds(80, 270, 100, 40);

      btCancel.setBounds(240,270,100,40);

      tfAccount.setBounds(160,100,160,40);

      IAccount.setBounds(90,105,80,40);

      IPwd.setBounds(90, 165,80, 40);

      tfPwd.setBounds(160,160,160,40);

      btCancel.addActionListener(this);

      btOK.addActionListener(this);

      panelOne.add(Itag);

      panelOne.add(IPwd);

      panelOne.add(IAccount);

      panelOne.add(btCancel);

      panelOne.add(btOK);

      panelOne.add(tfAccount);

      panelOne.add(tfPwd);

      this.add(panelOne);

      this.setTitle(”代小龍+安梓瑋+侯碩“);

      this.setBounds(700, 250, 450, 400);

      this.setVisible(true);

      }

      @Override

      public void actionPerformed(ActionEvent arg0){

      // TODO Auto-generated method stub

      if(arg0.getSource()==btOK){

      String account=tfAccount.getText();

      String pwd=new String(tfPwd.getPassword());

      pw.write(”closern“);

      pw.write(account+”rn“);

      pw.write(pwd+”rn“);

      pw.flush();

      String strEcho;

      try {

      strEcho=br.readLine();

      if(strEcho.equals(”7“)){

      JOptionPane.showMessageDialog(Close.this, ”銷戶成功“);

      }else if(strEcho.equals(”9“)){

      JOptionPane.showMessageDialog(Close.this, ”您輸入的賬號不存在“);

      tfAccount.setText(”“);

      tfPwd.setText(”“);

      }else if(strEcho.equals(”8“)){

      JOptionPane.showMessageDialog(Close.this, ”銷戶失敗“);

      }else if(strEcho.equals(”6“)){

      JOptionPane.showMessageDialog(Close.this, ”您的密碼錯誤“);

      tfPwd.setText(”");

      }

      } catch(IOException e){

      // TODO Auto-generated catch block

      e.printStackTrace();

      }

      }else if(arg0.getSource()==btCancel){

      Close.this.dispose();

      }

      }

      }項目總結及展望

      本次課程設計主要做的是模擬ATM機,在實現(xiàn)傳統(tǒng)的ATM機基礎功能的情況下,我們還增添新的內(nèi)容,用戶明細以及話費繳費。實現(xiàn)了普通用戶與管理員登錄。管理員對用戶賬號的凍結,解凍。連接數(shù)據(jù)庫并實時更新。將普通用戶和管理員的信息分別放在兩個表中。

      在實現(xiàn)過程中,由于考慮和實現(xiàn)不充分,表的結構過于簡單。在實現(xiàn)話費充值上號碼預存實現(xiàn)的不人性化,我們后續(xù)會加以完善。在接下來的學習中,我們想更加完善ATM功能,并增加新的特色,完善界面。心得體會

      通過這次的c/s程序設計,從了解用戶需求,到設計數(shù)據(jù)庫,編寫代碼,連接數(shù)據(jù)庫,調(diào)試程序,實現(xiàn)功能我們都得到了很大的進步,我們遇到過很多Bug,我們請教別人,上網(wǎng)查詢,最終可以說是得到解決,把老師在課上所授的知識應用到實踐中去。c/s程序設計中,是java與連接數(shù)據(jù)庫的統(tǒng)一。為了防止開戶生成的賬號重復,我們在數(shù)據(jù)庫中對相應的表設置主鍵,以免重復,在明細中,我們修復了很多問題,克服了很多困難,最終得以實現(xiàn),感謝申晨老師的幫助,讓我們更加深入了解Java語言設計并應用到實踐中去。感受到了Java語言編程的魅力,在接下來的時間中,我們不會停止對Java網(wǎng)絡項目編程的探索和學習。

      參 考 文 獻

      [1] Eric.Java編程思想[M].第4版.機械工業(yè)出版社, 機械工業(yè)出版社

      [2] JAVA從入門到精通[M].北京:清華大學出版社, 2005.4

      [3]薩師煊,王珊.《數(shù)據(jù)庫系統(tǒng)概論》.高等教育出版社,2002.2

      [4] Brown.JAVA編程指南(第二版)[M].電子工業(yè)出版社,2003.3

      [5] 清宏計算機工作室.JAVA編程技巧[M].機械工業(yè)出版社,2004.5

      [6] 耿祥義,張躍平.JAVA實用教程[M].清華大學出版社,2003.5.1

      第四篇:航班值機工作流程(右3)

      值機日常工作流程

      一、準備工作

      1核對航班機型、飛機號、到達站;

      2準備行李牌、VIP行李牌、頭等艙行李牌及標貼;

      3清理工作臺面,檢查電腦、磅秤、和行李轉(zhuǎn)盤,登機牌數(shù)量;

      二、辦理值機手續(xù)

      1、輸入離港系統(tǒng)工作號;

      2、檢查離港系統(tǒng)中航班的飛機號、座位布局;

      3、值機查驗:旅客證件、客票、客票姓名與證件姓名; 如行李超重則應收取逾重行李費;

      詢問旅客是否購買托運行李保險,填寫保險單,收取相應的保險費;檢查行李牌上的目的地是否正確,并正確栓掛在旅客的托運行李上;將旅客的行李票粘貼或附在旅客客票的空白處;如旅客的托運行李包裝不符和要求或有破損,以及所托運行李為易碎易損物品,應填寫免責行李牌,請旅客簽名,并將免責行李牌號抄于旅客乘機聯(lián)背面空白處,在此托運行李上拴掛免責行李牌;VIP旅客及公務艙、頭等艙旅客的托運行李則應拴掛相應的行李牌 如旅客行李上有舊的行李牌,應予以清除;

      在離港系統(tǒng)中提取旅客姓名,如旅客有托運行李,還應輸入行李件數(shù)、重量,接受旅客,在規(guī)定范圍內(nèi),盡量按旅客要求安排座位,并打印登機牌;頭等艙旅客及公務艙旅客應填寫相應的休息牌交給旅客,并通知中轉(zhuǎn)柜臺; 在旅客客票乘機聯(lián)及旅客聯(lián)相應欄目復寫旅客接收的離港序號、座位號,正確、完整的撕下客票的乘機聯(lián) ;將旅客的證件、客票未使用的乘機聯(lián)、客票旅客聯(lián)、行李票及旅客的登機牌唱交旅客;如旅客有行李托運,則應請旅客在行李通過安檢機后再離開;如在辦理過程中遇特殊情況應及時上報;航班預計起飛時間前30分鐘停止辦理乘機手續(xù);并初始關閉(CI)航班;嚴格控制在航班離港時間前25分鐘截止辦理乘機手續(xù),如仍有較多旅客未辦理乘機手續(xù),及時報帶班主任安排人員接替;如航班延誤,須增加柜臺開放時間;

      三、報載

      將該航班所有乘機聯(lián)集中清點,并與離港系統(tǒng)中的人數(shù)、行李件數(shù)、行李重量相核對,用對講機與行李房核對行李件數(shù);(如貨運收運了團隊行李,應將件數(shù)和重量通知該航班值機員,值機員應及時將行李件數(shù)、重量加入離港電腦中,以便配載員配載以及核對)

      正常航班預計起飛前25分鐘,至遲應于20分鐘前、不正常航班在航班飛機落地時間向結算室報載; 填寫《出港航班業(yè)務交接單》;

      做好送航班的準備工作,帶齊乘機聯(lián)、對講機、該航班行李牌和《出港業(yè)務交接單》到結算室;

      將《出港航班業(yè)務交接單》交結算控制員簽字;

      四、送飛機

      了解飛機停機位,核對飛機號,領取該航班艙單、業(yè)務袋及隨機業(yè)務文件,送飛機;不正常航班在航班飛機到達旅客下完前到達飛機上,觀查是否能上客,如能上客,及時通知上客;

      在艙門口檢查登機旅客有無攜帶超大行李,如有說服旅客將行李交運,在行李上拴掛行李牌后,將行李交行李房人員送入貨艙后,將行李票交給旅客;

      將艙單交給機長簽字,業(yè)務袋交給乘務長,并請乘務長在《出港航班業(yè)務交接單》上簽名;

      與結算和第二驗票口核對人數(shù),待旅客到齊后用對講機通知結算;如有旅客未登機,查找出旅客姓名后,用對講機通知結算室廣播,并將該旅客乘機聯(lián)找出,查看該旅客是否有托運行李,如未到旅客有托運行李,將行李號報給行李房人員將行李找出;若旅客在離港時間前三分鐘仍未找到,請示結算室是否將未到旅客及其行李拉下,結算同意后用對講機通知行李房將該行李拉下,減去未到旅客后與結算和第二驗票口重新核對旅客人數(shù),通知機組減人后確切人數(shù)(及貨郵行的增減)并在艙單上做相應的修改,人數(shù)到齊后通知結算; 經(jīng)結算同意后方可放飛機;

      將簽過字的艙單和交接單送回結算室;

      五、回到值機室后,清理值機柜臺,收回補加乘機聯(lián),(如有未登機旅客,將未登機旅客乘機聯(lián)交給中轉(zhuǎn)柜臺),根據(jù)實際乘機聯(lián)做帳,并做好記錄工作。

      第五篇:住院部藥房擺藥機工作流程

      住院部藥房擺藥機工作流程

      一、擺藥機開關機管理(工作時間為早8:00—晚24:0)

      1、開機:當日負責擺藥的藥師啟動擺藥機 ① 打開設備前方的主電源開關;

      ② 打開電腦電源開關(注意加熱輥溫度需達到70℃); ③ 打開藥房管理和擺藥機程序,并檢查連接是否正常; ④ 擺藥機在沒有進行開機檢查前不得進行擺藥工作。

      2、關機:夜班藥師準時關閉擺藥機

      ① 點擊屏幕右上角“關閉”按鈕或右下角“退出”按鈕,關閉程序;

      ② 點擊桌面開始菜單退出系統(tǒng);

      ③ 打開主機艙柜將電腦電源開關向左擰至“off”位置; ④ 再將主電源開關向左擰至“off”位置。

      二、擺藥機運行管理

      1、擺藥機操作人員應熟悉《擺藥機操作手冊》內(nèi)容,并嚴格按照該手冊要求使用擺藥機,未經(jīng)培訓的人員不得私自操作擺藥機。

      2、操作流程

      ① 設備接收到醫(yī)囑單后自動進行配藥工作,如果未自動配藥,請點擊“填充”按鈕;

      ② 如果有需要STS托盤配藥的醫(yī)囑,設備會自動識別并在觸摸屏提示,此時打開STS托盤; ③ STS托盤打開后,根據(jù)打印出來的配藥單進行STS托盤手工配藥(藥師首先進行手部消毒); ④ 手工配藥結束后,重新核對清單的藥品信息確保藥品擺放的正確性,關閉STS托盤。⑤ STS托盤收回后設備將自動繼續(xù)擺藥工作; ⑥ 擺藥中有的藥盒藥品用量多,會出項提示缺藥,找出相應的藥盒進行藥品填充,放回原位后,點擊觸摸屏顯示屏上“重試”選項;

      ⑦ 當整個配藥工作完成后,檢查藥包打印信息和裝藥情況是否正確。

      3、常見問題

      ① 擺藥機運行過程中出現(xiàn)一些常見問題,操作人員應及時處理并詳細記錄、跟蹤處理,填寫《擺藥機使用情況登記本》,簽名確認后留存?zhèn)洳椤"?需要其他部門協(xié)同解決的問題上報科室,由專業(yè)人員負責維修,個人不得隨意拆卸維修擺藥機。

      三、藥盒的管理

      1、當日負責擺藥的藥師在擺藥機使用前檢查藥盒中藥品數(shù)量,對于不足的應及時進行補充,并仔細核對藥名、規(guī)格、劑型、廠家,不得將不匹配的藥品加入擺藥機藥盒,補充完畢后雙人核對可裝回擺藥機,并有擺藥機拆零記錄,備查。

      2、填充藥品時,為了保證藥品質(zhì)量,填藥量不宜過多,夠當日用即可,藥品距離藥盒頂端不小于1cm。

      四、擺藥機的耗材管理

      1、當日負責擺藥的藥師在包裝袋用盡后和墨帶一并更換,在進行更換時,嚴格按照擺藥機上面的標示圖進行更換,非擺藥機操作人員不得進行此項工作。

      2、擺藥人員應隨時關注耗材使用情況,需要請領時,及時上報藥房負責人,由藥房負責人請領并留存耗材出庫單。

      五、擺藥機的日常維護

      1、嚴禁私自移動擺藥機,以免出現(xiàn)數(shù)據(jù)紊亂或硬件損壞的現(xiàn)象。

      2、每日在擺藥工作結束后,做好擺藥機的清潔工作。

      3、擺藥機應由工程師每6個月對機器內(nèi)部零件進行一次全面維護檢查。

      六、擺藥機的清潔制度

      擺藥機各部位清潔時間嚴格按照以下時間執(zhí)行,清潔時使用無毛屑脫落的專用抹布噴淋95%酒精擦拭,并填寫清潔記錄。

      1、每日檢查清潔項目:末端藥斗的清潔;加熱輥的清潔。(當日擺藥藥師)

      2、每周清潔項目:配藥罐的清潔;內(nèi)部藥柜藥斗的清潔;STS托盤的清潔。(當日擺藥藥師)

      3、每兩周清潔項目:雙擋板的清潔;主藥斗的清潔;STS藥斗的清潔。(當日擺藥藥師)

      4、每半年清潔項目:前端藥柜的清潔;內(nèi)部藥柜的清潔(廠家工程師負責)

      下載銀行ATM機工作流程模擬編程(鏈表)word格式文檔
      下載銀行ATM機工作流程模擬編程(鏈表).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發(fā)現(xiàn)有涉嫌版權的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權內(nèi)容。

      相關范文推薦