当前位置:文档之家› (数据结构)活期储蓄账目管理

(数据结构)活期储蓄账目管理

(数据结构)活期储蓄账目管理
(数据结构)活期储蓄账目管理

课程设计

课程名称:活期储蓄账目管理

学院:计算机科学与技术专业:信息安全姓名:学号: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()函数选择各个功能板块来实现其功能。

目录

1.课程设计目的

2.问题的描述

3.需求分析

4.概要设计

5.详细设计

6.调试以及分析

7.使用说明

8.个人设计部分

9.设计总结

10.相关参考文献

1.设计目的

1.1掌握线性表的存储方式。

1.2掌握基本的排序算法。

1.3掌握二分查找等查找算法。

2.问题的描述

2.1、能比较迅速地找到储户的帐户,以实现存款、

取款记账;

2.2、能比较简单,迅速地实现插入和删除,以

实现开户和销户的需要。

2.3、账户信息存入文件中(刚进入系统把文件中的信息导入内存,系统运行结束把内存中的信息存入文件)

2.4、基本数据有:储蓄账户的姓名、账号、地址、联系电话以及存款的现有余额等等。

3.需求分析

3.1功能需求

○1、需要用户先进行开户才可以进行其他所有操作。

○2、在开户时,用户必须提供真实有效的姓名、身份证件号、联系电话、地址、密码,账号才能生成。

○3、使用账户时,用户必须能提供账号以及密码。

○4、用户在使用期间必须能够使用存取款、查询账户资料以及交易记录的相关消息。

○5、销户时,必须提供账号以及密码,还有身份证件才可销户。

○6、在用户多次输入密码不正确情况下,银行将默认该用户已将卡号泄露,银行将对此账号进行锁定(解锁需要带有效证件到银行柜台办理)。

3.2非功能需求

3.2.1用户界面:要求用户的界面要简洁、易用、易懂、

友好。

3.2.2算法原理:二分查找、顺序表结构、直接插入排

序。

3.2.3运行环境:VC++6.0编译器

3.2.4开发工具:visual stadio 2013

3.2.5

4.1数据结构

用顺序表实现用户的增减以及查询等相关操作。

4.2系统包括的函数

注:函数名——作用

void insertLink()——开户;

void deleteLink()——销户;

bool searchLink()——查找;

void tradeLink——交易;

void findLink()——查询;

int meauLink()——显示菜单;

bool verifyPassword()——验证密码;

void modificationList()——修改用户信息;

void choice()——选择各个功能板块来实现其功能;

int f_binarySerch()——是查询和查找的子模块;

注:查找是查找用户是否存在,查询是查询当前用户的相关信息。4.3函数间的关系

4.4系统功能模块图

活期储蓄账目管理

菜单显示

选择功能

开户销户存取

返回

菜单

查看

用户

信息

查看

交易

信息

退出

账目

管理

修改

用户

信息

5.1结构体的详细定义

struct ElemType

{

int state;//记录账户的状态,"1"表示账户为正常状态,"0"表示账户为锁定状态

long account;//账号

string passward;//密码

string name;//户名

string idCard;//身份证号

string address; //地址

string telephone; //联系电话

float balance; //账户余额

int ebit[N]; //存储交易信息

float b[N];

int size;

};

//用顺序表来存账户

struct Link

{

ElemType *user;//存储账户信息

int size;

int maxsize;

};

5.2系统函数的介绍

注:函数名——作用

5.2.1 void insertLink()——开户;

函数说明:开启一个新的用户,并激活其状态。

void insertLink(Link &Kingbank, long account)

{

if (Kingbank.size == Kingbank.maxsize) //若空间已满则给新的空间

{

https://www.doczj.com/doc/c5451402.html,er = (ElemType*)realloc(https://www.doczj.com/doc/c5451402.html,er, (5 + Kingbank.maxsize)*sizeof(ElemType));

Kingbank.maxsize += 5;

}

int k; //用于指向要插入的位置

if (Kingbank.size == 0) //此时线性表为空,插入账号为第一个账号k = 0;

else

{

for (int i = Kingbank.size - 1; i >= 0; i--) //线性表不为空时插入到该插入的位置,类似直接插入法(以账号的大小为标准)

{

if (account > https://www.doczj.com/doc/c5451402.html,er[i].account)

{

k = i + 1;

break; //找到要插入的位置后跳出循环,此时k指向要插入的位置

}

}

}

if (Kingbank.size>0) //当线性表不为空时,将插入点及其后面的账户往后挪一位,空出插入点来输入新账户

{

for (int i = Kingbank.size; i>k; i--) //从后往前依次将账户信息向后挪动一位

{

https://www.doczj.com/doc/c5451402.html,er[i].state = https://www.doczj.com/doc/c5451402.html,er[i - 1].state;

https://www.doczj.com/doc/c5451402.html,er[i].name = https://www.doczj.com/doc/c5451402.html,er[i - 1].name;

https://www.doczj.com/doc/c5451402.html,er[i].account = https://www.doczj.com/doc/c5451402.html,er[i - 1].account;

https://www.doczj.com/doc/c5451402.html,er[i].address = https://www.doczj.com/doc/c5451402.html,er[i - 1].address;

https://www.doczj.com/doc/c5451402.html,er[i].idCard = https://www.doczj.com/doc/c5451402.html,er[i - 1].idCard;

https://www.doczj.com/doc/c5451402.html,er[i].passward = https://www.doczj.com/doc/c5451402.html,er[i - 1].passward;

https://www.doczj.com/doc/c5451402.html,er[i].telephone = https://www.doczj.com/doc/c5451402.html,er[i - 1].telephone;

}

}

https://www.doczj.com/doc/c5451402.html,er[k].state = 1; //激活新插入账户

https://www.doczj.com/doc/c5451402.html,er[k].account = account; //输入账户信息

cout << "请完善一下信息:" << endl;

cout << "用户名:";

cin >> https://www.doczj.com/doc/c5451402.html,er[k].name;

cout << "身份证号:";

cin >> https://www.doczj.com/doc/c5451402.html,er[k].idCard;

cout << "地址:";

cin >> https://www.doczj.com/doc/c5451402.html,er[k].address;

cout << "密码:";

cin >> https://www.doczj.com/doc/c5451402.html,er[k].passward;

cout << "电话:";

cin >> https://www.doczj.com/doc/c5451402.html,er[k].telephone;

cout << "初始余额:";

cin >> https://www.doczj.com/doc/c5451402.html,er[k].balance;

https://www.doczj.com/doc/c5451402.html,er[k].size = 0;

Kingbank.size++; //插入完成后,线性表长度加1

cout << "账户信息已录入" << endl;

}5.2.2 void deleteLink()——销户;

函数说明:利用账号和密码进行核对,以确定信息的真实有效,核对正确后将用户在顺序表中删除。

void deleteLink(Link &Kingbank)

{

cout << "请输入要销户的账号" << endl;

long account;

cin >> account;

verifyPassword(Kingbank, account);//验证密码

int m;

m = f_binarySerch(Kingbank, account, 0, Kingbank.size - 1);//利用二分查找寻找账号在线性表中的位置

if (m == -1)

cout << "输入的账号不存在" << endl;

else

{

for (int i = m; i <= Kingbank.size - 1; i++)

{

https://www.doczj.com/doc/c5451402.html,er[i].name = https://www.doczj.com/doc/c5451402.html,er[i + 1].name;

https://www.doczj.com/doc/c5451402.html,er[i].address = https://www.doczj.com/doc/c5451402.html,er[i + 1].address;

https://www.doczj.com/doc/c5451402.html,er[i].balance = https://www.doczj.com/doc/c5451402.html,er[i + 1].balance;

https://www.doczj.com/doc/c5451402.html,er[i].idCard = https://www.doczj.com/doc/c5451402.html,er[i + 1].idCard;

https://www.doczj.com/doc/c5451402.html,er[i].passward = https://www.doczj.com/doc/c5451402.html,er[i + 1].passward;

https://www.doczj.com/doc/c5451402.html,er[i].state = https://www.doczj.com/doc/c5451402.html,er[i + 1].state;

https://www.doczj.com/doc/c5451402.html,er[i].telephone = https://www.doczj.com/doc/c5451402.html,er[i + 1].telephone;

}

Kingbank.size--;//销户后size大小自减一

cout << "销户成功" << endl;

}

}

5.2.3 bool searchLink()——查找;

函数说明:根据账号在顺序表中是否存在此账号?

bool searchLink(Link &Kingbank, long ac) //判断账号是否存在,用于开户

{

int k = f_binarySerch(Kingbank, ac, 0, Kingbank.size - 1);//利用二分查找寻找账号在线性表中的位置

if (k == -1)

return false;

else

return true;

}

5.2.4 void tradLink——交易;

void tradeLink(Link &Kingbank)

{

cout << "请输入交易账号:";

long ac;

cin >> ac;

verifyPassword(Kingbank, ac);//验证密码

int k = f_binarySerch(Kingbank, ac, 0, Kingbank.size - 1);//利用二分查找寻找账号在线性表中的位置

if (k == -1)

cout << "此账号不存在" << endl;

else

{

if (https://www.doczj.com/doc/c5451402.html,er[k].state == 0)

{

cout << "用户状态已被锁定,请持相关证件到柜台处理" << endl;

exit(1);//用户状态被锁定,强行退出

}

int i;

float b;

cout << "请选择交易类型:1.取款2.存款(按其他任意键退出)" << endl;

cin >> i;

switch (i)

{

case 1:

cout << "请输入取款金额:";

cin >> b;

if (https://www.doczj.com/doc/c5451402.html,er[k].balance

cout << "提取金额超出余额,无法取款" << endl;

else

{

https://www.doczj.com/doc/c5451402.html,er[k].size++;

if (https://www.doczj.com/doc/c5451402.html,er[k].size>20)//如果交易信息存储超过二十个,将其重置为1

https://www.doczj.com/doc/c5451402.html,er[k].size = 1;

https://www.doczj.com/doc/c5451402.html,er[k].ebit[https://www.doczj.com/doc/c5451402.html,er[k].size - 1] = 1; //存入交易信息

https://www.doczj.com/doc/c5451402.html,er[k].b[https://www.doczj.com/doc/c5451402.html,er[k].size - 1] = b;

cout << "取款成功" << endl;

https://www.doczj.com/doc/c5451402.html,er[k].balance -= b;

}

break;

case 2:

cout << "请输入存款金额:" << endl;

cin >> b;

if (b<0)

cout << "您输入的存款金额有误" << endl;

else

{

https://www.doczj.com/doc/c5451402.html,er[k].size++;

if (https://www.doczj.com/doc/c5451402.html,er[k].size>20) //如果交易信息存储超过二十个,将其重置为1

https://www.doczj.com/doc/c5451402.html,er[k].size = 1;

https://www.doczj.com/doc/c5451402.html,er[k].ebit[https://www.doczj.com/doc/c5451402.html,er[k].size - 1] = 2; //存入交易信息

https://www.doczj.com/doc/c5451402.html,er[k].b[https://www.doczj.com/doc/c5451402.html,er[k].size - 1] = b;

cout << "存款成功" << endl;

https://www.doczj.com/doc/c5451402.html,er[k].balance += b;

}

break;

default:

cout << "退出成功" << endl;

break;

}

}

}

5.2.5 void findLink()——查询;

函数说明:可查询用户的户名、地址、联系电话等信息。

void findLink(Link &Kingbank)

{

long ac;

cout << "请输入(要查询信息)用户的账号:";

cin >> ac;

verifyPassword(Kingbank, ac);//验证密码

int k = f_binarySerch(Kingbank, ac, 0, Kingbank.size - 1);//利用二分查找寻找账号在线性表中的位置

if (k == -1) //判断账号是否存在cout << "账号不存在" << endl;

else

{

cout << "选择序号:1.查询账户余额2.查询账户信息" << endl;

int i;

cin >> i;

switch (i)

{

case 1:

cout << "当前账户余额为:" << https://www.doczj.com/doc/c5451402.html,er[k].balance << endl; //打印余额

break;

case 2: //打印账户信息

cout << "账户信息如下:" << endl;

cout << "用户状态:" << https://www.doczj.com/doc/c5451402.html,er[k].state << endl;

cout << "账号:" << https://www.doczj.com/doc/c5451402.html,er[k].account << endl;

cout << "用户名:" << https://www.doczj.com/doc/c5451402.html,er[k].name << endl;

cout << "身份证号:" << https://www.doczj.com/doc/c5451402.html,er[k].idCard << endl;

cout << "地址:" << https://www.doczj.com/doc/c5451402.html,er[k].address << endl;

cout << "电话:" << https://www.doczj.com/doc/c5451402.html,er[k].telephone << endl;

break;

default:

cout << "输入有误" << endl;

break;

}

}

}

5.2.6 int meauLink()——显示菜单;

说明:显示系统能提供的相关功能,返回序号代表的操作,利用choice 函数进行已选择的序号进行相关操作。

int meauLink()

{

cout << "****************\t欢迎使用Kingbank活期账目管理系统\t****************" << endl;

cout << "1.开户\t\t2.销户\t\t3.查找账户\t4.交易\n5.查询账户信息\t6.修改用户信息\t7.查看交易记录\t8.显示系统内所有用户信息\n9.退出系统" << endl;

cout << "**************************************************************** ****************" << endl;

int i;

cin >> i;

if (i >= 1 && i <= 9)

return i;

else

return -1; //返回-1代表不执行任何操作

}

5.2.7 void modificationList()——修改用户信息;

函数说明:需要用户确定密码,对查询的信息进行修改。

void modificationLink(Link &Kingbank)

{

long ac;

cout << "请输入要修改信息用户的账号:";

cin >> ac;

verifyPassword(Kingbank, ac);//验证密码

int k = f_binarySerch(Kingbank, ac, 0, Kingbank.size - 1);//利用二分查找寻找账号在线性表中的位置

if (k == -1)

cout << "账号不存在" << endl;

else

{

cout << "选择序号进行修改用户信息\n1.姓名2.地址3.锁定状态 4.密码 5.身份证号 6.电话号码";

int i;

cin >> i;

switch (i)

{

case 1:

cout << "姓名:" << https://www.doczj.com/doc/c5451402.html,er[k].name << " 修改为:";

cin >> https://www.doczj.com/doc/c5451402.html,er[k].name;

break;

case 2:

cout << "地址:" << https://www.doczj.com/doc/c5451402.html,er[k].address << " 修改为:";

cin >> https://www.doczj.com/doc/c5451402.html,er[k].address;

break;

case 3:

cout << "锁定状态:" << https://www.doczj.com/doc/c5451402.html,er[k].state << " 修改为:";

cin >> https://www.doczj.com/doc/c5451402.html,er[k].state;

break;

case 4:

cout << "密码:" << https://www.doczj.com/doc/c5451402.html,er[k].passward << " 修改为:";

cin >> https://www.doczj.com/doc/c5451402.html,er[k].passward;

break;

case 5:

cout << "身份证号:" << https://www.doczj.com/doc/c5451402.html,er[k].idCard << " 修改为:";

cin >> https://www.doczj.com/doc/c5451402.html,er[k].idCard;

break;

case 6:

cout << "电话号码:" << https://www.doczj.com/doc/c5451402.html,er[k].telephone << " 修改为:";

cin >> https://www.doczj.com/doc/c5451402.html,er[k].telephone;

break;

default:

cout << "输入有误" << endl;

break;

}

}

}

5.2.8 void choice()——选择各个功能板块来实现其功能;

void choice(Link &Kingbank, int k)

{

long ac;

switch (k) //根据meauLink()的返回值执行不同的函数

{

case 1:

cout << "请输入要开户的账号:(注:本行仅提供52013001到52013999之间的账号)" << endl;

cin >> ac;

if (searchLink(Kingbank, ac))

{

cout << "此账号已存在";

exit(1);//账号已存在,不可用于重新开户,直接退出系统}

insertLink(Kingbank, ac);

break;

case 2:

deleteLink(Kingbank);

break;

case 3:

cout << "请输入需要查找的账号:";

cin >> ac;

if (searchLink(Kingbank, ac))

cout << "此账号已存在" << endl;

else

cout << "此账号不存在" << endl;

break;

case 4:

tradeLink(Kingbank);

break;

case 5:

findLink(Kingbank);

break;

case 6:

modificationLink(Kingbank);

break;

case 7:

cout << "请输入账号:";

cin >> ac;

verifyPassword(Kingbank, ac); //验证密码

k = f_binarySerch(Kingbank, ac, 0, Kingbank.size - 1); //利用二分查找寻找账号在线性表中的位置

for (int i = 0; i <= https://www.doczj.com/doc/c5451402.html,er[k].size - 1; i++) //显示交易信息

{

if (https://www.doczj.com/doc/c5451402.html,er[k].ebit[i] == 1)

cout << "取款:";

else

cout << "存款:";

cout << https://www.doczj.com/doc/c5451402.html,er[k].b[i];

cout << " ";

}

cout << endl;

break;

case 8:

displayLink(Kingbank);

break;

case 9:

cout << "退出成功" << endl;

break;

default:

cout << "找不到要执行的指令" << endl;

break;

}

}

5.2.9 int f_binarySearch()——为实现查找和查询的一个子模块;

int inline f_binarySearch(Link &Kingbank, long &account, int low, int high) //返回的是其在线线性表中下标的位置

{

if (low <= high)

{

int mid = (low + high) / 2;

if (account == https://www.doczj.com/doc/c5451402.html,er[mid].account)

return mid;

else if (account

return f_binarySerch(Kingbank, account, low, mid - 1);

else

return f_binarySerch(Kingbank, account, mid + 1, high);

}

else

return -1;

}

5.2.10主函数部分

int main()

{

int i=1, k;

Link Kingbank;

https://www.doczj.com/doc/c5451402.html,er = new ElemType[10];

fstream f;

f.open("G:\\系统.txt", ios::in); //打开文件进行读取操作

for (i = 0; !f.eof(); i++) //按结构体大小读取内容

f.read((char *)&https://www.doczj.com/doc/c5451402.html,er[i], sizeof(https://www.doczj.com/doc/c5451402.html,er[i]));

f.close(); //关闭文件

Kingbank.size = i-1;

Kingbank.maxsize = 10;

do

{

choice(Kingbank, k = meauLink());

cout << "请输入5退出系统(按其他任意键继续):";

cin >> i;

}while (i != 5);

fstream t;

t.open("G:\\系统.txt", ios::out);//打开文件,先用out进行的清空,然后在把内存中的账户信息导入文件

for (int i = 0; i < Kingbank.size; i++) //按结构体大小写入内容

t.write((char *)&https://www.doczj.com/doc/c5451402.html,er[i], sizeof(https://www.doczj.com/doc/c5451402.html,er[i]));

t.close();//关闭文件

return 1;

}

5.3系统功能模块介绍

⒈查找储户的帐户;

⒉根据储户的存取款金额实现存款、取款记账;

⒊根据储户信息及账号实现删除;

4.根据账号和密码以及身份证号修改用户的相关信息。

5.4具体模块设计(用流程图介绍)

5.4.1开户功能

5.4.2销户功能

开始

身份证号、姓名等信息

判断存储空间是否已满?

将输入的数据用直接选择插入的方式插入顺序表

把存储空间扩大两倍

结束

开始

输入账号

判断账号是否存在?

输入账号密码和身份证件号

判断身份信息是否一致?

提示:账号不存在

把在此用户后面的用户在储户信息中往前移动一位

提示:身份信息不一致,无法销户!

结束

5.4.3查询功能

5.4.4修改账户信息功能

开始

判断输入的序号是否为查询控制的序号?

结束

输入序号进行相关操作

{用序号进行查询内容的控制(用序号控制查询的是账户信息、账户余额或交易记录等)}

显示用户的交易信息{选择的是序号2.查询账

户交易信息}

显示账户余额{选择的是序号1.查询账户余额}

显示账户信息{选择的是序号3.查询账户信息}

银行账目管理系统设计报告

银行账目管理系统 ——设计与实现

绪论 市场经济的发展过程也是企业营销理念不断变革,深化发展的过程。从西方市场经济发展的历程来看,企业的营销理念经历了,生产观念、产品观念、推销观念、营销观念,重视市场以市场为中心成为前一时期企业经营理念的经典。但随着科学技术与社会经济的发展,产品日益丰富,市场格局发生了巨大变化。市场的性质由卖方市场迅速向买方市场转化,市场竞争急剧升级,日趋激烈、残酷。无数事实告诉人们:自然界中适者生存的定律在市场中已经成为企业经营的真谛! 无数企业为了适应适者生存的定律,不得不进行营销观念和营销方式的变革。旧的市场营销的理念正在逐步推出市场,取而代之是新的客户关系管理的营销理念。一个以客户为中心的营销理念正以迅雷不及掩耳之势向市场的各个领域伸展。以客户为中心成为目前市场营销的新思想、新潮流,成为企业追逐的新星。可见以客户为中心对企业经营有着重大的意义。 随着计算机技术飞速发展,信息技术全面地渗透到人类社会的各个方面,信息化成为世界和社会发展的大趋势。企业的管理从人工到自动化、智能化和高效性。计算机在企业管理中应用的普及,利用计算机实现现代企业客户的管理也势在必行。客户是企业的生存之本,客户信息的资料对企业来说至关重要。为了适应现代信息管理,节省人力、物力和财力,在此次研究,针对银行客户管理中存在的客户资源利用率低等问题,开发了这个银行客户管理系统。通过这样的系统,可以做到信息的规范管理、科学的统计和快速的查找,充分利用计算机的功能实现对客户的管理的自动化控制从而减少管理方面的工作量。

问题分析 1.1开发背景 随着科技发展和社会进步,尤其是计算机大范围的普及,计算机应用逐渐由大规模科学计算的海量数据处理转向大规模的事务处理和对工作流的管理,这就产生了以计算机为核心,以数据库管理系统为开发环境的管理信息系统在大规模的事务处理和对工作流的管理等方面的应用,特别是在银行账目管理之中的应用日益收到人们的关注。 近年来我国信息产业发展迅速,手工管理方式在银行账目管理等需要大量事务处理的应用中已显得不相适应,采用IT技术提高服务质量和管理水平势在必行。目前,对外开放必然趋势以使银行业直面外国银行巨头的直接挑战,因此,银行必须提高其工作效率,改善其工作环境,直面外国的挑战。这样,账目管理的信息化势在必行。 在传统的银行账目管理中,其过程往往是很复杂的,繁琐的,账目管理以入账和出账两项内容为核心,在此过程中又需要经过若干道手续,因为整个过程都需要手工操作,效率十分低下,且由于他们之间关联复杂,统计和查询的方式各不相同;且会出现信息的重复传递问题。因此改过成必须实现信息化。 我们的系统开发的整体任务是实现银行账目管理的系统化、规范化、自动化和智能化,从而达到提高企业管理效率的目的。 1.2研究的意义 1.2.1研究银行账目管理系统的意义 随着社会的进步和计算机技术的发展,尤其是网络技术的飞速进步,信息观念已经深入人心。信息科学作为当代社会中的重要一环在国民经济中起着举足轻重的作用。自第三次科技革命以来,各交叉学科不断涌现,管理科学与信息科学的密切结合更是大大促进了生产效率,改变了人们久已习惯的人治理念。管理科学的信息化将人们调度优化任务的能力大大提高。我国政府审时度势,提出了以信息化带动工业化的明确战略发展决策。这对于我国占领科技制高点,普及科技教育,推动国民经济的健康可持续发展具有重要的意义。

课程设计题目

数据结构课程设计题目 1.运动会分数统计(限1 人完成) 任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)功能要求: 1)可以输入各个项目的前三名或前五名的成绩; 2)能统计各学校总分, 3)可以按学校编号或名称、学校总分、男女团体总分排序输出; 4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。 5)数据存入文件并能随时查询 6)规定:输入数据形式和范围:可以输入学校的名称,运动项目的名称 输出形式:有合理的提示,各学校分数为整形 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。 存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构; 测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明; 2.最小生成树问题(限1 人完成) 设计要求:在n个城市之间建设网络,只需保证连通即可,求最经济的架设方法。存储结构采用多种(顺序、链式)。求解算法多种(Prim\Cruskal)。 3.文章编辑(限1 人完成)

功能:输入一页文字,程序可以统计出文字、数字、空格的个数。 静态存储一页文章,每行最多不超过80个字符,共N行; 要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数; (2)统计某一字符串在文章中出现的次数,并输出该次数; (3)删除某一子串,并将后面的字符前移。 存储结构使用线性表,分别用几个子函数实现相应的功能; 输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。 输出形式:(1)分行输出用户输入的各行字符; (2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数" (3)输出删除某一字符串后的文章; 4.宿舍管理查询软件(限1 人完成) 1)任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求: A.采用交互工作方式 B.建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种) 2)查询菜单: (用二分查找实现以下操作) A.按姓名查询 B.按学号查询 C.按房号查询 3)打印任一查询结果(可以连续操作) 5.校园导航问题(限1 人完成) 设计要求:设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。 6.教学计划编制问题(限1 人完成)

活期储蓄帐目管理系统

数据结构课程设计 题目:活期储蓄帐目管理系统 班级: 学生: 学号: 一,设计要求: 活期储蓄处理中,储户开户、销户、存入、支出聚会频繁,系统设计条件: 1)能较量迅速地找到储户的帐户,以呈现存款、取款记账; 2)能较量简单,迅速地呈现插入和删除,以呈现开户和销户的需求。 二,主要思路: 银行业务员-----具有的权限包括:登录系统、填写存取款信息、打印存取款单、按储户要求查询其储蓄信息。运行控制本系统的运行控制流程为:银行业务员申请进入本系统,输入储户用户名、密码,通过验证后,进行存取款或者存款单、取款单的打印,以及用户信息的查询。本系统各模块的运行时间均控制在1—2 秒内。由于系统采用消息驱动方式,将有效地提高计算机的利用率。9 本系统中创建的数据库Banksystem 包含的表:(customername,customerid,bankname,yewuyuanid,cunkuancount,qukuancount, shengyucount,ratevalue,shouxucount) (bankname,yewuyuanid) time(cunkuandate,qukuandate) 数据库Banksystem 的物理结构采用顺序结构。[说明各个数据结构与访问这些数据结构的各个程序之间的对应关系。] [程序1] [程序2] [……] [程序m] [数据结构1] √ [数据结构2] √ √ ┇[数据结构n] √ √ 输出信息可能原因处理方法***不能为空***项忘记填写按照要求填写***项***不能重复***项数据库已有相应记录按照要求填写***项数据库连接不上等类似的提示信息数据库服务器关闭或者网络不通检查数据库服务器是否关闭,如关闭则启动,否则检查网络配置10 本系统定期备份数据库,以便在系统出现故障时能够及时恢复。 a.后备技术采用后备技术,当原始系统数据万一丢失时启用副本,周期性地把磁盘信息记录到磁带上去。 b.恢复及再启动技术使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。为了系统维护的方便而在程序内部设计中作出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。本系统严格按照软件产品设计规范的步骤进行开发,并重复考虑软件的可维护性,详细编写各阶段的文档资料,并在程序设计过程中做出大量详细的注释。 三,源程序设计: #include #include #include #include #define file "temp.txt" //数据存储的文件名 struct user //用户类型定义(账号,姓名,身份证号,余额)

银行管理系统数据库

吉首大学 张家界学院 《数据库系统概念》课程设计题目 学号 学生姓名 院系 专业 指导教师

二O一六年月日 学生选课系统的设计 一、绪论 1.1 目的和意义 银行管理系统:该系统要求建立的用户表并不是很多,完成的功能也相对有限,但其中各个表之间的联系很紧密,该系统对数据库表的设计要求会很高,所以完成这个题目,能更好的训练数据库设计和VC的编程能力,选择该题目就是充分训练数据库表设计的能力和运用VC的能力。 1.2 内容和要求 用户管理模块:建立新用户、删除老用户、更改用户操作; 账户操作模块:账户信息、活期存取款操作、查询活期操作纪录、定期存款、定期取款、查询定期操作纪录; 数据库模块:数据库备份、数据库恢复; 二、需求分析 2.1系统用户 对于用户部分,能够新建和删除用户,在操作过程中可以更改用户;对于账户部分,可以查询用户的信息,包括各种基本信息、活期余额、定期账单等;对于账户操作部分,有活期存取款、定期存取款操作,另外操作完成之后存储相应的操作纪录并能够查询操作纪录等功能。银行帐目管理系统包括五个模块,分别为系统选项、帐目管理、查询统计、用户查询和帮助。

2.2系统主要功能 帐目管理模块:主要处理用户的日常操作。 (1)开户:新建一个帐户,为其指定一个唯一的帐号来标志该用户 (2)销户:将指定用户的帐号删除。用户输入密码经过验证成功后,把帐户的余额全部取出,最后删除该帐户。 (3)存款:向指定的帐户中存入一笔钱,经用户输入密码确认后,方可存入。 (4)取款:从指定的帐户中取出一笔钱。取款前用户需要输入密码确认,取款后帐户余额不得少于帐户的最低存款额,否则不予处理。 (5)修改信息:选择一个存在的帐户,然后输入密码经确认后进入用户信息窗口,可对里面的密码、联系电话和家庭住址进行修改,而帐号和帐户上的金额不能被用户修改。 查询模块:按照指定方式进行查找帐户信息,包括按姓名、帐号和联系电话进行查找,也可以按照地址进行模糊查找。 统计模块:对银行的数据进行统计,如对帐户数量的统计。其系统功能模块如图2-1: 图2-1 系统功能模块 2.3 开发技术

数据结构课程设计课题

《数据结构》课程设计课题表 课程内容 课题 编号 1.设计出链表结构的相关函数库,以便在程序设计中调用 2.设计出顺序表结构的相关函数库,以便在程序设计中调用 3.设计一元多项式的相关函数库,以便在程序设计中调用 4.设计一个模拟计算器的程序,要求能对包含加、减、乘、除、括号运算符的任意整 型表达式进行求解 5.设计出二叉链表结构的相关函数库,以便在程序设计中调用 6.设计出树结构的相关函数库,以便在程序设计中调用 7.采用哈夫曼编码思想实现文件的压缩和恢复功能,并提供压缩前后的占用空间 之比 8.设计出图结构的相关函数库,以便在程序设计中调用 9.校园导航问题 10.比较排序算法的时间性能 11.飞机订票系统任务 12.文章编辑 13.教学计划编制问题 14.活期储蓄帐目管理 15.简易文本编辑器 16.图的遍历和生成树求解实现 17.宿舍管理查询软件 18.图书借阅管理系统 19.二叉排序树的实现 20.稀疏矩阵应用 21.树与二叉树的转换的实现 22.关键路径问题 23.哈希表设计与实现 课题1:设计出链表结构的相关函数库,以便在程序设计中调用。要求: (1)包括线性表的各种基本函数以及常用函数(自己确定函数、函数形式及理由)。 (2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。 (3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。

课题2:设计出顺序表结构的相关函数库,以便在程序设计中调用。要求: (1)包括线性表的各种基本函数以及常用函数(自己确定函数、函数形式及理由)。 (2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。 (3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。 课题3:设计一元多项式的相关函数库,以便在程序设计中调用。 要求: (1)所设计的数据结构应尽可能节省存储空间。 (2)设计一元多项式的各种基本函数,要求有一元多项式的加减法和乘法。 (3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。 课题4:设计一个模拟计算器的程序,要求能对包含加、减、乘、除、括号运算符的任意整型表达式进行求解。 要求:要检查有关运算的条件,并对错误的条件产生报警。 课题5:设计出二叉链表结构的相关函数库,以便在程序设计中调用。要求: (1)包括二叉树的各种基本函数以及常用函数(自己确定函数、函数形式及理由)。 (2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示 出来,将复杂的运行过程以动态方式显示出来。 (3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。 课题6:设计出树结构的相关函数库,以便在程序设计中调用。要求: (1)包括树结构的存储结构及各种基本函数以及常用函数(自己确定函数、函数形式及 理由)。 (2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示 出来,将复杂的运行过程以动态方式显示出来。 (3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。 课题7:采用哈夫曼编码思想实现文件的压缩和恢复功能,并提供压缩前后的占用空间 之比。要求如下:

银行账户管理系统(免费版)

摘要 账户管理是银行业务流程过程中十分重要且必备的环节之一,在银行业务流程当中起着承上启下的作用,其重要性不言而喻。但是,目前许多银行在具体的业务流程处理过程中仍然使用手工操作的方式来实施,不仅费时、费力,效率低下,而且无法达到理想的效果。本文针对上述问题,采用软件工程的开发原理,依据软件流程过程规范,按照需求分析、概要设计、详细设计、程序编码、测试、软件应用、软件维护等过程开发了一个银行账户管理系统。采用VisualFoxPro6.0作为开发工具,数据库设计遵循3范式,主要设计了用户基本信息表、用户卡信息表、ATM取款机基本信息表、用户银行存款信息表、管理系统的用户口令表、银行系统的用户信息表等数据表。解决了银行系统中存在的数据安全性、数据一致性以及系统运行速度等问题。 系统实现的主要有账户管理、取款机管理、用户查询等功能: *账户管理模块:存款、取款、开户、销户、修改信息、办卡、挂失卡; *用户查询模块; *取款机信息管理模块:管理员管理查询和维护、客户查询和取款等功能; 通过该银行账户管理系统地运行,使办公人员可以轻松快捷的完成对账户管理的任务,提高账目管理效率,使银行的账目管理工作系统化、规范化、自动化。 该银行账目管理信息系统,优点是设计过程思路清晰、模块划分简洁,设计各阶段分工明确。经过实践证明,该划分是合理的,极大得提高了本系统的实现。 【关键词】银行账目数据安全性数据一致性ATM面向对象

Abstract It is one of the very important and indispensable links in the banking procedure course that the account is managed, play a role in forming a connecting link in the banking procedure, its importance is self-evident. However, a lot of banks still use the hand-operated way to implement in the concrete course of handling of business procedure at present, not only time-consuming , strenuous, efficiency is low, but also unable to reach the ideal result. This text directs against above problem, adopt the development principle of the soft project , according to the procedure course norm of the software, according to demand analysis, outline design, detailed design , procedure code, test, course , application of software and person who maintain of software develop a bank account administrative system. Adopt VisualFoxPro6.0 as the developing instrument, data design of storehouse follow 3 normal form , have mainly designed user's basic information table, user's card information table, ATM cash dispenser basic information table , user bank account information table , user password form , user information table ,etc. data list of banking system of administrative system. Have solved problems such as the data security , the consistency of the data and running speed of system existing in the banking system ,etc.. Whom system realize is for account management , function , management of cash dispenser and person who inquire of user: *Manage the module in account: Deposit , withdraw the money , open an account , sell the family , revise information , apply for card , report the loss of the card ; *Users inquire about the module ; *The information management module of cash dispenser: Administrator management inquire and maintain , customer inquire and function of withdrawing etc.; Run through this bank account administrative system , can make clerical work force light swift completion to account task of management, improve the efficiency of management of accounts, systematize account management of the bank , be standardized , automize. The management information system of the account of this bank, the advantage is that clarity of thinking of the design process , module are divided succinctly , design every stages and divide the work clearly. Prove practice should it divides to be rational , so great that improve realization of system this. 【Keyword 】The account data security data consistency ATM of the bank faces the target

活期储蓄帐目管理

洛阳理工学院 课程设计报告 课程名称数据结构课程设计 设计题目活期储蓄帐目管理

课程设计任务书 设计题目:活期储蓄帐目管理_________________________________________________________ 设计内容与要求: 【问题描述】活期储蓄处理中,储户开户、销户、存入、支出活动频繁。设计一个活期储蓄账目管理系统。 【基本要求】 1) 能比较迅速地找到储户的帐户,以实现存款、取款记账; 2) 能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。 课程设计评语 成绩: 指导教师:_______________ 年月日

(1)问题描述:活期储蓄处理中,储户开户、销户、存入、支出活动频繁。设计一个活期储蓄账目管理系统。 (2)基本要求: 1) 能比较迅速地找到储户的帐户,以实现存款、取款记账; 2) 能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。 (3)测试数据:

(4)算法思想:1主要思想 1 2开户 3查询

(5)模块划分: 01)void InsertList(LINK *&L) //链表插入实现开户功能 02)void Search(LINK *L) //链表查找,实现用户登陆功能 03)void Deposit(LINK *&L,LINK *p) //用户存款、取款 04)void PrintList(LINK*L) //打印链表,实现用户信息输出 05)void DeleteList(LINK *&L) //链表删除,实现销户功能(需要账号和密码) 06)void save(LINK *L) //保存链表,实现用户信息保存到文件 07)void Print(LINK *&L) //打开文件,得到链表 08)void menu() //主菜单函数 09)void choice() //菜单选择函数 (6)数据结构: typedef struct ElemType //定义结构体 { char name[11]; int account; char password[7]; float money; }ElemType; typedef struct lnode //定义链表 { ElemType data; struct lnode *next; }LINK; (7)心得:

课程设计银行储蓄管理系统方案

《数据结构》 课程设计报告 设计题目活期储蓄账目 学院名称信息工程学院 专业班级13计本1 姓名

学号000000000000

目录 一、实验题目—活期储蓄账理------------------------------- 二、问题描述----------------------------------------------- 三、设计目标----------------------------------------------- 四、需求分析----------------------------------------------- 五、概要设计----------------------------------------------- 1---系统流程图-------------------------------------- 2--各个模块功能的详细描------------------------------- 六、详细设计----------------------------------------------- 七、测试分析----------------------------------------------- 八、使用说明----------------------------------------------- 九、课程设计总结------------------------------------------- 一活期储蓄账目管理 二问题描述 活期储蓄处理中,储蓄开户、销户、存款、取款活动频繁,系统设计要求:?能够比较迅速地找到储户的账户,以实现存款、取款记账; ?能比较简单,迅速地插入和删除,以实现开户和销户的需要。 三设计目标 编写一个程序,要求该程序可以实现储蓄开户,及储蓄销户。同时,该程序具有在储蓄账户中实现存款、取款,查看该账户信息的功能。 四需求分析 本演示程序用c语言编写,完成银行管理系统的生成,储户开户、销户、存

活期账目储蓄管理

摘要 银行作为一个金融机构,在现代人们的生活中扮演着极其重要的角色。为生活节凑飞快的现代人提供快速、便捷、高效的理财服务。伴随着电脑技术的发展,各大银行的储蓄管理系统也随之出现在这一舞台上。本次研究开发的目的是设计并实现一个活期储蓄账目管理系统的基本业务。 本文介绍了活期储蓄账目管理系统,并深入分析活期储蓄账目管理系统的设计和各个功能模块的实现。系统主要分为五个大的模块:储户开户模块、储户销户模块、储户登录模块、储户的账号存款、取款模块,能够实现对储户的自然信息进行管理,对储户账户信息进行管理,对当天交易进行统计,以及查询指定用户的交易信息。 系统充分采用了模块化的设计思想,将各种功能进行封装,提高了系统的整体扩展性,经使用证明该系统运行良好。 关键词:算法数据结构管理

Title Current savings account management system Abstract Bank, 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) 能比较迅速地找到储户的帐户,以实现存款、取款记账。 (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;

数据结构课程设计-活期储蓄账目管理系统(含有排序和文章编译功能)

题目:活期储蓄帐目管理 活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设计要求:能比较迅速地找到储户的帐户,以实现存款、取款记账;并能实现排序 能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。 一、主函数main #include "文章编辑系统.h" #include "排序子系统.h" #include "活期帐目管理系统.h" #include #include #include using namespace std; void main() { int choice; char ch; ch='y'; while (ch=='y'||ch=='Y') { printf("\n\n\n\n\t\t 数据结构实验演示系统\n\n\n"); printf("\t\t 主菜单"); printf("\n\t\t**************************************"); printf("\n\t\t* 1-------文章编辑系统*"); printf("\n\t\t* 2-------排序子系统*"); printf("\n\t\t* 3-------活期帐目管理系统*"); printf("\n\t\t* 0-------退出*"); printf("\n\t\t**************************************"); printf("\n\n\t\t请选择菜单号(0--3):"); scanf("%d",&choice); getchar(); switch(choice) { case 1: Article(); break; case 2: sort(); break; case 3: Banksystem();break; case 0: ch='n'; break; default:printf("菜单选择错误!请重新输入!"); } } } 二、文章编译系统

银行管理系统-项目开发计划书

软件工程课程设计 项目计划书 项目名称:银行管理系统 学院:计算机科学与技术学院 专业:计算机科学与技术专业 班级: 姓名: 指导教师:

2011 年11 月03 日

目录 1 系统主题................................................................................................................................. 错误!未定义书签。 引言............................................................................................................................................. 错误!未定义书签。 背景/选题动机/目的................................................................................................................... 错误!未定义书签。 系统与“创新杯”的主题关系(2)......................................................................................... 错误!未定义书签。 市场调查过程和结论(3) ............................................................................................................ 错误!未定义书签。 2 需求分析................................................................................................................................. 错误!未定义书签。 概要............................................................................................................................................. 错误!未定义书签。 使用场景..................................................................................................................................... 错误!未定义书签。 可行性分析报告......................................................................................................................... 错误!未定义书签。 应用领域/实用性分析............................................................................................................. 错误!未定义书签。 未来发展方向............................................................................................................................. 错误!未定义书签。 3 团队组成和分工..................................................................................................................... 错误!未定义书签。 4 系统功能概述......................................................................................................................... 错误!未定义书签。 功能需求分析............................................................................................................................. 错误!未定义书签。 系统性能要求 ................................................................................................................. 错误!未定义书签。 功能点列表................................................................................................................................. 错误!未定义书签。 性能点列表................................................................................................................................. 错误!未定义书签。 数据描述..................................................................................................................................... 错误!未定义书签。 5 系统设计概要......................................................................................................................... 错误!未定义书签。 实现系统所采用的技术方案和技术亮点 ................................................................................. 错误!未定义书签。 系统构架..................................................................................................................................... 错误!未定义书签。 功能模块描述............................................................................................................................. 错误!未定义书签。 E-R图 ........................................................................................................................................ 错误!未定义书签。 用例图......................................................................................................................................... 错误!未定义书签。 概念数据模型图......................................................................................................................... 错误!未定义书签。 业务模型..................................................................................................................................... 错误!未定义书签。 界面 ........................................................................................................................................... 错误!未定义书签。 6 系统环境................................................................................................................................. 错误!未定义书签。 开发平台..................................................................................................................................... 错误!未定义书签。 Client运行环境......................................................................................................................... 错误!未定义书签。

相关主题
文本预览
相关文档 最新文档