活期储蓄账目管理 代码
活期账目储蓄管理
摘要银行作为一个金融机构,在现代人们的生活中扮演着极其重要的角色。
为生活节凑飞快的现代人提供快速、便捷、高效的理财服务。
伴随着电脑技术的发展,各大银行的储蓄管理系统也随之出现在这一舞台上。
本次研究开发的目的是设计并实现一个活期储蓄账目管理系统的基本业务。
本文介绍了活期储蓄账目管理系统,并深入分析活期储蓄账目管理系统的设计和各个功能模块的实现。
系统主要分为五个大的模块:储户开户模块、储户销户模块、储户登录模块、储户的账号存款、取款模块,能够实现对储户的自然信息进行管理,对储户账户信息进行管理,对当天交易进行统计,以及查询指定用户的交易信息。
系统充分采用了模块化的设计思想,将各种功能进行封装,提高了系统的整体扩展性,经使用证明该系统运行良好。
关键词:算法数据结构管理Title Current savings account management systemAbstractBank, as a financial institution, in modern plays an extremely important role in people's lives. For modern living section of Minato quickly with fast, convenient, and efficient financial services. Along with the development of computer technology, the major bank savings management system also arise at this stage.This research aims to design and implement a basic business checking savings account management system. This article describes the current savings account management system, and in-depth analysis of current savings account management system design and realization of each functional module.System is divided into five modules: customer account login module, customer sales module, savers account deposit, withdrawal of modules, savers can be achieved naturally information management, to manage customer account information, trading statistics on that day, and the query transaction information for the specified user.Full systems with modular design concept, package various functions, improve the overall scalability of the system, the used result shows that the system is running well.Keywords:Algorithm Data structure Management目录1 绪论 (1)1.1 研究开发目的和意义 (1)2 活期储蓄账目管理系统开发技术 (2)2.1 C++语言简介 (2)2.2 Visual Studio 2005开发平台 (2)2.3 活期储蓄账目管理介绍 (4)3 系统分析 (5)4 系统设计 (5)4.1 系统模块设计 (5)4.1.1登录功能模块的分析 (6)4.1.2用户自然信息管理功能模块的分析 (6)4.1.3账户信息管理功能模块分析 (7)4.1.4当天交易统计功能模块的分析 (7)4.1.5用户交易查询模块的分析 (7)4.2 系统设计所采用技术 (7)4.3 数据库结构设计 (8)4.4 函数设计 (10)4.5 关键流程 (11)4.5.1系统函数调用流程 (11)4.5.2系统执行流程 (12)4.5.3功能详细执行流程 (13)5 调试分析 (15)6 测试及运行结果 (16)6.1登陆功能 (16)6.2主操作界面 (17)结论 (27)致谢 (28)参考文献 (29)1 绪论随着科技的提高和社会的日益发展,21世纪已经进入到了信息、网络的高科技时代,互联网逐渐普及,社会现代化的脚步不断加快,人们的生活也随之向着多元化的方面发展。
C语言银行储蓄系统源码
}
printf("\n");
r=strcmp(banks[accountnum].password,password1);
if(r!=0)
{
printf("两次密码不相同,开户失败!\n");
return;
}
banks[accountnum].balance=0;
banks[accountnum].state=0;
if(money==0)
{
printf("转账失败\n");
return;
}
else
{
if(money>banks[nowaccount].balance)
printf("您的账户没有这么多余额,转账失败!\n");
else
{
banks[nowaccount].balance-=money;
banks[a].balance+=money;
C语言银行储蓄系统源码
这篇文章主要为大家详细介绍了C语言银行储蓄系统源码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
void openaccount();//开户
{
r1=strcmp(account1,banks[j].account);
r2=strcmp(password1,banks[j].password);
银行活期储蓄帐目管理系统
一、需求分析:设计一个银行活期储蓄帐目管理系统(每个记录有下列数据项:账户号码、用户名、身份证号、地址等)。
(1) 能比较迅速地找到储户的帐户,以实现存款、取款记账。
(2) 能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。
(3) 符合课题要求,实现相应功能;(4) 要求界面友好美观,操作方便易行;(5) 注意程序的实用性、安全性。
所使用的函数:函数: 功能如下:void mainmenu(); 输出主菜单void add(); 添加用户资料void select_name(); 按姓名查询余额void select_id(); 按账号查询余额void display(); 显示用户资料void save_money(); 用户存款void get_money(); 用户取款void delete(); 销户二、概要设计:1、所使用的存储结构是:struct user{int id;char name[20];char person_num[19];double money;}2、其流程图如下:三、详细设计:1. void add() //添加用户资料{printf("%30s\n","***添加用户***");printf("---------------------------------------------\n\n");struct user getuser();int count(); //函数目的:计算文件中的记录数目以生成自动账号FILE *fp;int number;struct user temp;if((fp=fopen(file,"ab"))==NULL){printf("不能打开文件!\n");exit(1);}temp=getuser(); //读取用户名number=count();temp.id=number+1; //生成自动账号fwrite(&temp,sizeof(struct user),1,fp);printf("添加用户成功!\n");fclose(fp);}2. int count() //函数目的:计算文件中的记录总数{FILE *fp;int num;struct user temp;num=0;if((fp=fopen(file,"rb"))==NULL){printf("不能打开文件!\n");exit(1);}while(fread(&temp,sizeof(struct user),1,fp)){num++;}fclose(fp);return num;}3. void getname(char *name) //读取用户姓名(字符数<20){do{scanf("%s",name);fflush(stdin);if(strlen(name)==0)printf("姓名不能为空!\n");elseif(strlen(name)>=20)printf("姓名不能超过20个字符!\n");elsebreak;printf("请重新输入姓名: ");}while(1); //循环以保证读入数据有效}void getperson_num(char *person_num) //函数功能:读取用户身份证号码(15位或者 18位 ){do{int i,mark;char ch;for(i=0,mark=0;;i++) //输入有效性判断(只能是数字)if((ch=getchar())!='\n'){if(ch<='9'&&ch>='0')person_num[i]=ch;else{printf("身份证号码只能是数字!\n");mark=1;break;}}elsebreak;person_num[i]='\0';if(mark==1)continue;if(strlen(person_num)!=15&&strlen(person_num)!=18) printf("身份证号码只能是15位,或者18位!\n");elsebreak;printf("重新输入身份证号码: ");}while(1); //循环以保证读入数据有效}4. void select_name() //按照姓名查询账户余额{void getname(char *name);printf("%30s\n","***按照姓名查询账户余额***");printf("%8s %15s %15s %10s\n","账号","用户姓名","身份证号码","存款余额");printf("---------------------------------------------\n\n");FILE * fp;struct user temp;char name[20];if((fp=fopen(file,"rb"))==NULL){printf("不能打开文件!\n");exit(1);}printf("请输入要查询的姓名:"); //调用读取用户名函数getname(name);while(fread(&temp,sizeof(struct user),1,fp)) //循环读取每一条记录判断是否为要查看的记录if(strcmp(,name)==0){printf("NO.%d %15s %15s %.2f\n",temp.id,,temp.person_num,temp.mone y);}fclose(fp);}5. void select_id() //按照账号查询账户余额{int count();printf("%30s\n","***按照编号查询账户余额***");printf("%8s %15s %15s %10s\n","编号","用户姓名","身份证号码","存款余额");printf("---------------------------------------------\n\n");FILE * fp;struct user temp;int i,maxnum;if((fp=fopen(file,"rb"))==NULL){printf("cannot open file!\n");exit(1);}maxnum=count();printf("输入要查询账号:"); //判断账号是否在记录中scanf("%d",&i);if(i<1||i>maxnum){printf("你要查询的账号不存在!");return;}while(fread(&temp,sizeof(struct user),1,fp))//循环读取每一条记录判断是否为要查看的记录if(temp.id==i){printf("NO.%d %15s %15s %.2f\n",temp.id,,temp.person_num,temp.mone y);}fclose(fp);}6. void display() //显示用户资料{printf("%30s\n","***用户资料显示***");printf("%8s %15s %15s %10s\n","账号","用户姓名","身份证号码","存款余额");printf("---------------------------------------------\n\n");FILE * fp;struct user temp;if((fp=fopen(file,"rb"))==NULL){printf("cannot open file!\n");exit(1);}while(fread(&temp,sizeof(struct user),1,fp)){printf("NO.%d %15s %15s %.2f\n",temp.id,,temp.person_num,temp.mone y);}fclose(fp);}7.void save_money() //函数功能:按账号存款{printf("%30s\n","***用户存款业务***");printf("---------------------------------------------\n\n");int count();FILE *fp;int i,num,mark;struct user *temp;num=count(); //根据记录数申请空间temp=(struct user *)malloc(num*sizeof(struct user));if((fp=fopen(file,"rb"))==NULL){printf("cannot open file!\n");exit(1);}for(i=0;i<num;i++) //将文件内容存入数组fread(&temp[i],sizeof(struct user),1,fp);fclose(fp);printf("输入要存款账号:"); //读取存款账号scanf("%d",&mark);if(mark<1||mark>num){printf("你要存款账号不存在!");return;}if((fp=fopen(file,"wb"))==NULL) //写方式打开文件,覆盖原文件中的内容{printf("cannot open file!\n");exit(1);}for(i=0;i<num;i++){if(temp[i].id==mark){double money=0;printf("输入要存入的金额:");scanf("%lf",&money);if(money<=0){printf("金额只能为正数!\n");money=0;}temp[i].money +=money; //修改该用户的信息}fwrite(&temp[i],sizeof(struct user),1,fp);}fclose(fp);free(temp);printf("你存款业务已办妥!\n");}8.void get_money() //函数功能:用户取款{printf("%30s\n","***用户取款业务***");printf("---------------------------------------------\n\n");int count();FILE *fp;int i,num,mark;struct user *temp;num=count(); //根据记录数申请空间temp=(struct user *)malloc(num*sizeof(struct user));if((fp=fopen(file,"rb"))==NULL){printf("不能打开文件!\n");exit(1);}for(i=0;i<num;i++) //读取文件内容fread(&temp[i],sizeof(struct user),1,fp);fclose(fp);printf("输入要取款账号:");scanf("%d",&mark);if(mark<1||mark>num){printf("你要取款账号不存在!");return;}if((fp=fopen(file,"wb"))==NULL){printf("不能打开文件!\n");exit(1);}for(i=0;i<num;i++) //写方式打开文件,覆盖原文件中的内容{if(temp[i].id==mark){double money=0;printf("输入要取出的金额:");scanf("%lf",&money);if(money<=0) //判断用户余额是否足够{printf("只能为正数!\n");money=0;}elseif(money>temp[i].money){printf("你的余额不足!\n");money=0;}temp[i].money -=money;}fwrite(&temp[i],sizeof(struct user),1,fp);}fclose(fp);free(temp);printf("你取款业务已办妥!\n");}9.void del() //销户{int count();printf("%30s\n","***注销账户***");printf("%8s %15s %15s %10s\n","账号","用户姓名","身份证号码","存款余额");printf("---------------------------------------------\n\n");FILE * fp;struct user temp;int i,maxnum;if((fp=fopen(file,"rb"))==NULL){printf("不能打开文件!\n");exit(1);}maxnum=count();printf("输入要销户账号:"); //判断编号是否在记录中scanf("%d",&i);if(i<1||i>maxnum){printf("你要查询的账号不存在!");return;}while(fread(&temp,sizeof(struct user),1,fp))//循环读取每一条记录判断是否为要查看的记录if(temp.id==i&&temp.money==0.00)//余额为0{temp.id=-1;//算无效帐户printf("NO.%d %15s %15s %.2f\n",temp.id,,temp.person_num,temp.mone y);//printf("%d\n",temp.id);fwrite(&temp,sizeof(struct user),1,fp);//保存修改}fclose(fp);}10void mainmenu() //函数功能:输出界面{printf("%30s\n"," ***活期储蓄帐目管理系统***");printf("---------------------------------------------------\n\n");printf("%8s,%-20s\n","** 1","储户开户**");printf("%8s,%-20s\n","** 2","按照姓名查询**");printf("%8s,%-20s\n","** 3","按照账号查询**");printf("%8s,%-20s\n","** 4","显示用户信息**");printf("%8s,%-20s\n","** 5","储户存款**");printf("%8s,%-20s\n","** 6","储户取款**");printf("%8s,%-20s\n","** 7","储户销户**");printf("%8s,%-20s\n","** 8","退出**");printf("\n请选择功能(1~8):");}四、调试分析:将软件进行初始化,即在VC++6.0中运行该程序,进入程序主菜单。
活期储蓄帐目管理数据结构[1]简版
活期储蓄帐目管理数据结构活期储蓄帐目管理数据结构简介活期储蓄帐目管理是一项常见的任务,尤其是对于个人或家庭来说。
储蓄帐目管理可以帮助人们追踪他们的存款、支出和余额,以便更好地控制财务状况。
为了有效地管理这些帐目,使用数据结构来组织和存储数据是非常重要的。
在本文档中,我们将介绍一种适用于活期储蓄帐目管理的数据结构,该数据结构使用简单且高效的方式存储和操作帐目数据。
我们将首先讨论活期储蓄帐目的结构,然后介绍数据结构的设计以及相应的操作。
活期储蓄帐目结构活期储蓄帐目通常包含以下字段:- 日期:存储帐目发生的日期和时间信息。
- 类别:存储帐目的类型,如存款或支出。
- 金额:存储帐目的金额。
- :可选字段,用于存储关于帐目的额外信息。
这些字段共同组成了一个完整的帐目条目,在数据结构中,我们可以使用一个对象或者一个记录来表示一个帐目条目。
数据结构设计为了有效地管理帐目数据,我们可以选择使用线性表作为底层数据结构。
线性表可以是数组或链表,具体取决于实际的需求。
对于活期储蓄帐目管理,我们可以使用一个动态数组来存储所有的帐目条目。
动态数组可以根据需要自动扩展或收缩,以适应不同数量的帐目。
```markdownstruct AccountEntry {Date date;string category;double amount;string note;}class AccountManager {vector<AccountEntry> entries;// 实现其他的操作方法```上述代码展示了一个包含帐目条目的动态数组的数据结构设计。
每个帐目条目使用一个结构体(`AccountEntry`)来表示,而整个帐目管理系统使用一个类(`AccountManager`)来封装帐目条目的操作方法。
数据结构操作下面是一些常见的数据结构操作,让我们逐一介绍。
添加帐目为了向帐目管理系统中添加新的帐目,我们可以实现一个`addEntry()`方法。
新编整理[基层网点常用交易码汇总] 银行基层网点管理
[基层网点常用交易码汇总] 银行基层网点管理基层网点常用交易码汇总0008:开户,包括开卡,活期存折,定期一本通,定期存单,需要核查身份证,新建或者完善客户资料,开卡还需要留存身份证复印件,并把联网核查打印在身份证复印件背面,用于专夹保管。
1001:建议挂失业务一律从1001进入,按照电子流一步一步走。
活期存折:1051现金存款,1052现金取款,1062现金销户,1045转账存款1046转账取款1092账户交易明细查询,1093主档查询,1073活期折补登借记卡:4212卡,4213卡取,4254卡卡转账,金额大于等于五万需要联网核查,如果代理核查两个人身份证,并在传票背面登记身份证号码,同活期存折的1051,1052,10623060借记卡冻结与3061借记卡解冻需要远程授权4210转账存,4211转账取(同活期存折的1045,1046交易,先做转账取,再做转账存,适用于现金箱余额不足的情况)这是一个组合,必须都做。
3093一般用于查询卡户主的资料,包括姓名,身份证号,客户号,开户行等3063一般用于查询卡户主的余额,包括活期和定期的主账户,子账户3065查询借记卡交易明细,4293查询借记卡时间比较远的历史交易记录只能屏打 3080打印借记卡明细对账单,时间大概往前推半年。
3094借记卡密码解锁(本人持身份证),4216,借记卡密码修改(建议去转账机)3035:借记卡子账户销户转主账户,如果客户取钱,一定要再做一个4213交易。
3034:借记卡主账户转开子账户;3009:借记卡现金开子账户;3010:借记卡子账户现金销户3032:借记卡子账户现金部提,直接按利息票给客户现金。
定期一本通:4461现金开子账户,4462现金销户,4466现金部提,4472换折(联网核查) 4472(换折)和4488(销折)交易内页需取下交给客户,盖内页已取章,让客户在方框内签字,打印记账凭证。
定期存单:1362现金销户;1366现金部提(重新给客户补发一份新存单)贷记卡:4215银行卡跨中心查余额(也可以用于测试借记卡密码的正确与否) 4907:贷记卡交易明细查询;4920,贷记卡柜台激活收费:建议都用9426联机收费交易,在此交易下一步步寻找收费种类。
银行活期储蓄账户管理课程设计
青岛大学软件技术学院游戏算法实践报告姓名王晓阳专业数字媒体艺术班级 4班指导教师刘春秋2013年 1 月 16日目录1 问题定义与描述 (3)1.1 问题定义 (3)1.2 问题描述 (3)2 关键技术 (3)3 程序的执行命令操作 (3)4 总体设计 (4)4.1 系统模块图 (4)4.2结构设计说明 (5)5 详细设计 (5)5.1构建节点类模板 (5)5.2主函数构建 (5)5.3其他各功能函数 (6)6 测试结果及分析 (8)7 心得体会 (11)附录:程序代码 (13)1 问题定义与描述1.1 问题定义活期储蓄账目管理1.2 问题描述本程序需要先建立结点类模板,然后使用链表的基本操作应用实现各个程序的实现,头插法先建立链表使之成当前操作数据基础,然后可以使用节点的删除进行储户的销户,结点的插入的应用成为程序的开户(注意:建立新的用户要先确认新建的用户号不可以语之前的用户号码相同, 引起系统错误!本程序应用链表节点的比较改进程序。
)。
储户的存取也是应用节点的比较查找之后进行的账户钱数加减。
2 关键技术链表的插入、删除与查找3 程序的执行命令操作(1).建立节电类模板,构建链表.(2).输入储户信息.(3).执行各项操作(数据测试)1.查询储户信息.2.开户.3.储户支取信息查询.4.储户的程序销户.5.程序完成.6.程序退出.4 总体设计4.1 系统模块图图4.1 系统模块图4.2结构设计说明1.本程序主要应用数据结构节点类模板,首先构建节点类模板,在建立已有储户数据中对头结点(*head)分配动态存储空间,对头结点的邻接点(head->next)赋初值,循环插入新结点建立储户数据(头插法)。
在账号循环插入中进行账号重复判断。
2.在查找账户的过程中,应用结点下移继续查找,实现账户正确查找应用。
3.在销户过程中,进行结点删除,从而实现储户的销户。
4.在开户过程中,定义新结点,分配新的存储空间,进行结点插入,在账号循环插入中进行账号重复判断,完成开户过程。
银行储蓄开发程序代码C++
实验项目:银行储蓄实验项目一、银行储蓄系统主菜单模块设计与实现1.1库函数描述(原型、功能、头部文件)及其作用Time显示当前时间类 #include<time.H>System()调用dos命令 _sleep()停息#include<stdlib.H>String 字符串流#include<string.H>#include"myheader.h"中有调用的全部函数声明1.2编码(必须附加注释)#include"myheader.h"void main(){//背景颜色设置system("COLOR 16");/*颜色属性由两个十六进制数字指定 -- 第一个为背景,第二个则为前景。
每个数字可以为以下任何值之一:0 = 黑色 8 = 灰色1 = 蓝色 9 = 淡蓝色2 = 绿色 A = 淡绿色3 = 湖蓝色 B = 淡浅绿色4 = 红色 C = 淡红色5 = 紫色 D = 淡紫色6 = 黄色 E = 淡黄色7 = 白色 F = 亮白色*///输出=============★欢迎进入银行活期存款系统★=============int i;for(i=0;i<13;i++)cout<<'=';cout<<"★欢迎进入银行活期存款系统★";for(i=0;i<13;i++)cout<<'=';cout<<endl;//列示当前时间cout<<"当前时间:";for(i=0;i<6;i++)cout<<" ";Time t=latesttime();t.print();//列示菜单mylist();cout<<"如果您不了解该系统请按N否则按Y: ";//核实输入是否为字符string check;while(1){cin>>check;if(check.length()>1){cout<<"您的输入有误请重新输入:";continue;}if(check[0]!='Y'&&check[0]!='N')cout<<"您的输入有误请重新输入:";elsebreak;}int mark=1;if(check[0]=='N'){mark=0;cout<<"友情提示:按对应业务的编号即可进行该业务!"<<endl<<"请继续:"<<endl;}int flag=1;while(flag++){if(flag>2){system("cls");mylist();}if(mark)cout<<"请选择业务:";string servicenum;//核实输入是否为字符while(1){cin>>servicenum;if(servicenum.length()>1){cout<<"您的输入有误请重新输入:";continue;}elsebreak;}cout<<"确认请按Y,修改请按N,请选择:"; string mark;//核实输入是否为字符while(1){cin>>mark;if(mark.length()>1){cout<<"您的输入有误请重新输入:";continue;}if(mark[0]!='Y'&&mark[0]!='N')cout<<"您的输入有误请重新输入:";elsebreak;}if(mark[0]=='N')continue;if(servicenum[0]=='0')break;cout<<" 正在处理请稍等.";_sleep(1000);cout<<".";_sleep(1000);cout<<".\n";_sleep(1000);switch(servicenum[0]){//开户case '1': creaccount();break;//存款case '2': deposit();break;//取款case '3': withdraw();break;//计息case '4': computeprofit();break;//查询case '5': checkbalance();break;//排序case '6': order();break;//系统介绍case '7': about(); break;default: cout<<"对不起,您的选择超出了我们的业务范围。
工行柜员临柜业务操作代码
工行柜员临柜业务操作代码Prepared on 24 November 2020柜员操作业务代码临柜1100 柜员签到 1101 柜员签退1104 权限卡修改密码 1121 柜员查询钱箱余额1132 领用钱箱1133 上缴钱箱1136 现金领用1137 上缴现金1141 清点钱箱 1146 打印现金日结单1192 凭证领用 1301 查询柜员当日交易明细1311 零售空白重要凭证轧帐 1316 密码验证1325 查询会计要素柜员登记簿 2319 手工销号1326 查询会计要素使用明细 1338 查询打印柜员轧帐表1280 日间、日终轧帐个人现金折类:(定期、活期、定单)1716 个人账户补登1717 个人账户换折1709 旧账户换新折 1726 通知存款2723 个人账户开户2724 个人账户销户2722 部分提前支取2726 个人账户存款2727 个人账户取款2984 个人账户一对一转账 2991 个人账户定期存款部分转账6057 扫描上传后台 7646 公民身份信息联网核查7630 查询客户账户信息 7632 补打凭证7627 个人账户当日明细查询 7628 个人账户历史明细查询7654 账户信息查询(挂失受理、挂失处理)2920交易和2713交易2920:转账(要求双方有卡或者折)2713:汇款(对方无折无卡汇款)个人卡类(牡丹灵通卡、e时代、理财金账户)3982 牡丹灵通卡开户3983 理财金卡、e时代卡销户2724 灵通卡内定期一本通无折销户2983 理财金账户、e时代卡、灵通卡取款(销户)3984 理财金账户副卡开卡2917 牡丹灵通卡存款2918 牡丹灵通卡取款2982 理财金、e时代卡、牡丹灵通卡账户存款2983 理财金、e时代卡、牡丹灵通卡账户取款3994 牡丹灵通卡脱卡交易3992 灵通卡挂卡(普通账户调入灵通卡)3996 灵通卡定期一本通开无折户2984 个人账户一对一转账(转账开户) 2991 个人账户部分转账1926 理财金、e时代卡提前通知存款/取消通知1993 灵通卡、理财金卡、e时代卡换卡 1996 查询卡内账户1984 理财金账户子账户调整 1990 查询卡信息牡丹信用卡1510 查询卡片信息1505 牡丹卡卡片启用1605 牡丹卡批量换卡启用 1612 国际卡卡片启用2801 牡丹卡信用卡存款2803 牡丹卡信用取款2805 牡丹信用卡转账2806 取消卡转 1654 自动还款1519 牡丹信用卡重置密码 2845 转账购汇还款(2846)2847 现金购汇还款(2848) 4802 分期付款(4803)1848 分期付款调整(1850) 1517 牡丹卡挂失止付3126 预约销户3105 销户2990 工信定制 7609 工信维护1557 查询客户开户信息,余额,卡号 1523 牡丹卡余额9563 信用卡发短信通知 1536 个人认证介质信息变更对公账户3007单位活期存款开户 4102 单位客户基本信息(3007:计息周期:季;回单打印:批量;回单打印周期:日;对账单打印:月)3006 单位定期存款销户4301 单位客户开户申请书 4302 客户信息采集表4105 单位客户的地址信息 4107 客户在工行开户信息4108 单位客户在其他行开户信息 4112 客户的母公司信息4113 客户子公司信息 4118 单位客户的主要成员2020 往来户存款2021 往来户取款2100 往来户转账(同城网内一借一贷) 2130 同城网内一借多贷2024 一笔多单现金付款 2023 一笔多单现金收入2132 同城网内一贷多借 2143 网内转账单笔借1477 查询单位定期存款利息 2182 单位定期存款单笔取款2186 单位定期到往来户转账支取 2183 单位定期存款部分支取1475 查询明细账3065 单位定期存款开户2081存款(固定利率、三个月起存)2108 收费(客户以转账或几张方式缴纳手续费,邮电费用2108;以记账方式缴纳的由计算机批量扣除)其他注意事项1. 活期储蓄存款:1元起存2. 定期储蓄存款:50元起存3. 定单:50元起存4. 通知存款:5万5. 零存整取:5元6. 单位开户:1.营业执照2.企业代码证书(社团登记证)3.法人代表授权书4.身份证5.预留印鉴6.国(地)税税务登记证7.开户申请书等原件(复印件)。
工行柜员临柜业务操作代码
柜员操作业务代码临柜1100 柜员签到1101 柜员签退1104 权限卡修改密码1121 柜员查询钱箱余额1132 领用钱箱1133 上缴钱箱1136 现金领用1137 上缴现金1141 清点钱箱1146 打印现金日结单1192 凭证领用1301 查询柜员当日交易明细1311 零售空白重要凭证轧帐1316 密码验证1325 查询会计要素柜员登记簿2319 手工销号1326 查询会计要素使用明细1338 查询打印柜员轧帐表1280 日间、日终轧帐个人现金折类:(定期、活期、定单)1716 个人账户补登1717 个人账户换折1709 旧账户换新折1726 通知存款2723 个人账户开户2724 个人账户销户2722 部分提前支取2726 个人账户存款2727 个人账户取款2984 个人账户一对一转账2991 个人账户定期存款部分转账6057 扫描上传后台7646 公民身份信息联网核查7630 查询客户账户信息7632 补打凭证7627 个人账户当日明细查询7628 个人账户历史明细查询7654 账户信息查询(挂失受理、挂失处理)2920交易和2713交易2920:转账(要求双方有卡或者折)2713:汇款(对方无折无卡汇款)个人卡类(牡丹灵通卡、e时代、理财金账户)3982 牡丹灵通卡开户3983 理财金卡、e时代卡销户2724 灵通卡内定期一本通无折销户2983 理财金账户、e时代卡、灵通卡取款(销户)3984 理财金账户副卡开卡2917 牡丹灵通卡存款2918 牡丹灵通卡取款2982 理财金、e时代卡、牡丹灵通卡账户存款2983 理财金、e时代卡、牡丹灵通卡账户取款3994 牡丹灵通卡脱卡交易3992 灵通卡挂卡(普通账户调入灵通卡)3996 灵通卡定期一本通开无折户2984 个人账户一对一转账(转账开户)2991 个人账户部分转账1926 理财金、e时代卡提前通知存款/取消通知1993 灵通卡、理财金卡、e时代卡换卡1996 查询卡内账户1984 理财金账户子账户调整1990 查询卡信息牡丹信用卡1510 查询卡片信息1505 牡丹卡卡片启用1605 牡丹卡批量换卡启用1612 国际卡卡片启用2801 牡丹卡信用卡存款2803 牡丹卡信用取款2805 牡丹信用卡转账2806 取消卡转1654 自动还款1519 牡丹信用卡重置密码2845 转账购汇还款(2846)2847 现金购汇还款(2848)4802 分期付款(4803)1848 分期付款调整(1850)1517 牡丹卡挂失止付3126 预约销户3105 销户2990 工信定制7609 工信维护1557 查询客户开户信息,余额,卡号1523 牡丹卡余额9563 信用卡发短信通知1536 个人认证介质信息变更对公账户3007单位活期存款开户4102 单位客户基本信息(3007:计息周期:季;回单打印:批量;回单打印周期:日;对账单打印:月)3006 单位定期存款销户4301 单位客户开户申请书4302 客户信息采集表4105 单位客户的地址信息4107 客户在工行开户信息4108 单位客户在其他行开户信息4112 客户的母公司信息4113 客户子公司信息4118 单位客户的主要成员2020 往来户存款2021 往来户取款2100 往来户转账(同城网内一借一贷)2130 同城网内一借多贷2024 一笔多单现金付款2023 一笔多单现金收入2132 同城网内一贷多借2143 网内转账单笔借1477 查询单位定期存款利息2182 单位定期存款单笔取款2186 单位定期到往来户转账支取2183 单位定期存款部分支取1475 查询明细账3065 单位定期存款开户2081存款(固定利率、三个月起存)2108 收费(客户以转账或几张方式缴纳手续费,邮电费用2108;以记账方式缴纳的由计算机批量扣除)其他注意事项1. 活期储蓄存款:1元起存2. 定期储蓄存款:50元起存3. 定单:50元起存4. 通知存款:5万5. 零存整取:5元6. 单位开户:1.营业执照2.企业代码证书(社团登记证)3.法人代表授权书4.身份证5.预留印鉴6.国(地)税税务登记证7.开户申请书等原件(复印件)。
简单的银行管理系统的C语言代码
简单的银行管理系统的C语言代码#include <stdio.h>#include <stdlib.h>#include <string.h>#include <conio.h>#define N 10000struct chuhu //储户结构信息{帐号char idnum[9]; // //密码char password[7];char name[11]; 储户姓名//// char idnumber[19]; 储户身份证号码double cunkuan; // 存款金额int lei; // 储种// 储户地址char address[51];储户的联系电话// char Tel[15];利率// double lilv;储户结构数组}hu[N]; //void xitong();int rrekey();// void kaifa(); 开发人员void cekong();// int yanzheng(); 验证帐号和密码void date(); 显示当前日期和时间//void insert(); 开户函数// void display(); // 显示查询帐户信息的函数// 存款函数void in(int);// void out(int); 取款函数查看利率表// void lilvbiao();void menu();int A=0,key; //A为开户数double jin;char ch='y'; 控制是否继续的变量//char id[11],password[7];void xitong(){FILE *fkey = fopen(key.txt,w+);int k;牰湩晴尨请创建原始密码:);scanf(%d,&k);fprintf(fkey,%d\n,k);fclose(fkey);}int main() //输出主菜单{FILE *fkey = fopen(key.txt,);int t=0;int mima; //输入的密码system(cls);system(color f0); //设置系统背景为白色date();kaifa();printf(\\n\n\n\n);printf(\\t 银行定期储蓄管理系统 1 界面\n); //printf(\ \n\n\n\n\n\n\n);); 键进入下一界面→牰湩晴尨按ENTER fflush(stdin); 清空输入缓冲区//功能: scanf(%c,&ch);if(!fkey){\n); 密码文件不存在,系统已自创牰湩晴尨xitong();menu();return 0;}system(cls);fscanf(fkey,%d,&key);\n); 牰湩晴尨请输入管理员登录密码:scanf(%d,&mima);if(mima==key)t=1;system(cls);for(;t!=1;){\n);管理员密码错误,请重新输入:牰湩晴尨scanf(%d,&mima);if(mima==key)t=1;system(cls);}//认证成功fclose(fkey);menu();return 0;}void menu(){int a,b;//选择功能的变量do{printf(\\n按ENTER键进入/返回主菜单→:);fflush(stdin);scanf(%c,&ch);system(cls); //清屏system(color f0);date();printf(\\t\t\t\t主菜单\n\n);\n);//主菜单界面(界面3)开户printf(\\t 1、\n);查询printf(\\t 2、\n); 3、用户密码验证printf(\\t\n); 存款printf(\\t 4、\n); printf(\\t 5、取款\n); 查看利率表printf(\\t 6、\n); 管理员修改密码printf(\\t 7、\n); 退出程序printf(\\t 0、); (0-7) 牰湩晴尨请选择功能:→fflush(stdin);scanf(%d,&a);// switch(a)选择功能{case1://选择功能后调用相应的函数insert();break;case 2:display();break;case 3:b=yanzheng();break;case 4:b=yanzheng();in(b);break;case 5:b=yanzheng();out(b);break;case 6:lilvbiao();break;case 7:rrekey();break;case 0:system(cls);system(color f0);date();printf(\\n\n\t==========================================================\n); printf(\‖‖\n); printf(\‖‖\n); printf(\‖‖\n);printf(\‖‖\n); printf(\‖谢谢使用‖\n); printf(\‖‖\n);printf(\‖‖\n);printf(\‖‖\n);printf(\‖‖\n); printf(\‖‖\n);printf(\==========================================================);cekong();牰湩晴尨您真的要退出吗(y/n)? );fflush(stdin);scanf(%c,&ch);system(cls);break;default:system(cls);printf(\\n\t您的输入有误,请正确选择功能!!!……);break;}if(a==0&&(ch=='y'||ch=='Y')){system(color f0);date();kaifa();printf(\\n\n\n\t 欢迎下次再使用! );cekong();break;}}while(1);}void insert() //开户{FILE *nchuhu = fopen(chuhu.txt,);FILE *fchuhu = fopen(chuhu.txt,a);int i;if((nchuhu=fopen(chuhu.txt,))==NULL){牰湩晴尨文件不存在,系统将创建.\n);}do{system(cls); //清屏system(color f0); //设置系统背景为白色date();printf(\\n\t\t请输入新储户的信息:);fscanf(nchuhu,%s\t%s\t%s\t%s\t%lf\t%s\t%s\t%d\t%lf\n,&hu[A].idnum,&hu[A].password,&hu[A].name,&hu[A].idnumber,&hu[A].cunkuan,&hu[A].Tel,&hu[A].address,&hu[A].lei,&hu[A].lilv);printf(\\n\t\t储户存单: );fflush(stdin);gets(hu[A].idnum);printf(\\t\t储户密码(6位): );for(i=0;i<6;i++){fflush(stdin);hu[A].password[i]=getch();printf(*);}hu[A].password[6]='\0';fflush(stdin);scanf(%c,&ch);printf(\\t\t姓名:);fflush(stdin);gets(hu[A].name);do{printf(\\t\t储户身份证号码(18位): );fflush(stdin);gets(hu[A].idnumber);if(strlen(hu[A].idnumber)!=18)printf(\\t\t输入错误!\n\t\t身份证请输入18位数字或字母\n);for(i=0;i<A;i++)if(strcmp(hu[A].idnumber,hu[i].idnumber)==0&&strcmp(hu[A].name,hu[i].name)!=0)break;if(i<A)printf(\\n\t\t前面已有一个不同姓名的储户的身份证号为此号码,\n\t\t同一个身份证号不可以有不同的姓名,\n\n\t\t请重新输入身份证号:\n);}while(strlen(hu[A].idnumber)!=18||(strcmp(hu[A].idnumber,hu[i].idnumber)==0&&strcmp( hu[A].name,hu[i].name)!=0));printf(\\t\t存单金额: );fflush(stdin);scanf(%lf,&hu[A].cunkuan););: 储户电话printf(\\t\tfflush(stdin);gets(hu[A].Tel);printf(\\t\t储户地址: );fflush(stdin);gets(hu[A].address);printf(\\t\t储种: );printf(\\t\t\t1、一年定期);printf(\\t\t\t2、两年定期);printf(\\t\t\t3、三年定期);printf(\\t\t\t4、四年定期);printf(\\t\t\t5、五年定期);do{printf(\\t\t请选择(1-5):);fflush(stdin);scanf(%d,&hu[A].lei);if(hu[A].lei<1||hu[A].lei>5)printf(\\n\t\t您选择错误,请正确选择!!);}while(hu[A].lei<1||hu[A].lei>5);if(hu[A].lei==5) hu[A].lilv=0.0279 ;if(hu[A].lei==4) hu[A].lilv=0.0252 ;if(hu[A].lei==3) hu[A].lilv=0.0225 ;if(hu[A].lei==2) hu[A].lilv=0.0198 ;if(hu[A].lei==1) hu[A].lilv=0.0125 ;printf(\\t\t利率为:%f,hu[A].lilv);fprintf(fchuhu,%s\t%s\t%s\t%s\t%lf\t%s\t%s\t%d\t%f\n,hu[A].idnum,hu[A].password,hu[A].name,hu[ A].idnumber,hu[A].cunkuan,hu[A].Tel,hu[A].address,hu[A].lei,hu[A].lilv);A++;printf(\是否继续(y/n)? );fflush(stdin);scanf(%c,&ch);}while(ch=='y'||ch=='Y');牰湩晴尨存入成功\n);system(pause);system(cls);fclose(nchuhu);fclose(fchuhu);}void display() //按存单号查询{FILE *fchuhu = fopen(chuhu.txt,);int i,n=0;char fnumb[9];system(cls);for(i=0;i<=100;i++){fscanf(fchuhu,%s\t%s\t%s\t%s\t%lf\t%s\t%s\t%d\t%lf\n,&hu[i].idnum,&hu[i].password,&hu[i].name, &hu[i].idnumber,&hu[i].cunkuan,&hu[i].Tel,&hu[i].address,&hu[i].lei,&hu[i].lilv);}牰湩晴尨请输入您需要查找的存单号:);scanf(%s,&fnumb);printf(\\t\t存单信息:\n);for(i=0;i<=99;i++)if(strcmp(fnumb,hu[i].idnum)==0){牰湩晴尨存单编号:%s\n密码:******(已隐藏)\n用户姓名:%s\n身份证号:%s\n存入金额:%f\n 手机号码:%s\n用户住址:%s\n储种:%d\n利率:%f\n\n\n,hu[i].idnum,hu[i].name,hu[i].idnumber,hu[i].cunkuan,hu[i].Tel,hu[i].address,hu[i].lei,hu[i] .lilv);n=1;break;}if(n==0)牰湩晴尨此存单不存在!!!\n);printf(\\n\t注: 储种中数字的含义为:\n\n\t0: 活期1: 一年定期2:两年定期3: 三年定期4: 五年定期);fclose(fchuhu);}void in(int count) //存款{FILE *fchuhu = fopen(chuhu.txt,);FILE *achuhu = fopen(ack.txt,w);char id[9];int i;if(!fchuhu){牰湩晴尨不能打开文件);}if(!achuhu){牰湩晴尨不能创建新文件);}for(i=0;i<=100;i++){fscanf(fchuhu,%s\t%s\t%s\t%s\t%lf\t%s\t%s\t%d\t%lf\n,&hu[i].idnum,&hu[i].password,&hu[i].name, &hu[i].idnumber,&hu[i].cunkuan,&hu[i].Tel,&hu[i].address,&hu[i].lei,&hu[i].lilv);}if(count<1){date();牰湩晴尨请再次输入并确认存单:);scanf(%s,&id);for(i=0;i<=100;i++){if(strcmp(id,hu[i].idnum)==0 ){do{printf(\\n\t\t请输入存款金额: );fflush(stdin);scanf(%lf,&jin);if(jin<0)printf(\\n\n\t\t存款不能为负数!!!);}while(jin<0);if(jin>=0){hu[i].cunkuan+=jin;printf(\\n\t\t\t您存款成功!\n\n\t\t本次存入金额为:%.2f\n,jin);牰湩晴尨存单上共有:%f,hu[i].cunkuan);}}fprintf(achuhu,%s\t%s\t%s\t%s\t%f\t%s\t%s\t%d\t%f\n,hu[i].idnum,hu[i].password,hu[i].name,hu[i].idnumber,hu[i].cunkuan,hu[i].Tel,hu[i].address,hu[i].lei,hu[i].lilv);}}fclose(fchuhu);fclose(achuhu);system(del chuhu.txt);rename(ack.txt,chuhu.txt);}void out(int count) //取款{FILE *fchuhu = fopen(chuhu.txt,);FILE *achuhu = fopen(ack.txt,w);int i;char id[9];if(!fchuhu){牰湩晴尨不能打开文件);}if(!achuhu){牰湩晴尨不能创建新文件);}for(i=0;i<=100;i++){fscanf(fchuhu,%s\t%s\t%s\t%s\t%lf\t%s\t%s\t%d\t%lf\n,&hu[i].idnum,&hu[i].password,&hu[i].name, &hu[i].idnumber,&hu[i].cunkuan,&hu[i].Tel,&hu[i].address,&hu[i].lei,&hu[i].lilv);}if(count<1){date();牰湩晴尨请再次输入并确认存单:);scanf(%s,&id);for(i=0;i<=99;i++){if(strcmp(id,hu[i].idnum)==0 ){hu[i].cunkuan+=hu[i].lilv*hu[i].lei*hu[i].cunkuan;,hu[i].cunkuan);元%f取出牰湩晴尨hu[i].cunkuan=0;printf(\\n\n\t 取款成功);}fprintf(achuhu,%s\t%s\t%s\t%s\t%f\t%s\t%s\t%d\t%f\n,hu[i].idnum,hu[i].password,hu[i].name,hu[i].i dnumber,hu[i].cunkuan,hu[i].Tel,hu[i].address,hu[i].lei,hu[i].lilv);}}fclose(fchuhu);fclose(achuhu);system(del chuhu.txt);rename(ack.txt,chuhu.txt);}void lilvbiao() //利率表{system(cls);system(color f0);date();printf(\\n\n\t\t\t利率对照表:\n);printf(\≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n);printf(\‖‖定期‖\n);printf(\‖储种‖ˉˉ‖ˉˉˉˉ‖ˉˉˉˉ‖ˉˉˉˉ‖ˉˉˉˉ‖\n);printf(\‖‖一年‖二年‖三年‖四年‖五年‖\n);printf(\‖ˉˉˉˉ‖ˉˉˉ‖ˉˉˉˉ‖ˉˉˉˉ‖ˉˉˉˉ‖ˉˉˉ‖\n);printf(\‖利率(%%%)‖1.25 ‖ 1.98 ‖ 2.25 ‖ 2.52 ‖ 2.79‖\n);printf(\≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n);printf(\\t说明:定期只能在储年到期时取出\n);}int yanzheng() //验证存单号或密码{FILE *fchuhu = fopen(chuhu.txt,);int count=0,i;char id[9];for(i=0;i<=100;i++){fscanf(fchuhu,%s\t%s\t%s\t%s\t%lf\t%s\t%s\t%d\t%lf\n,&hu[i].idnum,&hu[i].password,& hu[i].name,&hu[i].idnumber,&hu[i].cunkuan,&hu[i].Tel,&hu[i].address,&hu[i].lei,&hu[i].lilv); }do{system(cls);system(color f0);牰湩晴尨存单号或密码错误将自动返回\n);printf(\\n\t\t 请输入您的存单号:);scanf(%s,&id);printf(\\n\t\t 请输入您的密码:);for(i=0;i<6;i++){fflush(stdin);password[i]=getch();printf(*);}password[6]='\0';fflush(stdin);scanf(%c,&ch);printf(\\n\t\t);for(i=0;i<=99;i++){if(strcmp(id,hu[i].idnum)==0 &&strcmp(password,hu[i].password)==0) {fclose(fchuhu);return 0;}}} while(count==0);fclose(fchuhu);return count;}int rrekey(){FILE *rekey=fopen(key.txt,);FILE *rkey=fopen(keynew.txt, w );int mima,mima1,mima2,t;system(cls););密码:\n请输入原密码牰湩晴尨scanf(%d,&mima);fscanf(rekey,%d,&key);if(mima==key)t=1;system(cls);for(;t!=1;){牰湩晴尨密码错误,请重新输入\n密码:);scanf(%d,&mima);if(mima==key)t=1;system(cls);}/* 认证成功*/牰湩晴尨请输入新密码:\n);scanf(%d,&mima1);system(cls);牰湩晴尨请再次输入新密码:\n);scanf(%d,&mima2);system(cls);if(mima1==mima2){fprintf(rkey,%d,mima1);牰湩晴尨修改成功\n);system(pause);}else{牰湩晴尨输入错误密码,终止修改密码操作); system(pause);}system(cls);fclose(rekey);fclose(rkey);system(del key.txt);rename(keynew.txt,key.txt);return 0;}void date() //显示当前日期和时间{牰湩晴尨当前日期:);system(date/t););当前时间:牰湩晴尨system(ime/t);}void kaifa(){牰湩晴尨开发者\n);}void cekong() //相当于页脚{printf(\\n\n\t\t==========※感谢使用※==========\n\n);}。
活期储蓄帐目管理数据结构(2023版)
活期储蓄帐目管理数据结构活期储蓄帐目管理数据结构本文档描述了活期储蓄帐目管理系统的数据结构,旨在帮助开发人员了解系统的核心数据组织方式。
本文档详细描述了系统的各个数据模块及其属性,并提供了相应的示例。
⒈用户账户数据模块⑴属性:●用户ID:唯一标识用户的ID●用户姓名:用户的姓名●账户余额:账户中的储蓄金额⑵示例:●用户ID.1001用户姓名:张三账户余额.10000⒉交易记录数据模块⑴属性:●交易ID:唯一标识交易记录的ID●用户ID:发起交易的用户ID●交易时间:交易发生的时间●交易类型:交易的类型(存款、取款、转账等)●交易金额:交易的金额⑵示例:●交易ID.2001用户ID.1001交易时间.2022-01-01 10:00:00交易类型:存款交易金额.5000⒊费用记录数据模块⑴属性:●费用ID:唯一标识费用记录的ID●用户ID:产生费用的用户ID●费用时间:费用发生的时间●费用类型:费用的类型(手续费、利息等)●费用金额:费用的金额⑵示例:●费用ID.3001用户ID.1001费用时间.2022-02-01 10:00:00费用类型:利息费用金额.50附件:本文档不涉及附件。
法律名词及注释:●活期储蓄账户:一种无固定期限的存款账户,持有人可以随时存款、取款,并按照存款金额获得利息。
●数据结构:一种组织数据的方式,用于描述数据元素之间的关系和操作。
●属性:数据元素的特性或特征。
●用户ID:唯一标识用户的身份。
●交易ID:唯一标识一笔交易的身份。
●交易类型:描述交易的种类或性质,如存款、取款、转账等。
●费用ID:唯一标识一笔费用的身份。
●费用类型:描述费用的种类或性质,如手续费、利息等。
ABIS交易码
10开头:活期1)1038——(个人客户)活期取款转开定期存单/定期一本通2)1045——活期存款——转账存款3)1046——活期存款——转账取款4)1049——活期存款——内转5)1051——活期存款——现金存款6)1052——活期产品——现金取款7)1061——活期存款——现金开户8)1062——活期存款——现金销户9)1063——活期存款——转账开户10)1064——活期存款——转账销户11)1065——活期存款——冲正12)1068——活期存款——强制扣款11开头:国债1)1101——凭证式国债——现金开户2)1102——凭证式国债——现金销户3)1103——凭证式国债——转账开户4)1104——国债转账销户5)1158——国债销户转整整/活期/银行卡户6)1165——凭证式国债——资金划拨7)1168——国债强制扣款13开头:整存整取1)1361——整存整取现金开户2)1362——整存整取现金销户3)1363——整存整取转账开户4)1364——整存整取转账销户5)1366——整存整取现金部提6)1367——整存整取转账部提7)1368——整存整取——强制扣划15开头:零存整取1)1553——零整/教育现金续存2)1555——零整/教育转账续存3)1561——零整/教育现金开户4)1562——零整/教育现金销户5)1563——零整/教育转账开户6)1564——零整/教育转账销户7)1565——零整/教育产品冲正8)1568——零整/教育强制扣划18开头:定活两便1)1861——定活两便现金开户2)1862——定活两便现金销户3)1863——定活两便转账开户4)1864——定活两便转账销户5)1868——定活两便强制扣款19开头:通知存款1)1952——通知存款现金取款2)1954——通知存款转账取款3)1957——通知存款建立通知4)1961——通知存款现金开户5)1963——通知存款转账开户6)1968——通知存款强制扣划7)1994——双利丰个人通知存款——现金开户8)1995——双利丰个人通知存款——转账开户30开头:借记卡1)3000——借记卡现金开卡2)3003——借记卡——活期子账户过渡转入3)3004——借记卡——活期子账户过渡转出4)3005——借记卡卡内活期互转5)3010——借记卡活期子账户销户6)3011——借记卡——活期子账户存现7)3012——借记卡——活期子账户取现8)3027——借记卡——转账开卡9)3030——借记卡——转账销卡10)3032——借记卡——整整子账户现金部提11)3036——借记卡——整整子账户部提转主账户12)3048——借记卡换卡13)3049——借记卡挂失止付14)3051——借记卡解挂失15)3052——借记卡开副卡16)3057——借记卡重置密码17)3068——借记卡子账户转账销户18)3070——借记卡——整整子账户转账部提19)3073——借记卡——子账户移出20)3074——借记卡——子账户移入42开头:银行卡1)4210——银行卡转账存款2)4211——银行卡转账取款3)4212——银行卡现金存款4)4213——银行卡现金取款5)4254——银行卡卡卡转账44开头:定期一本通1)4451——定期一本通现金开折2)4452——定期一本通转账开折3)4456——整整现金销户转开新存单、活期一本通、定活、国债、零整4)4461——定期一本通现金开户5)4462——定期一本通现金销户6)4463——定期一本通转账开户7)4464——定期一本通转账销户8)4466——定期一本通现金部提9)4467——定期一本通转账部提10)4468——定期一本通强制扣划45开头:双利丰借记卡1)4511——双利丰借记卡客户签约1)4512——双利丰借记卡客户解约其他:1691——查询个人客户号和姓名3801——债券开户3851——基金业务开客户资料5285——客户基本信息增加。
(数据结构)活期储蓄账目管理 3
课程设计课程名称:活期储蓄账目管理学院:计算机科学与技术专业:信息安全姓名:学号: 13080603年级:2013级1班任课教师:叶洁2015年 7 月日任务说明一. 课程设计题目活期储蓄账目管理。
(说明:能实现储蓄账户的开户、销户、存钱、取钱等功能)二. 课程设计需要达到的目的掌握线性表的存储方式、基本的排序算法、二分查找等查找算法。
三. 课程设计的主要内容以及要求1 、能比较迅速地找到储户的帐户,以实现存款、取款记账;2、能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。
3、账户信息存入文件中(刚进入系统把文件中的信息导入内存,系统运行结束把内存中的信息存入文件)4、基本数据有:储蓄账户的姓名、账号、地址、联系电话以及存款的现有余额等等。
四. 参考文献《数据结构》五、任务分工陈谦:完成对函数void findLink()、bool searchLink()、int f_binarySearch()、void choice()的编写和相关流程图的完成。
任柏臻:完成对函数void insertLink()、void meauLink()的函数的编写以及其流程图的完成。
庞晓燕:完成对函数void deleteLink()、void tradeLink()的编写以及其流程图的完成。
彭海惠:完成对函数void modificationLink()、bool verifyPassword()的编写以及其流程图的完成。
饶荣发:完成总的设计,以及统计任务。
设计说明活期储蓄账户主要实现的功能有:开户、销户、查找、交易以及查询的功能,此外还有记账的功能。
用C语言实现以上功能,由顺序表来实现账户的增加、删除、查找。
(说明:选择顺序表是因为要实现二分法查找)注:下列只列出函数名以及其返回类型,实际使用中还有形参开户功能由函数:void insertLink()来实现;销户功能由函数:void deleteLink()来实现;查找功能由函数:bool searchLink()来实现;交易功能由函数:void tradeLink来实现;查询功能由函数:void findLink()来实现;验证密码功能由函数:bool verifyPassword()来实现;显示菜单功能由函数:int meauLink()来实现;修改用户信息功能由函数:void modificationLink()来实现;显示所有用户信息功能由函数:void displayLink()来实现;根据设计要求还提供以下功能:void choice()函数选择各个功能板块来实现其功能。
银行柜员代码表常用熟记
银行柜员代码表常用熟记交易代码与业务内容对照表1121 活期一本通开户1122 活期一本通续存1123 活期一本通支取1124 活期一本通结清1125 活期一本通销户1026 储蓄收费1161 存折维护1162 补登存折1163个人活期存款过户1166 密码重置1181 活期存款账户资料维护1182 活期存款账户控制状态维护1183 活期存款冻结/解冻1184 活期存款账户没收/上缴1191 活期存款账户资料查询1192 活期存款账户明细账查询/打印1193 活期存款特殊事务查询1621 一本通开户1622 一本通续存1623 一本通支取1625 一本通销户1631 个人定期存款开户1632 零整续存1633 定期存折支取1635 个人定期存款转定期存款1651 存单挂入一本通/转开1653 个人定期存款过户1654 质权设定申请及维护1656 零存整取信息补入1657 通知存款支取维护1681 定期存款账户资料维护1682 定期存款单据维护1683 定期存款冻结/解冻1684 定期存款没收/解冻1686 定期存款户名修改1687 定期存款单据挂失解挂1688 存单存折挂失新开1689 定期存款证明1691 定期存款账户资料查询1692 定期存款账户明细账查询/打印1693 定期存款特殊事务查询1694 定期存款账户归户查询1013 密码维护1014 证件维护1016 客户密码验证5100 银行卡柜面查询5102 银行卡存入5103 银行卡支取5105 银行卡销户5106 银行卡转账5126 银行卡收费5140 银行卡领卡5141 银行卡特殊领卡5143 银行卡注销/解除注销5144 银行卡密码重置/修改5183 银行卡冻结/解冻5187 银行卡挂失/解挂5200 银行卡管理信息查询5225 对账单寄往地址更改5237 银行卡信息资料修改6101 个人客户信息录入6103 按户名查询客户编号6104 按客户编号查账号6106 更改客户编号显示6118 客户地址删除6120 错账挂号调整客户信息0088 冲正交易0020 柜员现金调拨0032 重要单证调拨9982 手工配款9993 现金出纳主交易交易代码与业务内容对照表(会计)1011 印鉴维护1012 打印印鉴卡1101 单位存款开户1102 单位活期存入1103 单位活期存款支取1105 单位活期存款账户销户1115 查询销户本金及利息1116 对公账户收费1601 单位一本通开户1602 单位一本通存入1603 单位一本通支取1605 单位一本通销户3100 贷款综合查询打印3104 补记冲回利息4321 缴回的重要空白凭证4110 银行汇票出票4112 银行汇票重打印4114 银行汇票付款4115 银行汇票超期付款4116 银行汇票退款4117 电子汇划来账汇票结清4120 银行承兑汇票承兑4121 银行承兑汇票到期收款4122 银行承兑汇票直接付款4123 银行承兑汇票注销4130 银行本票出票4131 银行本票重打印4132 银行本票付款4133 银行本票超期付款4134 银行本票退款4140 汇兑汇出4143 小额支付汇出4150 发出委托收款4151 收到委托收款4152 委托收款到期付款4153 委托收款划回处理4160 发出托收承付4161 收到托收承付4162 托收承付到期付款4163 托收承付划回处理4210 结算收费4212 凭证出售维护4322 凭证挂失公示催告解挂0001 营业单位开机作业0002 营业单位签退0003 柜员主管签到0004 柜员主管签退0005 柜员主管资料维护0006 柜员主管密码维护0021 柜员尾箱库存现金登记簿查询0033 机构重要单证调拨0034 重要单证作废0035 柜员重要单证存量查询0051 连线预约报表管理--查询0060 柜员结账0062 机构结账0063 柜员日结状况查询0070 柜员账务查询0077 重新认证0078 最后一笔交易查询0079 最后五笔交易查询0080 柜员某笔交易信息查询6102 单位客户基本信息维护7002 传票录入7003 传票复核7006 传票入账7012 未销账资料查询7015 查询内部账7016 内部账余额查询7017 查询营业当日内部明细帐7087 传票错账当日冲正9989 申请连线、预约报表交易代码与业务内容对照表4718 速汇通汇款1131 个人活期存取现0211 贵金属报价查询0212 贵金属内部质损1251 贵金属出售1260 贵金属库存查询1261 贵金属客户交易明细查询1262 代保管特殊事务查询1263 产品信息查询1265 客户优惠维护1266 贵金属出售交易查询1267 检验回购明细查询2513 个人客户交易结算资金转帐2561 结算通套餐1270 贵金属成交试算0488 隔日错账调1151 协定存款维护1170 单位活期账户管理费欠费处理1175 睡眠户转正常申请1177 未解付转营业外处理1178 活期存款营业外转正常申请1179 单位活期存款营业外转正常1659 通知存款转存签约2411 保险,理财产品销售4315 密押编制,以及人工对密押真伪验证4501 客户汇出汇款扣账收费4761 电子汇划凭证清单补打印4805 结算卡预制卡领卡激活4810 结算卡现金存入4811 结算卡现金支取4813 结算卡内账户转账4814 结算卡汇兑汇出4820 结算卡管理4901 渠道来帐业务6106 客户编号、客户名称及疑重号标志的修改1018 内部转帐3103 补记冲回利息或违约金。
数据库课程设计银行储蓄系统完全代码
数据库课程设计银行储蓄系统完全代码数据库课程设计完全代码--建库create database Bankon primary(name ='Bank',filename='D:\project\Bank.mdf',size = 5,maxsize = 100,filegrowth = 10%)log on(name ='Bank_log',filename='D:\project\Bank_log.ldf', size=2,filegrowth=1)go--建表use Bankcreate table Depositors(BNo varchar(20)primary key,--账号BName varchar(20)not null,--姓名BPassword char(6)not null check(len(BPassword)= 6),--密码BID varchar(20)not null,--身份证号BSex char(2)not null check(BSex ='男'or BSex ='女'), --性别BStyle varchar(20)not null check(BStyle ='活期存款'or BStyle ='定期存款'),--业务类型BDate datetime not null,--开户时间BYear int not null check(BYear = 0 or BYear = 1 or BYear = 2 or BYear = 3),--存款期限,0表示活期BMoney decimal(10,4)not null check(BMoney >= 0)--账户余额)create table CurrentAccounts(nID int primary key identity(1,1),--流水号BNo varchar(20)not null references Depositors(BNo),--账号BName varchar(20)not null,--姓名BStyle varchar(20)not null check(BStyle ='活期存款'or BStyle ='活期取款'),--操作类型BCash decimal(10,4)null check(BCash >= 0),--操作金额BDate datetime not null,--操作时间BInterest decimal(10,4)null check(BInterest >= 0),--利息BMoney decimal(10,4)not null check(BMoney >= 0),--账户余额)create table FixedAccounts(nID int primary key identity(1,1),--流水号BNo varchar(20)not null references Depositors(BNo),--账号BName varchar(20)not null,--姓名BStyle varchar(20)not null check(BStyle ='定期存款'or BStyle ='定期取款'),--操作类型BMoney decimal(10,4)not null check(BMoney >= 0),--存取金额BYear int not null check(BYear = 1 or BYear = 2 or BYear = 3),--存款期限BDate datetime not null--存款时间插入触发器create trigger InsertIntoCAorFA on Depositorsafter insertasdeclare @year intselect @year = BYear from insertedif @year = 0insert intoCurrentAccounts(BNo,BName,BStyle,BDate,BMoney)select BNo,BName,BStyle,BDate,BMoney from insertedelseinsert intoFixedAccounts(BNo,BName,BStyle,BMoney,BYear,BDate)select BNo,BName,BStyle,BMoney,BYear,BDate from inserted删除触发器create trigger DeleteFromCAorFA on Depositorsinstead of deleteasdeclare @no varchar(20)select @no = BNo from deleteddelete from CurrentAccounts where BNo = @nodelete from FixedAccounts where BNo = @nodelete from Depositors where BNo = @no(1)开户登记&(2)定期存款insert intoDepositors(BNo,BName,BPassword,BID,BSex,BStyle,BDate,BYea r,BMoney)values(10001,'张三',123456,,'男','活期存款',' -01-01',0,10000)insert intoDepositors(BNo,BName,BPassword,BID,BSex,BStyle,BDate,BYea r,BMoney)values(10002,'李四',123456,,'男','活期存款',' -01-02',0, 0)insert intoDepositors(BNo,BName,BPassword,BID,BSex,BStyle,BDate,BYea r,BMoney)values(10003,'王五',123456,,'男','定期存款',' -01-03',2,30000)insert intoDepositors(BNo,BName,BPassword,BID,BSex,BStyle,BDate,BYea r,BMoney)values(10004,'小丽',123456,,'女','定期存款',' -01-04',3,40000)create view ViewOfCurrentAccounts --参考asselect BNo 账号,BName 姓名,BStyle 操作类型,BCash 操作金额,BDate 操作时间,BInterest 利息,BMoney 账户余额from CurrentAccountsselect*from Depositorsselect*from CurrentAccountsselect*from FixedAccounts(3)定期取款create procedure FixedWithdraw@No varchar(20),@Date datetimeasif((select BYear from FixedAccounts where BNo = @No)= 1) beginif((select datediff(day,(select BDate from FixedAccounts where BNo = @No),@Date))> 360)begininsert intoFixedAccounts(BNo,BName,BStyle,BMoney,BYear,BDate) values(@No,(select BName from FixedAccounts where BNo = @No),'定期取款',(select BMoney from FixedAccounts whereBNo = @No)*1.0275,1,@Date) --利息计算select*from FixedAccounts where BNo = @No endelseprint'定期存款未满一年!'endelse if((select BYear from FixedAccounts where BNo =@No)= 2)beginif((select datediff(day,(select BDate from FixedAccounts where BNo = @No),@Date))> 360*2) begininsert intoFixedAccounts(BNo,BName,BStyle,BMoney,BYear,BDate) values(@No,(select BName from FixedAccounts where BNo = @No),'定期取款',(select BMoney from FixedAccounts where BNo = @No)*power(1.035,2),2,@Date)select*from FixedAccounts where BNo = @No endelseprint'定期存款未满两年!'endelsebeginif((select datediff(day,(select BDate from FixedAccounts where BNo = @No),@Date))> 360*3) begininsert intoFixedAccounts(BNo,BName,BStyle,BMoney,BYear,BDate) values(@No,(select BName from FixedAccounts where BNo = @No),'定期取款',(select BMoney from FixedAccounts where BNo = @No)*power(1.04,3),3,@Date)select*from FixedAccounts where BNo = @No endelseprint'定期存款未满三年!'endexec FixedWithdraw10003,' -01-04' --取款(4)&(5)活期存取款create proc CurrentWithdraw@No varchar(20),@Money float,@Date datetimeasdeclare @temp decimal(10,4)select @temp =(((select datediff(day,(select max(BDate) from CurrentAccounts where BNo =@No),@Date))/360.0*0.0035+1)*(select BMoney from CurrentAccounts where nID =(select max(temp.nID)from (select nID from CurrentAccounts where BNo = @No)as temp)))+@Money --当前余额if(@Money > 0)--存款begininsert intoCurrentAccounts(BNo,BName,BStyle,BCash,BDate,BInterest,BM oney)values(@No,(select distinct BName from CurrentAccounts where BNo = @No),'活期存款',@Money,@Date,((select datediff(day,(select max(BDate) from CurrentAccounts where BNo =@No),@Date))/360.0*0.0035*(select BMoney from CurrentAccounts where nID =(select max(temp.nID)from (select nID from CurrentAccounts where BNo = @No)as temp))),--(6)利息计算@temp)select*from CurrentAccounts where nID =(select max(temp.nID)from (select nID from CurrentAccounts where BNo = @No)as temp)--显示存款记录endelse--取款if(abs(@Money)> @temp)print'余额不足!'elsebegininsert intoCurrentAccounts(BNo,BName,BStyle,BCash,BDate,BInterest,BM oney)values(@No,(select distinct BName from CurrentAccounts where BNo = @No),'活期取款',abs(@Money),@Date,((select datediff(day,(select max(BDate) from CurrentAccounts where BNo =@No),@Date))/360.0*0.0035*(select BMoney from CurrentAccounts where nID =(select max(temp.nID)from (select nID from CurrentAccounts where BNo = @No)as temp))),@temp)select*from CurrentAccounts where nID =(select max(temp.nID)from (select nID from CurrentAccounts where BNo = @No)as temp)--显示取款记录endexec CurrentWithdraw10001,5000,' -03-30' --存款exec CurrentWithdraw10001,-5000,' -05-30' --取款exec CurrentWithdraw10001,5000,' -07-30'--存款exec CurrentWithdraw10001,- 0,' -08-30'--取款,返回消息:余额不足!(7)活期明细create proc DetailOfCurrentAccount --活期明细@no varchar(20)asselect*from CurrentAccounts where BNo = @no exec DetailOfCurrentAccount10001定期明细create proc DetailOfFixedAccount --定期明细@no varchar(20)asselect*from FixedAccounts where BNo = @no exec DetailOfFixedAccount10003(8)数据库备份与恢复使用图形化界面操作即可。
活期储蓄账目管理代码
活期储蓄账目管理代码数据结构课程设计活期储蓄账目管理报告与源代码#includestdio.h#includestring.h#includestdlib.h#includeiostream.hint total=1;//定义的全局变量,用于开户所需typedef struct ElemType{char name;int account;char password;float money;}ElemType;typedef struct lnode{ElemType data;struct lnode *next;}LINK;void InitList(LINK *L){L=(LINK *)malloc (sizeof(LINK));L-next=NULL;}void InsertList(LINK *L){LINK *s;s=(LINK*)malloc(sizeof(LINK));printf(“请输入你要开户的姓名:");scanf("%s",s-s-data.account=***-*****+total++;printf("\n你开户的账号为:%d\n",s-data.account); printf("请输入你账号的密码:");scanf("%s",s-data.password);s-data.money=0.00;s-next=NULL;if(L-next==NULL)L-next=s;else{s-next=L-next;L-next=s;}printf("开户成功。
\n");}void DeleteList(LINK *L){LINK *p=L,*q;char pass;int s;printf("请输入你要销户的账号:"); scanf("%d",printf("请输入该账号的密码:"); scanf("%s",pass);while(p-next!=NULL){if(p-next-data.account==s) break;p=p-next;}if(p-next!=NULL){while(strcmp(p-next-data.password,pass)!=0){printf("密码错误!请重新输入:");scanf("%s",pass);}q=p-next;p-next=q-next;free(q);printf("账号销户成功。
活期储蓄账目管理系统---精品模板
#include〈iostream>using namespace std;#include<string.h〉#include<conio.h>#include<stdlib.h〉#define file ”temp。
txt”//数据存储的文件名struct user //用户类型定义(账号,姓名,身份证号,余额){int id;char name[20];char person_num[19];double money;};void add()//添加用户资料{cout<〈”***添加用户***”〈<endl;cout〈<"--—-—-----——-—---———-———-—--——-----—-———--—--"<〈endl〈〈endl;struct user getuser();int count(); //函数目的:计算文件中的记录数目以生成自动账号FILE *fp;int number;struct user temp;if((fp=fopen(file,"ab”))==NULL){cout〈〈”cannot open file!”<〈endl;exit(1);}temp=getuser(); //读取用户名number=count();temp.id=number+1; //生成自动账号fwrite(&temp,sizeof(struct user),1,fp);cout<〈"添加用户成功!"<<endl;fclose(fp);}int count()//函数目的:计算文件中的记录总数{FILE *fp;int num;struct user temp;num=0;if((fp=fopen(file,”rb"))==NULL){cout〈〈"cannot open file!"〈〈endl;exit(1);}while(fread(&temp,sizeof(struct user),1,fp)){num++;}fclose(fp);return num;}struct user getuser(){void getname(char *name);void getperson_num(char *person_num);struct user temp;cout<<”请输入用户姓名(字符数〈20): ”;//读取相关开户信息getname(temp。
银行账户管理 C++代码
doubleaccumulation;
voidrecord(intdate,doubleamount);
voiddeposit(intdate,doubleamount);
voidwithdraw(intdate,doubleamount);
voidsettle(intdate);
#include <string>
usingnamespacestd;
intmain(){
SavingsAccountsa0(1,23464516,0.015);
SavingsAccountsa1(1,24536526,0.015);
sa0.deposit(5,5000);
sa1.deposit(25,10000);
if(intBiblioteka rest!=0)record(date,interest);
accumulation=0;
}
voidSavingsAccount::show(){
cout<<"#"<<id<<"\tBalance:"<<balance;
}
MAIN.CPP
#include "account.h"
#include <iostream>
doublegetRate(){return rate;}
};
ACCOUNT.CPP
#include "account.h"
SavingsAccount::SavingsAccount(intdate,intid,doublerate):id(id),balance(0),rate(rate),lastDate(date),accumulation(0){
柜员操作常用交易码 (三)
[复印身份证的情况]1.无卡存款1万以上(代理打款);2.20万以上的取款;3.50万以上的转账;4.所有特殊业务(如1089);5.新开户的(所有0008交易);6.出售重要空白凭证;7.转账支票,收款人为个人的;8.所有使用业务回单的;9.ATM吞卡处理(5603)10.现金支票复印经办人身份证;11.103Q减免年费管理费。
[核查不复印身份证的情况]1.五万以上的存取款;2.定期不在到期日提取的。
[填单子的]1.无卡打款(代理存款)的;2.所有开户的,尤其是定期开折;3.五万以上存取。
[授权前要alt+P截屏的]1.无卡存款十万以上;2.4254卡卡转账的。
[所有五万以上取现业务都要登记][存款五万以上十万以下换人复核,包括BoEing中的现金缴款单]0008开户0056 电子银行交易回单(个人)0057 电子银行交易回单补打0106贷记过渡0105借记过渡0115 个人分户账冲正0198 核对上下级资金账户余额0317 查询柜员平账器0319 查询柜员交易0324 根据行号查行名0346 查看平账报告表0603 柜员现金入库0604 柜员领入现金0605 柜员清点现金箱0606 给ATM加钞0613 现金上解0614 现金下解0627 柜员间现金内调(从主出纳)0635 统计本行现状况07B5 个人汇款入BOS专户1001所有的挂失及后续处理101A 个人资金归集签约101B 确认资金归集关系101N 查询资金归集主帐户信息1023 查询活期睡眠户欠费状态103Q减免年费管理费1045 转账存款1046 转账取款1051 现金存款1052 现金取款1062活期存折销折1072换折1073补登折1079改密码(挂失要用1001) 1086 查询冻结登记簿1087 原活期账户升级一本通1088恢复存折未登明细1089重写磁1092活期子账户明细查询1093一本通主档查询1096冻结止付流水账查询1696 账户重归户2871 查询客户挂盘明细2912 证书补办2933 重置渠道登录密码2979 注销网银等2989 登记或更换动态口令卡2998修改电话银行绑定手机号3009借记卡子账户现金开户3010借记卡销子账户3028现金销卡3030转账销卡3034银行卡内转定期3048借记卡换卡3061 借记卡解冻3063子账户查询3065(借记卡) 4907(贷记卡)明细查询3067借记卡按证件号查卡号3080(一个月内) + 4293 打流水3093卡资料查询3094借记卡解锁4310 金卡系列信息维护4543卡、活折0320其他补打传票4906当期4215所有贷记卡查询余额/欠费4916贷记卡解锁4920 (信用卡)4559 (借记卡) 激活5246 查询个人客户全部信息5280个人客户基本信息查询5281 查询个人客户证件信息5285 增加客户基本信息5286 修改客户基本信息5287 删除客户ID5288 身份证15位升18位5601 表外开户5603 表外备查类借贷5613 柜员领入重要空白凭证5614 柜员重要空白凭证入库5615 凭证作废处理5640 重要空白凭证账实核对5642 柜员清点凭证箱5650 查询重要凭证库存登记簿5655 查询柜员凭证箱5671 查询柜员当日销号凭证5692 重要空白凭证调拨入库56AA凭证06AA现金调拨申请5780 单笔查询普通贷记业务6614 (股市上的)换折,换卡6615 股票客户解约6617 资金账户解冻6623 从股市转出6622 转入股市66HK 查询黄金价格8260 中国人寿保险(银保通)8261 新单缴费交易9602 福站点交费9607非即开体彩交费9760即开型体彩交费。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if(strcmp(p->data.password,pass)==0)
printf("账号登录成功。\n");
else
{
while(strcmp(p->data.password,pass)!=0)
{
char pa;
printf("密码错误\n");
L->next=s;
else
{
s->next=L->next;
L->next=s;
}
printf("开户成功。\n");
}
void DeleteList(LINK *&L)
{
LINK *p=L,*q;
char pass[6];
int s;
printf("请输入你要销户的账号:");
}
fclose(fp);
}
void menu()
{
printf("************欢迎进入活期储蓄账目管理***********\n");
printf(" 1.储户开户。\n");
printf(" 2.储户销户。\n");
printf(" 3.储户的账号存款、取款。\n");
printf("\n你开户的账号为:%d\n",s->data.account);
p"%s",s->data.password);
s->data.money=0.00;
s->next=NULL;
if(L->next==NULL)
{
while(strcmp(p->next->data.password,pass)!=0)
{
printf("密码错误!请重新输入:");
scanf("%s",pass);
}
q=p->next;
p->next=q->next;
free(q);
printf("账号销户成功。\n");
}
}
save(L);
}
void main()
{
menu();
choice();
}
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<iostream.h>
int total=1;//定义的全局变量,用于开户所需
typedef struct ElemType
{
char name[8];
int account;
scanf("%d",&s);
printf("请输入该账号的密码:");
scanf("%s",pass);
while(p->next!=NULL)
{
if(p->next->data.account==s)
break;
p=p->next;
}
if(p->next!=NULL)
printf("是否重新输入(是,就输入任意键)、(否,从键盘上输入N or n):");
scanf("\n%c",&pa);
if(pa=='n'||pa=='N')
{system ("cls");return;}
printf("\n请重新输入你的密码:");
if(xunhan=='6')
break;
system ("cls");
switch(xunhan)
{
case '1':InsertList(L);ch=getchar();break;
case '2':DeleteList(L);ch=getchar();break;
}
else printf("你所要销户的的账号不存在(或者已经销户)。\n");
}
void PrintList(LINK*L)
{
LINK *p=L->next;
while (p!=NULL)
{
printf("%s\t",p->);
printf("%d\t%s\t%.2f\n",p->data.account,p->data.password,p->data.money);
scanf("%d",&cq);
if(cq==1)
{
printf("请输入你的存款金额:");
scanf("%f",&mn);
p->data.money=p->data.money+mn;
printf("存款成功!\n");
}
else if(cq==3)
scanf("%s",pass);
}
}
Deposit(L,p);
}
}
void save(LINK *L)
{
FILE *fp;
fp=fopen("Account","w");
LINK *p=L->next;
while(p!=NULL)
{
if(fwrite(p,sizeof(struct lnode),1,fp)!=1)
printf("请输入你的密码:");
scanf("%s",pass);
while(p!=NULL)
{
if(p->data.account==acc)
break;
p=p->next;
}
if(p==NULL)
printf("不存在该账户\n");
else
printf(" 4.返回菜单。\n");
printf(" 5.查看所有储蓄账户信息。\n");
printf(" 6.退出账目管理。\n");
printf("***********************************************\n");
}
void choice()
{
LINK *L;
InitList(L);
Print(L); //第一次创建的时候,需要屏
while(1)
{
char xunhan,ch;
printf("请选择你需要的功能:");
scanf("%c",&xunhan);
case '3':Search(L);ch=getchar();break;
case '4':menu();ch=getchar();break;
case '5':PrintList(L);ch=getchar();break;
default:printf("输入错误!请重新选择功能。\n");break;
if((p->data.money-mn)>=0)
{
p->data.money=p->data.money-mn;
printf("取款成功!\n");
}
else
{
printf("取款失败!\n");
printf("你账户上的金额不足!你的账户余额为:%.2fRMB\n",p->data.money);
printf("file write error\n");
p=p->next;
}
fclose(fp);
}
void Print(LINK *&L)
{
FILE *fp;
LINK *p,*s;
if((fp=fopen("Account","r"))==NULL)
{
{
printf("你账户的余额为:%.2f\n",p->data.money);
}
else if(cq==4)
{
printf("账号退出成功。\n");
return;
}
else
{
printf("请输入你的取款金额:");
FH: scanf("%f",&mn);
printf("请输入合适的取款金额:");
goto FH;
}
}
}
}
void Search(LINK *L)
{
LINK *p=L->next;
int acc;
char pass[6];