南京邮电大学程序设计(银行管理系统)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

程序设计报告

( 2015 / 2016学年第 1 学期)

题目:银行定期储蓄管理系统

专业测控技术与仪器

组长学号姓名 B14050608 刘晨星昱组员学号姓名B14050629 郭文超

B14050633蒋文杰

指导教师崔子冠

指导单位计算机学院软件教学中心日期2015年 9月24日

银行定期储蓄管理系统

一、课题内容和要求

银行定期储蓄管理系统可以实现定期利息计算,客户按密码取款,工作人员口令修改等功能。

具体功能如下:

(1)工作人员根据口令进入系统;

(2)可以录入新的存单信息(存单编号,储户姓名,身份证编号,住址,联系电话,存款金额,存期,利率,密码),存单信息可以保存在文件中,利率在存期决定后自动得到;

(3)根据存单编号可以查询存单信息;

(4)根据存单编号和密码可以完成储户取款操作,自动算清应支付的利息并显示在屏幕上。

(5)界面友好,可操作性强,输入信息符合逻辑如存款金额不为负数、不可能有非数字的字符等;

(6)工作人员可对信息维护,如口令修改等。

二、需求分析

系统中要求工作人员有一个系统帐号,并且帐号有密码,系统的一切操作(如:录入存单信息,信息维护等)都由工作人员执行,而不是由存储用户执行,也主要是说存储用户并不直接与系统交互,而是通过管理员与系统交互。

储户填写的新的存单信息由工作人员输入系统,存单信息包括存单编号,储户姓名,身份证编号,住址,联系电话,存款金额,存期,利率,密码。存单信息可以保存在文件中,利率在存期决定后自动得到;储户可以根据存单编号查询存单信息,根据存单信息和密码完成储户取款操作,自动计算利息,并显示利息。功能如图1所示:

图1 功能框架图

(1)提供可操作的主菜单:输出5个菜单,用于显示管理人员和用户可供操作的函数选项。根据客户输入的选项来运行不同的功能,运行不同的函数。

(2)新建存单函数:管理人员利用函数输入存单单号,姓名,身份证,地址,手机号码,存期,取款密码,存入金额。

(3)查询存单函数:管理人员和用户利用函数查询已存入的存单信息。

(4)取款函数:用户利用函数,输入取款密码取出自己的存款。

(5)修改管理员登录密码函数:管理人员利用函数重新设定管理员登陆密码。

三、概要设计

1 主要结构体

struct bill//账单

{

int numb;//账单编号

char name[32]; //用户姓名

char id[19];//身份证号

char add[20];//住址

char tel[12];//电话

double money;//存款金额

int year;//存期

double lilv;//利率

int key;//密码

};

2主要函数流程图

(1)主函数:用于从文本中载入管理员登录密码,识别管理员输入密码,正确则载入主界面,错误则重输。主界面包含5个选项,分别为新建存单,查询存单,取款,修改管理员密码,退出。等待用户选择进入下一界面。流程图如图2所示:

图2主函数

(2)新建存单函数:管理员输入密码成功后,选择新建存单,输入存单单号,姓名,身份证,地址,手机号码,存期,取款密码,存入金额,输入成功后显示存入成功。流程图如图3所示:

图3新建存单信息

(3)查询存单函数:管理员输入密码成功后,选择查询存单信息,输入存单信息正确,主界面显示存单单号,姓名,身份证,地址,手机号码,,存入金额,存期,利率。输入存单信息错误,提示重新输入。流程图如图4所示:

图4查询存单信息

(4)取款函数:管理员输入密码成功后,选择取款,用户输入存单单号,单号正确,主界面显示存单单号,存入金额,利率,存期,应得利息,单号错误重新输入;继续输入密码,密码正确,取款成功,密码错误,重新输入,错误3次,系统终止取款业务,返回主界面。流程图如图5所示:

图5取款函数

(5)修改管理员登录密码函数,:管理员输入密码成功后,选择修改管理员登录密码,输入原密码,密码正确,继续输入新密码,再次输入新密码,修改成功。若原密码输错3次,则终止修改密码操作,返回主界面。流程图如图6所示:

图6修改管理员登录密码函数

四、源程序代码

#include

#include

#include

int keyy;

struct bill//账单

{

int numb;//账单编号

char name[32]; //用户姓名

char id[19];//身份证号

char add[20];//住址

char tel[12];//电话

double money;//存款金额

int year;//存期

double lilv;//利率

int key;//密码

};

int newa()//新建存单

{

int n,i,flag;

FILE *nbill = fopen("bill.txt","r");

FILE *fbill = fopen("bill.txt","a");

{

struct bill a;

int n;

printf("请输入新存单信息");

printf("\n>>编号:");

do

{

int j,fnumb;

struct bill c[10];

scanf("%d",&(a.numb));

flag=0;

for(j=0;j<10;j++)

{

fscanf(nbill,"%d\t%s\t%s\t%s\t%s\t%lf\t%d\t%lf\t%d",&c[j].numb,&c[j].name,&c[j].id,&c[j].add,&c[j].t el,&c[j].money,&c[j].year,&c[j].lilv,&c[j].key);

if(c[j].numb==a.numb)

{

printf("存单号重复,请重新输入\n");

j=10;

flag=2;

}

}

}while(flag==2);

//录入姓名

printf("\n>>姓名:");

scanf("%s",);

相关文档
最新文档