- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 牛顿定律复习练习题.doc
- 钰、琪寒假学习生字安排.doc
- 购物中心主体钢筋工程技术交底(详图丰富).doc
- 世界地理复习5撒哈拉以南的非洲.ppt
- 24.5画相似图形 学案.doc
- 月考英语试题答案.doc
- 初二年级寒假数学辅导讲义五(5课时).doc
- 第6周周计划.doc
- 倒计时器 1.doc
- 中国企业,全球梦想.pdf
- 大学生职业规划大赛《新闻学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《应用统计学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《中医学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《信息管理与信息系统专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《汽车服务工程专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《水产养殖学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《市场营销专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐表演专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐学专业》生涯发展展示PPT.pptx
文档评论(0)