>user[st].n;c" />

ATM自动取款机模拟程序

ATM自动取款机模拟程序
ATM自动取款机模拟程序

2.3,ATM自动取款机模拟程序2.

3.1总体设计:流程图

2.3.2详细设计:

登陆系统主界面

开户业务模板:void openAccount()。

主要功能在于新开账户(也可为下面转账系统服务等做铺。)且储存信息。经提升,密码已可以包含字符。用户可根据提示,一步步完成操作。

主要代码:

void openAccount()//开户函数

{

system("cls");

cout<<"\t************************************\n"<

cout<<"\t* 开户业务*\n"<

cout<<"\t************************************\n"<

cout<<"\t欢迎使用开户业务,请按照提示操作!\n"<

cout<<"\n"<

cout<<"\t\t请输入你的用户名:";

cin>>user[st].n;

cout<<"\t\t请输入你的卡号:";

int k1;//k1表示新用户输入的卡号

cin>>k1;

int a=-1;//用来做标示

for(int i=0;i

{

if(user[i].k==k1)

{

a++;

}

}

if(a==-1)

{

user[st].k=k1;//将k1的数值赋值给user[st].k保存起来

cout<<"\t\t请输入你的性别:";

char xb[5];

cin>>xb;

strcpy(user[st].sex,xb);

cout<<"\t\t请输入密码:";

char m2[20];

cin>>m2;

strcpy(user[st].mm,m2);//保存用户输入可以包含字符的密码

cout<<"\t\t请输入你的开户金额:";

float km;

cin>>km;//km表示用户的开户金额

user[st].je=km;//je将开户时的金额赋值给user[st].je保存

if(km<10)

{

cout<<"\t\t你输入的金额小于10元或输入有误!\n";

}

else

{

cout<<"\t\t恭喜你,开户成功!\n"<

cout<<"\t\t你的用户名为:"<

cout<<"\t\t你的卡号为:"<

cout<<"\t\t你的当前余额为:"<

cout<<"\n"<

st++;//用于统计新开用户后现有的用户数

}

}

else

{

cout<<"\t\t你输入的卡号已存在!请核实!\n"<

}

}

缴费业务模板:

主要提供给用户缴费服务

关键代码:

cout<<"\t\t请输入你要缴费的金额:";

float j1;//j1表示用户存款时存取的金额

cin>>j1;

user[a].je=user[a].je+j1;

cout<<"\t\t恭喜你,缴费成功!当前余额为:"<

主要功能用于用户的提款

cout<<"\t\t请输入你要取出的金额:";

float j1;//j1表示用户粗款时存取的金额

cin>>j1;

if(j1>user[a].je)

{

cout<<"\t\t\a\a\a你输入账户余额仅为:"<

}

else

{

user[a].je=user[a].je-j1;

cout<<"\t\t取款成功!当前余额为:"<

查询余额业务模板:

主要提供用户余额的查询服务

cout<<"\t\t当前余额为:"<

查询个人信息业务模板:

主要提供用户个人信息的模板

cout<<"\t\t\t用户名:"<

cout<<"\t\t\t性别:"<

cout<<"\t\t\t卡号:"<

cout<<"\t\t\t当前余额:"<

转账业务模板:

提供用户转取个人金额服务的模板

关键代码:

cout<<"\t\t请输入你要转入的用户的账号:";

int m2,b=-1;//b用来标示

cin>>m2;

for(int i=0;i

{

if(user[i].k==m2)

{

b=i;

}

} Array if(b!=-1)

{

cout<<"\t\t你要转入用户的信息:\n"<

cout<<"\t\t姓名:"<

cout<<"\t\t性别:"<

cout<<"\t\t\a是否继续??继续请按任意键"<

char n;

n=getch();

cout<<"\n\t\t请输入你要转取的金额:";

float j1;//j1表示用户存款时存取的金额

cin>>j1;

if(j1>user[a].je)

{

cout<<"\t\t你的账户余额不足,不能进行转账!"<

}

else

{

user[a].je=user[a].je-j1;

cout<<"\t\t\a转账成功!当前你账户余额为:"<

}

对卡服务模板:

主要提供用户操作完毕后退卡的服务

主要代码:

cout<<"\t\t按Enter键返回主菜单!\n"<

getchar();

system("cls");

代码:

4.3 ATM自动取款机模拟程序(面向对象)

#include

#include

#include

class ATM

{

public:

char name[10];//保存用户姓名

long cardID;//保存卡号

long psw;//密码

ATM()

{

cardID=123123;

psw=123;

money=100;

}

void openAccount()//开户函数

{

system("cls");

cout<<"\t************************************\n"<

cout<<"\t* 开户业务*\n"<

cout<<"\t************************************\n"<

cout<<"\t欢迎使用开户业务,请按照提示操作!\n"<

cout<<"\n"<

cout<<"\t\t请输入您的姓名:"<

cin>>name;

cout<<"\t\t请输入您的卡号:"<

cin>>cardID;

cout<<"\t\t请输入您的密码:"<

cin>>psw;

cout<<"\t\t请输入您的预存金额:"<

cin>>money;

cout<<"\t\t恭喜您,开户成功!\n"<

}

void saveMoney()//缴费

{

system("cls");

cout<<"\t************************************\n"<

cout<<"\t* 存款业务*\n"<

cout<<"\t************************************\n"<

cout<<"\t欢迎使用存款业务,请按照提示操作!\n"<

cout<<"\n"<

long cid;

long psw1;

int money1;

cout<<"\t\t请输入您的卡号:";

cin>>cid;

cout<<"\t\t请输入您的密码:";

cin>>psw1;

if(cid==cardID &&psw1==psw)

{

cout<<"\t\t请输入您的存款金额:";

cin>>money1;

money=money+money1;

cout<<"\t\t取款成功,卡上余额为:"<

}

else

{

cout<<"\t\t您输入的卡号或密码有误!"<

}

}

void takeMoney()//取款

{

system("cls");

cout<<"\t************************************\n"<

cout<<"\t* 取款业务*\n"<

cout<<"\t************************************\n"<

cout<<"\t欢迎使用取款业务,请按照提示操作!\n"<

cout<<"\n"<

long cid;

long psw1;

int money1;

cout<<"\t\t请输入您的卡号:";

cin>>cid;

cout<<"\t\t请输入您的密码:";

cin>>psw1;

if(cid==cardID && psw1==psw)

{

cout<<"\t\t请输入您取款的金额:";

cin>>money1;

money=money-money1;

cout<<"\t\t取款成功,您卡上余额为:"<

}

else

{

cout<<"\t\t温馨提示:您的卡号或密码错误,注意密码尝试三次后将被吞卡!\n"<

}

}

void query()//查询余额

{

system("cls");

cout<<"\t************************************\n"<

cout<<"\t* 查询余额业务*\n"<

cout<<"\t************************************\n"<

cout<<"\t欢迎使用查询余额业务,请按照提示操作!\n"<

cout<<"\n"<

long cid;

long psw1;

cout<<"\t\t请输入您的卡号:";

cin>>cid;

cout<<"\t\t请输入您的密码:";

cin>>psw1;

if(cid==cardID && psw1==psw)

{

cout<<"\t\t卡上余额为:"<

}

else

{

cout<<"\t\t您的卡号或密码错误!\n";

}

}

void transfer()//转账

{

system("cls");

cout<<"\t************************************\n"<

cout<<"\t* 转账业务*\n"<

cout<<"\t************************************\n"<

cout<<"\t欢迎使用转账业务,请按照提示操作!\n"<

cout<<"\n"<

long cid;

long bcid;

long psw1;

int money1;

cout<<"\t\t请输入您的卡号:"<

cin>>cid;

cout<<"\t\t请输入您的密码:"<

cin>>psw1;

if(cid==cardID && psw1==psw)

{

cout<<"\t\t请输入您要转账的卡号:"<

cin>>bcid;

cout<<"\t\t请输入您要转账的金额:"<

cin>>money1;

money=money-money1;

cout<<"\t\t转账成功!您卡上余额为:"<

}

else

{

cout<<"\t\t您的卡号或者密码错误!"<

}

}int print1()

{

return cardID;

}

int print2()

{

return psw;

}

private:

int number;

int password;

int money;

};

void main()

{

ATM per;

int i=0,n,psw;

int cardID;

cout<<"\t*************************************************\n"<

cout<<"\t* ICBC *\n"<

cout<<"\t* 欢迎进入中国工商银行*\n"<

cout<<"\t* ATM自助服务系统*\n"<

cout<<"\t*************************************************\n"<

cout<<"\n"<

cout<<"请输入您的卡号:";

cin>>cardID;

cout<<"请输入您的密码:";

cin>>psw;

for(;;)

{

if(cardID==per.print1 () &&psw==per.print2 ())

{

cout<<"请选择您要办理的手续:\n";

cout<<"1.开户\n";

cout<<"2.缴费\n";

cout<<"3.取款\n";

cout<<"4.查询\n";

cout<<"5.转账\n";

cout<<"6.退出\n";

cout<<"请选择你要办理的业务:";

cin>>n;

if(n==6)

break;

switch(n)

{

case 1:

void openAccount();//开户

break;

case 2:

void saveMoney();//缴费

break;

case 3:

void takeMoney();//取款

break;

case 4:

void query();//查询余额

break;

case 5:

void transfer();//转账

default:

cout<<"你的输入有误,请输入1--7之间的数:\n";

continue;

}

}

else

{

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

{

cout<<"密码或账号错误,请重新输入"<

cout<<"请输入您的卡号:";

cin>>cardID;

cout<<"请输入您的密码:";

cin>>psw;

if(cardID==per.print1 () &&psw==per.print2 ())

break;

else

continue;

}

if(i==3)

{

cout<<"您的密码尝试次数已达到上限,卡已被系统吞吃。"<

break;

}

}

}

}

4.4 ATM自动取款机模拟程序(面向过程)

#include

#include

#include

#include

#include

const int N=100;//n=100表示最大用户容量为100

int st=5;//t表示起始用户

struct yh//yh表示用户

{

char n[20];//n用户姓名

char sex[5];//sex用户性别

int k;//k卡号

char mm[20];//mm密码

float je;//je表示预存金额

}user[N]={

{"小明","男",1001,"110",10.0},

{"小强","男",1002,"110",10.0},

{"小辉","男",1003,"110",10.0},

{"小刘","女",1004,"110",10.0},

{"大山","男",1005,"110",10.0}

};

void openAccount();//开户

void saveMoney();//缴费

void takeMoney();//取款

void query();//查询余额

void information();//查询个人信息

void transfer();//转账

void stop();//退出系统

void main()

{

int s;//用于接收用户输入的选项数据

do

{

cout<<"\t*************************************************\n"<

cout<<"\t\t请根据提示办理业务。\n"<

cout<<"\t\t\t1、开户;\n"<

cout<<"\t\t\t2、缴费;\n"<

cout<<"\t\t\t3、取款;\n"<

cout<<"\t\t\t4、查询余额;\n"<

cout<<"\t\t\t5、查询个人信息;\n"<

cout<<"\t\t\t6、转账;\n"<

cout<<"\t\t\t7、退出;\n"<

cout<<"\t\t请输入你要操作的业务序号:";

cin>>s;

if(s==7)break;

switch(s)

{

case 1:openAccount();stop();break;

case 2:saveMoney();stop();break;

case 3:takeMoney();stop();break;

case 4:query();stop();break;

case 5:information();stop();break;

case 6:transfer();stop();break;

default :

cout<<"\t\t你的输入有误,请输入1--6之间的数!\n"<

}system("cls");

}while(1);

}

void openAccount()//开户函数

{

system("cls");

cout<<"\t************************************\n"<

cout<<"\t* 开户业务*\n"<

cout<<"\t************************************\n"<

cout<<"\t欢迎使用开户业务,请按照提示操作!\n"<

cout<<"\n"<

cout<<"\t\t请输入你的用户名:";

cin>>user[st].n;

cout<<"\t\t请输入你的卡号:";

int k1;//k1表示新用户输入的卡号

cin>>k1;

int a=-1;//用来做标示

for(int i=0;i

{

if(user[i].k==k1)

{

a++;

}

}

if(a==-1)

{

user[st].k=k1;//将k1的数值赋值给user[st].k保存起来

cout<<"\t\t请输入你的性别:";

char xb[5];

cin>>xb;

strcpy(user[st].sex,xb);

cout<<"\t\t请输入密码:";

char m2[20];

cin>>m2;

strcpy(user[st].mm,m2);//保存用户输入可以包含字符的密码

cout<<"\t\t请输入你的开户金额:";

float km;

cin>>km;//km表示用户的开户金额

user[st].je=km;//je将开户时的金额赋值给user[st].je保存

if(km<10)

{

cout<<"\t\t你输入的金额小于10元或输入有误!\n";

}

else

{

cout<<"\t\t恭喜你,开户成功!\n"<

cout<<"\t\t你的用户名为:"<

cout<<"\t\t你的卡号为:"<

cout<<"\t\t你的当前余额为:"<

cout<<"\n"<

st++;//用于统计新开用户后现有的用户数

}

}

else

{

cout<<"\t\t你输入的卡号已存在!请核实!\n"<

}

}

void saveMoney()//缴费

{

system("cls");

cout<<"\t************************************\n"<

cout<<"\t\t请输入你的卡号:";

int k1;

cin>>k1;

int a=-1;//a=1,用来标示

for(int i=0;i

{

if(user[i].k==k1)

{

a=i;

}

}

if(a!=-1)

{

cout<<"\t\t请输入你的密码:";

char m1[20];//m1表示存款时用户输入的密码

cin>>m1;

int b=strcmp(user[a].mm,m1);

if(b==0)//strcmp()用于字符串的比较

{

cout<<"\t\t请输入你要存取的金额:";

float j1;//j1表示用户粗款时存取的金额

cin>>j1;

user[a].je=user[a].je+j1;

cout<<"\t\t恭喜你,存款成功!当前余额为:"<

{

cout<<"\t\t你输入的密码有误!\n"<

}

}else

{

cout<<"\t\t你输入的卡号不存在!\n"<

}

}

void takeMoney()//取款

{

system("cls");

cout<<"\t************************************\n"<

cout<<"\t************************************\n"<

cout<<"\n"<

cout<<"\t\t请输入你的卡号:";

int k1;

cin>>k1;

int a=-1;//a=1,用来标示

for(int i=0;i

{

if(user[i].k==k1)

{

a=i;

}

}

if(a!=-1)

{

cout<<"\t\t请输入你的密码:";

char m1[20];//m1表示存款时用户输入的密码

cin>>m1;

int b=strcmp(user[a].mm,m1);

if(b==0)//strcmp()用于字符串的比较

{

cout<<"\t\t请输入你要取出的金额:";

float j1;//j1表示用户粗款时存取的金额

cin>>j1;

if(j1>user[a].je)

{

cout<<"\t\t\a\a\a你输入账户余额仅为:"<

}

else

{

user[a].je=user[a].je-j1;

cout<<"\t\t取款成功!当前余额为:"<

}

}

else

{

cout<<"\t你输入的密码有误!\n"<

}

}

else

{

cout<<"\t你输入的卡号不存在!\n"<

}

}

void query()//查询余额

{

system("cls");

cout<<"\t************************************\n"<

cout<<"\t\t请输入你的卡号:";

int k1;

cin>>k1;

int a=-1;//a=1,用来标示

for(int i=0;i

{

if(user[i].k==k1)

{

a=i;

}

}

if(a!=-1)

{

cout<<"\t\t请输入你的密码:";

char m1[20];//m1表示存款时用户输入的密码

cin>>m1;

int b=strcmp(user[a].mm,m1);

if(b==0)//strcmp()用于字符串的比较

{

cout<<"\t\t当前余额为:"<

}

else

{

cout<<"\t\t你输入的密码有误!\n"<

}

}

else

{

cout<<"\t\t你输入的卡号不存在!\n"<

}

}

void information()//表示查询个人信息

{

system("cls");

cout<<"\t************************************\n"<

cout<<"\t* 查询个人信息业务*\n"<

cout<<"\t************************************\n"<

cout<<"\t欢迎使用查询个人信息业务,请按照提示操作!\n"<

cout<<"\t\t请输入你的卡号:"<

int k1;

cin>>k1;

int a=-1;//a=1,用来标示

for(int i=0;i

{

if(user[i].k==k1)

{

a=i;

}

}

if(a!=-1)

{

cout<<"\t\t请输入你的密码:";

char m1[20];//m1表示存款时用户输入的密码

cin>>m1;

int b=strcmp(user[a].mm,m1);

if(b==0)//strcmp()用于字符串的比较

{

cout<<"\t\t你的个人信息为:\n"<

cout<<"\t\t\t用户名:"<

cout<<"\t\t\t性别:"<

cout<<"\t\t\t卡号:"<

cout<<"\t\t\t当前余额:"<

}

else

{

cout<<"\t\t你输入的密码有误!\n"<

}

}else

{

cout<<"\t\t你输入的卡号不存在!\n"<

}

}

void transfer()//转账

{

system("cls");

cout<<"\t************************************\n"<

cout<<"\t\t请输入你的卡号:";

int k1;

cin>>k1;

int a=-1;//a=1,用来标示

for(int i=0;i

{

if(user[i].k==k1)

{

a=i;

}

}

if(a!=-1)

{

cout<<"\t\t请输入你的密码:";

char m1[20];//m1表示存款时用户输入的密码

cin>>m1;

int b=strcmp(user[a].mm,m1);

if(b==0)//strcmp()用于字符串的比较

{

cout<<"\t\t请输入你要转入的用户的账号:";

int m2,b=-1;//b用来标示

cin>>m2;

for(int i=0;i

{

if(user[i].k==m2)

{

b=i;

}

}

if(b!=-1)

{

cout<<"\t\t你要转入用户的信息:\n"<

cout<<"\t\t姓名:"<

cout<<"\t\t性别:"<

cout<<"\t\t\a是否继续??继续请按任意键"<

char n;

n=getch();

cout<<"\n\t\t请输入你要转取的金额:";

float j1;//j1表示用户粗款时存取的金额

cin>>j1;

if(j1>user[a].je)

{

cout<<"\t\t你的账户余额不足,不能进行转账!"<

}

else

{

user[a].je=user[a].je-j1;

cout<<"\t\t\a转账成功!当前你账户余额为:"<

}

}

else

{

cout<<"\t\t你输入的卡号不存在,不能办理转账业务!\n"<

}

}else

{

cout<<"\t\t你输入的密码有误!\n"<

}

}else

{

cout<<"\t\t你输入的卡号不存在!\n"<

}

}

void stop()//退出系统

{

fflush(stdin);

cout<<"\n"<

cout<<"\t\t按“Enter”键返回主菜单!\n"<

system("cls");

}

ATM柜员机模拟系统-代码

Win.java import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.sql.*; public class Win extends JFrame implements ActionListener { JTextField text[]=new JTextField[6]; JTextArea show=new JTextArea(9,30); JTable table;//标签 JButton insert,update,select,delete,C,Q; Win() { setLayout(new FlowLayout()); for(int i=0;i<5;i++) { text[i]=new JTextField(10); } add(new JLabel("卡号:")); add(text[0]); add(new JLabel("姓名:")); add(text[1]); add(new JLabel("密码:")); add(text[2]); add(new JLabel("余额:")); add(text[3]); add(new JLabel("序号:")); add(text[4]); C=new JButton("存款"); C.addActionListener(this); add(C);

Q=new JButton("取款"); Q.addActionListener(this); add(Q); update=new JButton("修改密码"); update.addActionListener(this); add(update); insert=new JButton("添加新用户"); insert.addActionListener(this); add(insert); select=new JButton("查询用户信息"); select.addActionListener(this); add(select); delete=new JButton("删除用户信息"); delete.addActionListener(this); add(delete); add(new JScrollPane(show)); add(new JLabel("提示:1.每次取款金额为100的倍数,总额不能超过5000元,支取金额不允许透支")); add(new JLabel("2.存款金额不能为负存款")); add(new JLabel("3.新密码长度不小于6位,不允许出现6位完全相同的情况")); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void actionPerformed(ActionEvent e) { Operation modify=new Operation(); modify.setDatasourceName("XX"); if(e.getSource()==insert) {

ATM自动取款机系统详细设计说明书

ATM系统需求分析设计与改进

目录 1.引言 (1) 1.1编写目的 (1) 1.2定义 (1) 2.总体设计 (1) 2.1需求概述 (1) 2.2软件结构 (2) 3.基于UML的ATM自动取款机系统分析设计 (2) 3.1 CIM-1定义业务流程 (2) 3.2 CIM-2 分析业务流程 (4) 3.2.1 客户取钱业务流程活动图. (4) 3.2.2 客户转账业务流程活动图. (4) 3.2.3 客户修改密码业务用例活动图 (5) 3.2.4 客户查询余额业务用例活动图 (6) 3.3 CIM-3定义系统范围. (8) 3.3.1 客户包下可启动的系统用例 (8) 3.3.2 银行管理员包下的系统用例图 (8) 3.2.3定时启动者包下的系统用例 (9) 3.4 PIM-1分析业务流程 (9) 3.4.1 SUC001-取款系统用例业务 (9) 3.4.2 SUC002-转账业务系统用例 (10) 3.4.3 SUC003- 修改密码业务系统用例 (11) 3.4.4 SUC004- 查询余额业务系统用例 (12) 3.5 PIM-2 分析业务规则状态图(取款) (13) 4.程序描述 (14) 4.1 取款子系统 (17) 4.1.1功能 (17) 4.1.2性能 (17) 4.1.3输入项目 (17) 4.1.4输出项目 (18) 4.1.5算法 (18) 4.1.6程序逻辑 (19) 4.1.7接口 (19) 3.1.8存储分配 (20) 3.1.9限制条件 (20) 3.1.10测试要点 (20) 4.2存款子系统 (20) 4.2.1功能 (20) 4.2.2性能 (20) 4.2.3输入项目 (20) 4.2.4输出项目 (20) 4.2.5算法 (21)

柜员机模拟程序

课程论文 现代软件工程与实践题目: ATM柜员机模拟程序学院(系):信息工程学院专业班级: 学生姓名: 指导教师: 2011 年 12月 4日

摘要 通过设计ATM柜员模拟程序,加深自己对Java编程尤其是对Java图形用户界面编程的了解,将自己的学到的编程知识融会贯通,同时培养自身面向对象软件开发的思维,初步了解软件开发的一般流程,提高用Java实际动手能力并增强自己对面向对象的了解。通过这次编程设计,加深了对Java图形界面编程中各个模块和组件的应用了解,以及类和类之间的关系,界面排版的处理等。 设计要求是,当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行(规则可以按照实际系统做需求):(1)查询余额:初始余额为10000元。(2)ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。(3)ATM存款:不能出现负存款。(4)修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。 该程序设置了7个类,1个主类6个辅助类,6个辅助类都是内部类的形式,辅助类包括五个实现ATM的功能,一个存放客户资料,之所以用内部类来实现是为了在各个界面转换时不至于要创建多个对象,每一个辅助类的对象只要在主类中创建一次就可以在各个内部类中引用。该程序利用的功能是利用Java事件监听技术来实现的,各种功能单独的创建一个类来实现,不会互相混淆,更加容易理清楚思路。设计的程序完美的实现了设计要求,具有查询、取款、存款、修改密码等功能。

javaATM柜员机模拟程序文件

课程论文 现代软件工程与实践 题目: ATM柜员机模拟程序学院(系):信息工程学院专业班级: 学生: 指导教师: 2011 年 12月 4日

摘要 通过设计ATM柜员模拟程序,加深自己对Java编程尤其是对Java图形用户界面编程的了解,将自己的学到的编程知识融会贯通,同时培养自身面向对象软件开发的思维,初步了解软件开发的一般流程,提高用Java实际动手能力并增强自己对面向对象的了解。通过这次编程设计,加深了对Java图形界面编程中各个模块和组件的应用了解,以及类和类之间的关系,界面排版的处理等。 设计要,当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行(规则可以按照实际系统做需求):(1)查询余额:初始余额为10000元。(2)ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。(3)ATM存款:不能出现负存款。(4)修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。 该程序设置了7个类,1个主类6个辅助类,6个辅助类都是部类的形式,辅助类包括五个实现ATM的功能,一个存放客户资料,之所以用部类来实现是为了在各个界面转换时不至于要创建多个对象,每一个辅助类的对象只要在主类中创建一次就可以在各个部类中引用。该程序利用的功能是利用Java事件监听技术来实现的,各种功能单独的创建一个类来实现,不会互相混淆,更加容易理清楚思路。设计的程序完美的实现了设计要求,具有查询、取款、存款、修改密码等功能。

ATM自动取款机—需求分析说明书

需求分析说明书ATM自动取款机系统 成员:王旭缪宇飏张伟 张恒友邓会周舟

目录 1.引言 (1) 1.1编写目的 (1) 1.2项目背景 (1) 1.3术语与缩写解释 (1) 1.4参考资料 (2) 2.产品介绍 (2) 3. 产品面向的用户群体 (2) 4. 条件与限制 (2) 5.数据描述 (3) 5.1静态数据 (3) 5.2动态数据 (4) 5.3数据词典 (5) 5.4数据采集 (6) 6.功能需求 (7) 6.1功能划分 (7) 6.2功能描述 (9) 7.性能需求 (10) 7.1数据精确度 (10) 7.2时间特性 (10) 7.3适应性 (10) 8.运行需求 (11) 8.1用户界面 (11) 8.2软件接口 (11) 8.3故障处理 (12) 9.其它需求 (12)

1.引言 1.1编写目的 ATM自动取款机系统是银行业务流程过程中十分重要且必备的环节之一,在银行业务流程当中起着承上启下的作用,其重要性不言而喻。但是,目前许多银行在具体的一些业务流程处理过程中仍然使用手工操作的方式来实施,不仅费时、费力,效率低下,而且无法达到理想的效果。为此,我们在明确该软件需求的基础上,安排项目规划与进度、组织软件开发与测试,撰写本文档。本文档针对上述问题,采用软件工程的开发原理,依据软件流程过程规范,按照需求分析,概要设计,程序编码,软件应用等过程,开发了这个系统。 本文档供项目经理、设计人员、开发人员、客户参考。 1.2项目背景 待开发项目名称:ATM自动取款机 项目开发者:王旭缪宇飏张伟 张恒友邓会周舟 项目背景:在市场经济的蓬勃发展和人们日益繁忙的条件下,现有的银行系统往往需要客户在办理手续时等待很长的时间,这不仅会浪费很多宝贵的 时间,也会使得银行的业务人员十分的繁忙,需要很大的人力和财力。 基于这样的情况,ATM 取款机系统的开发就显的十分的重要!它可以 减少银行的业务处理压力,尽量节省人们的时间,并且可以有效解决 用户信息和资金信息的繁杂问题。 1.3术语与缩写解释 缩写、术语解释

课程设计-ATM柜员机模拟程序

课程设计-ATM柜员机模拟程序

软件学院 课程设计报告书 课程名称面向对象程序设计 设计题目ATM柜员机模拟程序 专业班级软件工程 学号 姓名 指导教师刘腊梅

1 设计时间 2015 年月 2 设计目的 掌握图形用户界面设计方法,掌握常用swing组件的使用和事件处理程序设计. 3 设计题目 ATM柜员机模拟程序 4 设计任务 使用图形用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行: (1)查询余额功能:初始余额为10000元 (2)ATM取款功能:每次取款金额为100的倍数,总额不超过5000元,支取金额不 允许透支。 (3)ATM存款功能:不能出现负存款。 (4)修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密 码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。 5设计内容 5.1 kehu类代码 import javax.swing.*; import javax.swing.event.*; import java.awt.*; import java.awt.event.*; // 导入包 import java.util.*; class kehu // 定义客户类 { String zh; //定义账号 String pswf; //定义密码 double jine; //定义金额 public kehu() { } //构造GUKE public kehu(String zh, String pswf, double jine) { this.zh = zh; this.pswf = pswf; this.jine = jine;

ATM自动取款机系统概述

AT M自 动取 款机 系统 概述 1 1.1 ATM自动取款机系统概述 ATM自动取款机是由计算机控制的持卡人自我服务型的金融专用设备。本节主要简单介绍ATM自动取款机系统及其开发流程。 11.1.1 ATM自动取款机简介 ATM是英文AutomaticTeller Machine的缩写,即自动取款机的意识,图11 -1是一个ATM自动取款机的示意图。ATM是最普遍的自助银行设备,可以提供最基本的银行服务之一,即出钞交易,有些全功能的产品还可以提供信封存款业务。在ATM自动取款机上也可以进行账户查询和改密的业务。作为自助式金融服务终端,除了提供金融业务功能之外,ATM自动取款机还具有维护、测试、事件报告、监控和管理等多种功能。 11.1.1 ATM自动取款机简介 ATM是英文Automatic Teller Machine的缩写,即自动取款机的意识,图1 1-1是一个ATM自动取款机的示意图。ATM是最普遍的自助银行设备,可以提供最基本的银行服务之一,即出钞交易,有些全功能的产品还可以提供信封存款业务。在ATM自动取款机上也可以进行账户查询和改密的业务。作为自助式金融服务终端,除了提供金融业务功能之外,ATM自动取款机还具有维护、测试、事件报告、监控和管理等多种功能。 11.1.2 ATM自动取款机的开发流程

ATM自动取款机系统的开发流程遵循实时系统的统一开发过程,主要生命周期包括系统分析、概要设计、详细设计和实现与测试,采用的软件开发方法为迭代式。开发流程详细说明如下。 l 系统分析。主要标识系统涉及的用例,以及为每个用例创建的事件流。而且,还需要定义初始功能测试用例,作为检查最后实现是否正确和完备的工具。系统分析还需要显示用例隐含的类,利用分析类图进行文档化处理。 l 概要设计。使用CRC卡,定义每个类的职责。首先通过全局类图定义设计的静态结构,然后定义设计的动态结构,使用状态图定义主要 控制类的动态行为,为主要用例创建交互图。 l 详细设计。包括为每个类定义属性和操作,利用包图对相关类进行组织。 l 代码生成。利用代码生成工具将设计转换为Java代码,并对代码进行详细处理,编写辅助代码,完成系统实现,并能够对设计进行模拟,能够作为Applet运行,能够在浏览器中查看可执行版本。 需要注意的是,本实例采用实时Java作为最后的实现语言,创建了一个ATM自动取款机的模拟程序。模拟真实ATM机的行为,还需要JDK的支持。 11.1.3ATM自动取款机系统初始需求描述 下面是一个ATM自动取款机系统初始需求描述示例,供读者参考。 “ATM自动取款机系统初始需求规格说明书” 1.引言 1.1 目的 本文档描述了自动取款机系统的软件需求,支持ATM的设计人员、开发人员和维护人员。 1.2 范围 ATM的功能要求支持计算机银行网。 1.3概述 文档剩余部分组织如下:本节后续部分将给出一些重要术语的定义;第2部分将包含对ATM的一些基本描述;第3部分表示特定的功能需求、外部接口和性能需求。 1.4 定义 l 账号。在银行中,事务应用的单个账号。账号可以为多种类型,但是至少包括支票和存款。每个顾客可以拥有多个账号。

ATM自动提款机使用指南

ATM自动提款机使用指南 1、ATM(自动提款机)的功能 ATM自动提款机可以提供的服务项目包括取款、查询和更改密码 2、哪些银行卡可以在ATM上提款 凡属于"银联"范围的信用卡和借记卡均可在ATM上取款、查询和更改密码 具体银行包括:中国银行、工商银行、农业银行、建设银行、交通银行、邮政储汇、中信实业银行、北京商业银行、民生银行、招商银行、华夏银行、光大银行、上海浦东发展银行、广东发展银行、福建兴业银行、深圳发展银行。 注意:除中国银行的ATM外,使用中行的信用卡在其他银行卡的ATM提款,每笔收取2元人民币手续费,查询和更改密码不收费。 3、ATM的工作时间 全天:24小时; 全年:365天。 4、如果输错密码,ATM将卡"吞"掉如何处理 最新升级的中行ATM设备,密码输错3次后会自动通知银行在1个工作日内将您的帐户冻结,待第2个工作日再行自动开放,不会将您的信用卡"吞"掉。 如此,既保证了您的帐户的安全,在您丢失卡时,为您提供了1天的挂失时间,同时也免去了由于误操作造成"吞"卡,使您往返银行。如果因其他原因致使您的银行卡被"吞" ,请保存好打印单据,并拨打以下电话与银行联系,一般可以于次日凭身份证从该ATM机的管理行取回: 注意:如何避免ATM"吞" 卡。使用不当仍可以造成ATM因机械原因而"吞" 卡。在ATM 将您的银行卡推出时,如您需要继续服务,请将银行卡抽出,再送入插卡口,不要直接将卡推入,可以避免ATM误操作将您的卡"吞" 掉。 5、ATM取款限额和手续费 每天提款限额普通卡3000元,金卡5000元,每笔提款限额2500元。本地中行ATM使用中行卡提款不收手续费,使用其他银行卡取款每笔扣2元手续费。 6、ATM的使用安全 保管好密码,输入密码时,不要有其他人在身边; 保管好银行卡,服务完成后,立即将卡取出并存放好,发现遗失,立即挂失; 保管好打印单据,不要随意丢弃,如不愿保存,可携带到办公室或家里再行销毁。如您有任何其他疑问或问题,请向中国银行咨询:95566 感谢大家使用联名卡! ATM自动提款机简介 自动取款机又称ATM,就是自动柜员机,因大部分用于取款,又称自动取款机。它是一种高度精密的机电一体化装置,利用磁性代码卡或智能卡实现金融交易的自助服务,代替银行

自动取款机(ATM)模拟程序(C#控制台应用程序)

自动取款机(ATM)模拟程序 一、需求 我们需要设计一个具备如下功能的ATM模拟程序。 ●开户:用户能够通过ATM来开设帐号,开户需要设置密码。 ●登录:用户能够登录到已经开设的帐号上,登录需要验证密码。 ●管理帐号:用户登录到帐号上后,能够进行如下的操作。 ■存款:将指定的款项存到帐号中。 ■取款:从帐号中取出指定的款项。 ■查询余额:查询帐号的余额。 ■修改密码:修改帐号的密码。 二、分析 面向对象编程的第一步是进行面向对象分析。面向对象分析的目标是建立问题领域的模型,包括如下模型。 ●功能模型:即画出每一个功能要求的用例图。 ●对象模型:对用例模型进行分析,把系统分解成互相协作的类,通过类图/对象图描述对 象、对象的属性、对象间的关系。 ●动态模型:描述系统的动态行为,通过序列图来描述对象的交互,以揭示对象间如何写 作来完成每个具体的用例,单个对象的状态变化和动态行为可以通过状态图来表达。1.功能模型 根据我们的需求,可以很容易地画出A TM模拟程序的用例图: 可以看出,用户可以开户和登录帐号,开户或者登录帐号之后就能管理帐号。要管理账号,就必须首先登录帐号或者开户。管理帐号的功能包括存款、取款、查询余额和修改密码。

2.对象模型 ATM是银行相连的设备,因此银行是A TM模拟程序的相关对象,所有的操作都是针对帐号的,因此帐号是其中的核心对象。此外,需要一个程序来启动ATM。因此,在ATM模拟程序中,我们需要处理四个类,或者说四类对象:启动程序、A TM、银行及帐号。 1)帐号类Account 帐号类Account包含所有的帐号信息负责所有的帐号操作。基本的帐号信息包括: ●帐号名name ●帐号密码password ●帐号余额balance 主要的帐号操作包括: ●登录Login ●存款Deposit ●取款Withdraw ●查询余额Get_Balance ●修改密码ChangePassword 2)银行类Bank 银行类Bank的本质就是一组帐号的组合,并负责管理帐号。基本的银行信息包括: ●银行名name ●已经开户的帐号数usedAccountNum ●可以容纳的最大账户数MaxAccountNum ●帐号集accounts 主要的银行操作包括: ●开户OpenAccount ●登录帐号LoginAccount ●撤销帐号,但是由于A TM不能撤销帐号,因此我们不关心这个操作 3)ATM类 ATM类与银行类之间在一对一的关联关系,ATM提供用户界面,并将用户的请求提交给银行、将银行的反馈提交给用户。基本的ATM信息包括: ●银行Bank 主要的ATM操作包括: ●启动Start ●开户OpenAccount ●登录帐号LoginAccount ●管理帐号ManageAccount ●一些显示不同信息的辅助操作(PrintLogo、Print、Pause等)。 4)启动程序类Program 启动程序类Program的唯一功能就是创建银行类和ATM类的实例,并将它们关联起来,然后启动ATM(执行A TM对象的Start方法)。因此,这个类仅仅包含程序的入口点Main方法。 5)ATM模拟程序的类图 根据上述各类的分析,可以画出A TM模拟程序的类图:

ATM自动取款机C语言源代码

//ATM自动取款机C语言源代码 #include #include void main() { int choice(int n,int money); int balance=1000000; int password,m=0; int n=0; printf("\n\n\n\n\n\n\n\n"); printf(" 欢迎使用ATM自动取款机!\n"); printf(" welcome to this system \n\n"); printf(" 按回车键继续\n"); printf(" press Enter to continue\n"); getchar(); system("cls"); do { if (n==0) { printf("\n\n\n\n\n\n\n\n\n"); printf(" 请输入您的密码\n"); printf(" please input your password\n"); } else { printf(" 您输入的密码有误,请重新输入:\n"); printf(" The password is wrong,please input again:\n"); } scanf("%d",&password); n++; } while (password!=123456&&n!=3); system("cls"); if (password==123456) do {

printf("\n\n\n\n\n\n\n\n"); printf(" 欢迎使用A TM自动取款机!\n"); printf(" welcome to this system of ATM! \n"); printf(" ********************************\n"); printf(" 1.取款Debit Withdrawal \n"); printf(" 2.存款Credit Deposit\n"); printf(" 3.余额查询Seek\n"); printf(" 4.退出Exit\n"); printf(" ********************************\n"); choice(m,balance); printf(" 继续请输入Y\n"); printf(" If you want to continue ,Press Y\n"); getchar(); } while(getchar()=='Y'); else { printf("\n\n\n\n\n\n\n\n"); printf(" 您好,由于您三次输入密码有误,我们将没收您的卡,请您在一周内持有效证件于银行办理取卡手续.\n"); printf( " your password is wrong, we will sequestrate you card,please take you effective papers come to bank get your card back\n "); } } int choice(int n,int money) { int m=0; static int flag=1000000; printf(" 请输入你的选择\n"); printf(" please choice: \n "); scanf("%d",&n); system("cls"); if(n==1) { printf("\n\n\n\n\n\n\n\n"); printf(" 请输入取款金额:\n"); printf(" please input what you want to debit:"); scanf("%d",&m); flag=flag-m; printf("\n"); printf(" 请稍后...\n"); printf(" please wait...\n\n"); printf(" 您的余额为balance:%d \n\n\n ",flag); printf(" 交易成功!\n");

java课程设计_ATM柜员机模拟程序文件

课程设计(大作业)报告 课程名称:面向对象程序设计课程设计设计题目:ATM柜员机模拟程序 院系:信息技术学院 班级: 设计者: 学号: 指导教师: 设计时间:2016-1-4-2016-1-8 信息技术学院 学院课程设计(大作业)任务书

课程设计(大作业)报告 一、题目分析 1.系统需求分析 (1)设计目标:随着市场经济的繁荣发展,人们的物质生活得到极大的提高,手中的剩余资金也日益增多。受传统观念影响,绝大多数人喜欢把资金投进银行,而在需要使用现金的时候再到银行提取现金。这就导致银行业务的急剧增加。虽然银行网点越来越多,银行的工作效率也随着信息化有较明显的增长,但是依旧不能满足广大用户的需要。而一味的增加营业网点,从理论上虽然能稍微的缓解银行的压力,但是治标不治本,而且每增加一个网点,不仅要付出昂贵的资金成本,还需要长期投入人力资本,成本非常之昂贵。这时候就迫切的需要一种自动的,易于普及的,低成本的设备来解决这一问题。于是ATM机系统应运而生了。 自动柜员机,即ATM,是指银行在不同地点设置一种小型机器,利用一信用卡大小的胶卡上的磁带记录客户的基本户口资料(通常就是银行卡),让客户可以透过机器进行提款、存款、转账等银行柜台服务,大多数客户都把这种自助机器称为自动提款机。 本文正是通过设计一个ATM模拟模拟程序来实现ATM机系统的基本功能,充分运用自己所学的Java知识进行设计编程。 (2)题目设计要求:本ATM柜员机的主要功能如下所述: 要求使用图形用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行: ●查询余额:初始余额为10000元。 ●ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透 支。 ●ATM存款:不能出现负存款。 ●修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密 码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。 2.ATM模拟系统总体设计结构 (1)设计思想:通过程序要求,我们可以清楚的知道本次设计的ATM柜员模拟程序需

ATM自动取款机系统需求分析

《软件工程》结课论文 题目:ATM自动取款机系统的需求分析 / 专业:XXXXXXXXXXXXXXXX 班级:XX XX XX XX X XX 姓名:XX XX XX 学号:XXXXXXXXXXXXX XXXX 年XX 月XX 日 \ 目录

1.引言 ...................................................................................................................... 错误!未定义书签。 编写目的 ............................................................................................................ 错误!未定义书签。 项目背景 ............................................................................................................ 错误!未定义书签。 定义 .................................................................................................................... 错误!未定义书签。2.任务概述 .............................................................................................................. 错误!未定义书签。 目标 .................................................................................................................... 错误!未定义书签。 运行环境 ............................................................................................................ 错误!未定义书签。 条件与限制 ........................................................................................................ 错误!未定义书签。。 3.数据描述 .............................................................................................................. 错误!未定义书签。 静态数据 ............................................................................................................ 错误!未定义书签。 动态数据 ............................................................................................................ 错误!未定义书签。 数据库介绍 ........................................................................................................ 错误!未定义书签。 系统E-R图 .................................................................................................... 错误!未定义书签。 数据词典 ............................................................................................................ 错误!未定义书签。 数据采集 ............................................................................................................ 错误!未定义书签。4.功能需求 .............................................................................................................. 错误!未定义书签。 功能划分 ............................................................................................................ 错误!未定义书签。 功能描述 ............................................................................................................ 错误!未定义书签。 " 功能要求 .......................................................................................................... 错误!未定义书签。5.性能需求 .............................................................................................................. 错误!未定义书签。 数据精确度 ........................................................................................................ 错误!未定义书签。 时间特性 ............................................................................................................ 错误!未定义书签。 适应性 ................................................................................................................ 错误!未定义书签。6.其它需求 .............................................................................................................. 错误!未定义书签。

自动取款机系统.doc

某银行自动取款机系统 1.1自动取款机系统的需求分析 需求分析是软件系统开发的开始阶段,也是非常关键的一个阶段,“好的开始是成功的一半”,在软件系统开发中,这个道理仍然适用,捕获完整正确的系统需求,对系统后期的开发阶段顺利进行至关重要。在面向对象系统开发方法中,用例建模是捕获系统需求的一个有效方法。 1.1.1系统的用户需求描述 某银行拟开发一个自动取款机系统,是一个由自动取款机(以下简称ATM)、银行的中央计算机、分行计算机及柜员终端组成的网络系统。总行拥有多台ATM,分别设在市区的各主要街道上。每个分行负责提供分行计算机和柜员终端。柜员终端设在分行营业厅及分行下属的各个储蓄所内。在银行拥有账户的储户有权申请领取银行现金卡,银行卡上有分行代码和卡号。使用银行现金卡用户可以通过自动取款机系统访问自己的账户。目前仅限于使用银行现金卡在ATM上提取现金(即取款)和查询有关自己账户的信息,还可以使用ATM 办理转账事务,实现同行账户之间的转账业务。 在自动取款机系统中,当用户把银行卡插入ATM之后,ATM就与用户交互,以获取有关这次事务的信息,并与中央计算机交换关于这次事务的信息。首先,ATM要求用户输入密码,接下来ATM把从

这张卡上读到的信息以及用户输入的密码传给中央计算机,请求中央计算机核对这些信息并处理这次事务。中央计算机根据卡上的分行代码确定这次事务与分行的对应关系,并且委托相应的分行计算机验证用户密码。如果用户输入的密码是正确的,ATM就要求用户选择事务类型,包括取款、查询、转账等。若密码输入3次都不正确,ATM 就会吞掉银行卡,并退出系统。 当用户选择取款时,ATM请求用户输入取款金额(每次最多只能取2500元,每日每个账户只能支取20000元)。由ATM读取金额信息,并把相应传送到银行。银行对ATM送来的信息与银行账号上的信息进行比较。如果账户余额足够,则银行传送确认信息到ATM,ATM从现金出口吐出现金,并且打印出收据交给用户,然后顾客取出卡和现金;如果账户余额不足,则给出相应的提示信息,ATM退出系统,退出用户的银行卡。 当用户选择查询时,ATM与银行计算机进行通信,银行计算机提取账户信息,并传递给ATM进行显示,并且打印数据交给用户,ATM退出系统,退出用户的银行卡。 当用户选择转账时,ATM请求用户输入转入的目的账户和转账金额,由ATM读取和金额信息,并把相应信息传送到银行。银行对ATM送来的信息与银行账号上的信息进行比较。如果目的账户合法,并且账户余额足够,则银行传送确认信息到ATM,并且打印收据交给用户,然后顾客取出卡,退出系统;退出用户的银行卡。 银行的自动取款机系统示意图如下图所示:

ATM自动取款机系统的分析与设计方案

ATM自动取款机系统的分析与设计 需求说明 第一部分引言 1.1编写目的 本文档描述了自动取款机系统的软件需求。 1.2适用范围 ATM的功能要求支持计算机银行网。 1.3背景 ATM自动提款机系统。ATM自动取款机是由计算机控制的持卡人自我服务型的金融专用设备。ATM是英文Automatic Teller Machine的缩写。ATM是最普遍的自助银行设备,可以提供最基本的银行服务之一,即出钞交易,有些全功能的产品还可以提供信封存款业务。在ATM自动取款机上也可以进行账户查询、修改密码和转账的业务。作为自助式金融服务终端,除了提供金融业务功能之外,ATM自动取款机还具有维护、测试、事件报告、监控和管理等多种功能。 ATM自动取款机系统,是一个有终端机,A TM系统,数据库组成的应用系统。系统功能有用户在ATM上提取现金、查询账户余额、修改密码及转账功能。 ATM自动取款机系统向用户提供一个方便、简单、及时、随时随地可以随心所欲存取款的互联的现代计算机化的网络系统。可以大大减少工作人员,节约人力资源的开销,同时由于手续程序减少也可以减轻业务员的工作负担,有效地提高了整体的工作效率和精确度。减少了用户办理业务的等待时间;用户可以随时随地可以随心所欲存取款,并且操作简单易懂;用户还可以选择在柜台办理业务或自己在自动提款机和自动取款机办理业务。第二部分任务概述 2.1目标 系统功能实现用户在A TM上提取现金、查询账户余额、修改密码及转账功能。 2.2用户的特点 本系统功能齐全,交互界面简单便捷,适用社会广大人群,且能满足用户安全性需求。

2.3假定和约束 本系统不具备语音提示功能,不能为盲人等群体提供服务。 第三部分需求规定 3.1对功能的规定 3.1.1系统功能关系图 用例图: 3.1.2系统功能概述 ATM自动取款机系统相关的主要对象有: 用户:使用ATM自动取款机进行现金交易。进行取款、查询余额、设置密码、转账等操作。 系统:对用户的需求进行接收,通过与数据库的交互,根据对用户应用服务的响应,更新数据库中用户的信息。 数据库:对用户的所有信息进行存储更新。 取款功能: 用户按照系统输入要求输入取款金额即可取出相应金额的现金。 查询余额功能: 用户可以查看账户所剩现金余额。

C语言课程设计ATM机模拟操作附源码

C语言-ATM机模拟操作 程序实现功能点: a.查询:查询帐户的存款余额。按任意键返回主菜单; b.取款:输入100、500、1000、2000、5000、其它金额为取款金额,取 款金额不超过帐户余额,操作后帐户余额应相应减少,之后可返回主菜单; c.存款:输入100、500、1000、2000、5000、其它金额为存款金额,存 款金额不超过20000元,操作后帐户余额应相应增加。之后可返回主菜单; d.转帐:输入一个帐户号,程序判断与文件信息是否相符,储户确认无 误后,再输入100、500、1000、2000、5000、其它金额为转帐金额,转帐金额不得超过帐户余额,操作后帐户余额应相应减少。之后可返回主菜单; e.修改密码:连续输入两次新密码(两次输入结果完全相同)后,新密码 取代旧密码,并存放到帐户信息文件中。之后可返回主菜单; f.退出:退出系统; g.帮助:增加趣味性; h.存款时,可正可负,正表示存款,负表示取款; i.帐户信息存放在文件,储户存取款记录保存在中;(在目录下创建这两

个文件) j.采用模块化程序设计方法来实现,即main()显示主菜单、调用相关函数实现相应功能,起主控作用; k.储户一天内输错密码的次数不能超过3次,否则无法进入系统; l.有效避免输入存款金额、取款金额为负数等异常情况的出现。 较为突出的功能是注册、登录时账号密码的核对验证;存款转出转入金额的核对。是否超过余额,是否不符合格式,是否为冲突操作。 (2)程序运行截图及说明(每图限50到100字); 进入程序,menu1可选择登录、注册功能。 选择登录,输入账号密码,通过输入内容与文件的匹配,判断是否成功登录。若登录失败,则重新选择。

atm自动取款机系统项目开发计划

a t m自动取款机系统项 目开发计划 标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N]

课程设计 题 目:A T M 自动取款机系统 —项目开发计划 学生姓名: 学 院:信息工程学院 系 别:计算机系 专 业: 班 级: 指导教师: 2011年7月15日 目录 学校代码: 10128 学 号:5038 5052

1.引言 编写目的 ATM机管理系统是银行业务流程过程中十分重要且必备的环节之一,在银行业务流程当中起着承上启下的作用,其重要性不言而喻。但是,目前许多银行在具体的一些业务流程处理过程中仍然使用手工操作的方式来实施,不仅费时、费力,效率低下,而且无法达到理想的效果。然而ATM自动取款功能不带为银行节省大量财力人力,还为广大城市用户带来便捷。为明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档,本文针对上述问题,采用软件工程的开发原理,依据软件流程过程规范,按照需求分析,概要设计,程序编码,软件应用等过程,开发了这个系统。本文档供项目经理、设计人员、开发人员参考。 项目背景 待开发项目名称:ATM自动取款机系统的分析与设计 项目提出者:ATM机系统是应呼和浩特建设银行网络建设和改造需要,为客户提供方便、迅速、便捷的自动取款业务提出了ATM机自动取款系统设计方案。 项目开发者:李向南朱学雷赵中军刘英杰 定义 专业术语与缩略词: 帐号:在银行中,事物应用的单个帐号。帐号可以为多种类型,但是至少包括支票和存款。每个顾客可以拥有多个帐号。 客户:拥有银行的一个或多个帐号的人。可以是一个人或多个人,或者是公司。相同的人,拥有不同的银行帐号被认为是不同的落户。

相关文档
最新文档