银行业务管理系统(算法与数据结构)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2008-2009学年度第二学期XXXX学院数学与计算机科学学院
《算法与数据结构课程设计》
综合设计报告
课程设计名称:银行业务管理模拟
专业:计算机科学与技术
班级:0X计本(X)班
学号:0X0X030XX
姓名:高XX
指导教师:肖XX
课程设计报告
1.问题的描述和分析
商业银行业务模拟是对商业银行柜面业务进行模拟实习课程。随着金融业和信息技术的不断发展,银行的管理也已经和计算机接轨,实现了信息的数字化管理,了解并掌握商业银行柜台,周期业务的实际操作处理方法,了解现今商业银行综合业务系统的软件应用,着重于对学生实际操作能力的训练,使学生能初步具备工作岗位的适应各个业务的编程操作能力。多了解各行业编程需求,减少学生踏上工作岗位的适应磨合时间,
提高就业竞争力,突出应用型人才的培养目标。 下面我将对现行银行业务管理进行小部分模拟设计。
◆ 写一个上述银行业务管理系统,能够实现一些常用功能,如:制卡,发卡,存款,取款。用于对用户信息进行管理,并能进行修改,查找,显示,求和等操作。
2.算法的设计
概要设计:
◆ (1)实现系统内制卡、发卡功能;
(2)实现系统内帐户和相关帐户管理; (3)实现卡交易和合法性检查; (4)实现卡金融交易积分功能;
(5)实现卡报表功能;
(6)数据以文件形式存储
在编辑过程中,需要使用串,查找等算法,同时需要对输入的信息进行存储。
在制卡发卡后,对用户的信息进行查找,并显示出来。
void load() {
FILE *fp1;
if((fp1=fopen("c://user.txt","r"))==NULL)
{
printf("\nCan not open the file\n");
exit(0);
}
for(N=0;!feof(fp1);N++)
{
fscanf(fp1,"%d%s%s%s%f%d%d",&u[N].cardNO,u[N].name,u[N].adnum,u[N].code,&u[N].left, &u[N].exp,&u[N].flag);
return(N);
}
fclose(fp1);
}
3.数据结构的设计
串是非数值处理中的主要对象,我们一般用串来表示字符流。而这个程序中要处理的就是银行类的字符流,所以我们需要用到串来实现这一功能。串的存储表示有三种形式,第一种是定长顺序存储结构。第二种是块链式存储结构。第三种是堆分配存储结构。
在这里,我们采用串的第一种存储方式——定长顺序存储,而在程序编译时,要给出确定的空间大小,所以我们将串的空间大小设计为100个字符。
#define MAXSIZE 100
结构体定义如下:
struct user u[ ] /*信用卡结构体*/
{
int cardNO; /*卡数*/
char name[20]; /*姓名*/
char adnum[22]; /*信用卡号*/
char code[8]; /*密码*/
float left; /*余额/存款*/
int exp; /*消费*/
int flag; /*确定是新卡还是旧卡*/
}u[M];
4.具体程序的实现
首先是系统内的制卡功能:
#include
#include
#include
#include
#define M 100 /*定义的数组上限*/
int N; /*结构体数组下标量*/
int H; /*帮助确定是否保存文件*/ struct user u[ ] /*信用卡结构体*/
{
int cardNO; /*卡数*/
char name[20]; /*姓名*/
char adnum[22]; /*信用卡号*/
char code[8]; /*密码*/
float left; /*余额/存款*/
int exp; /*消费*/
int flag; /*确定是新卡还是旧卡*/
}u[M];
5.界面设计
本程序的主控菜单如下:
1.申请一个卡号
2.使用这个卡号
3.打印消费记录
4.存款功能
5.取款功能
6.消费功能
7.报表功能
8.查找消费记录
9.修改密码
int menu(void)
{ int x;
do
{
printf("\t\t<*******************menu************************>\n");
printf("\t\t|| (1)Apply for one blank card ||\n");
printf("\t\t|| (2)Use one blank card ||\n");
printf("\t\t|| (3)Print the record ||\n");
printf("\t\t|| (4)Store the money ||\n");
printf("\t\t|| (5)Fetch the money ||\n");
printf("\t\t|| (6)Spend the money ||\n");
printf("\t\t|| (7)Save the file ||\n");
printf("\t\t|| (8)Search the record ||\n");
printf("\t\t|| (9)Change the passward ||\n");
printf("\t\t|| (0)quit the system ||\n");
printf("\t\t\tPlease input your choice (0-10):( )\b\b\b");
scanf("%d",&x);
if(x<0||x>10)
{
printf("\t\t\t Error! Input again.");
}
}while(x<0||x>10);
return (x);
}
(1).制卡