活期储蓄项目.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
活期储蓄项目

算法与数据结构 课程设计 题目名称:活期储蓄项目管理 班级:计算机4班 组长:朱磊 小组成员:朱磊 ,牛紫晗,修镜洋,秦博 目录 一.问题描述 2 1. 题目 2 2. 基本要求 2 二.需求分析 2 三.概要设计 2 3.1程序的整体流程图 2 3.2存储结构的定义 3 3.3模块划分: 3 本程序分为开户,销户,登录3个模块,其中登录部分又分为存款,取款,查看余额3个小模块,下面是各个子模块的算法描 3 3.3.1开户 4 3.3.2销户 5 3.3.3登录 5 四.详细设计 7 4.1每个算法的说明 7 4.2算法的调用关系 8 4.3各个子算法的源程序 8 4.3.1插入账户算法 8 4.3.2删除账户算法 9 4.3.3登录账户算法 11 4.3.4存款算法: 11 4.3.5取款算法: 11 4.3.6查看余额算法 12 4.3.7主函数的算法: 12 五.调试分析 14 5.1时间复杂度分析 14 5.2算法的运行和测试 14 5.2.1测试开户 14 5.2.2测试销户 14 5.2.3测试存款,取款,查看余额 15 5.2.4算法的改进思想 15 六.课程设计总结 15 一.问题描述 题目:活期储蓄帐目管理 基本要求:活期储蓄处理,储户开户、销户、存入、支出活动频繁,系统设计要求: 能比较迅速地找到储户的帐户,以实现存款、取款记账 能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。 二.需求分析 由于,题目要求简单迅速的实现插入,删除,所以单链表等简单的数据结构无法满足要求,散列表正好可以实现这个功能。 登录成功后才可以进行存款,取款,查看余额等操作,否则操作一次就需要验证一次,不人性化。 插入过程中,用拉链法处理冲突 三.概要设计 3.1程序的整体流程图 3.2存储结构的定义 struct account_struct//账户的数据结构 { char *name;//开户人姓名 char *password;//帐号密码 float money;//账户余额 int id;//账户ID struct account_struct *next;//下个账户的指针 }; typedef struct account_struct *paccount;//指向账户的指针类型 3.3.2销户 3.3.3登录 登录成功后,得到当前节点,并且保存 3.3.3.1存款 3.3.3.2取款 3.3.3.3查看余额 四.详细设计 4.1每个算法的说明 void insert() //开户void insert_account( char *name, char *password ) //根据姓名和密码插入账户 void display() //显示所有帐户的信息 int del() //销户 void del_account( int id ) //根据ID删除账户 paccount login() //登录 paccount find_account_by_id( int id ) //根据ID查找账户 void cunkuan( paccount node ) //存款 void qukuan( paccount node ) //取款 void chakan( paccount node ) //查看余额 4.3各个子算法的源程序 4.3.1插入账户算法 void insert() //开户 { char *name; name=(char *)malloc(sizeof(char)*20); printf(请输入您的开户姓名:); scanf(%s,name); char *password; password=(char *)malloc(sizeof(char)*20); printf(请输入您的账户密码:); scanf(%s,password); insert_account(name,password);//根据姓名和密码创建账户 } insert_account(name,password),定义如下 void insert_account( char *name, char *password ) //根据姓名和密码插入账户 { //int key=simple_hash(name); //int value=key%M; total_id++; int value=total_id%M; paccount new_account;//新建一个节点,把当前信息保存 new_account=(paccount)malloc(sizeof(struct account_struct)); paccount current_account=(paccoun

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档