为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

活期储蓄账目管理报告

2017-10-26 24页 doc 140KB 17阅读

用户头像

is_337177

暂无简介

举报
活期储蓄账目管理报告活期储蓄账目管理报告 课程设计(论文) 题 目: 活期账目储蓄管理 院 (系): 信息与控制工程学院 专业班级: 姓 名: 学 号: 指导教师: 2013年 9 月 25日 任务书 专业班级: 计算机1101 学生姓名: 张鸿娜 指导教师(签名): 一、课程设计(论文)题目 活期储蓄帐目管理 说明:实现储户开户、销户、存入、支出等活动。 二、本次课程设计(论文)应达到的目的 数据结构是实践性很强的课程。课程设计是加强学生实践能力的一个强有力手‎‎段。课程设计要求学生在完成程序设计的同时能够写出比较规范的设计...
活期储蓄账目管理报告
活期储蓄账目管理报告 课程设计(论文) 题 目: 活期账目储蓄管理 院 (系): 信息与控制工程学院 专业班级: 姓 名: 学 号: 指导教师: 2013年 9 月 25日 任务 专业班级: 计算机1101 学生姓名: 张鸿娜 指导教师(签名): 一、课程设计(论文)题目 活期储蓄帐目管理 说明:实现储户开户、销户、存入、支出等活动。 二、本次课程设计(论文)应达到的目的 数据结构是实践性很强的课程。课程设计是加强学生实践能力的一个强有力手‎‎段。课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。 本题目要达到目的:熟练掌握线性的基本操作在两种存储结构上‎‎的实现。 三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术、设计要求等) 输入数据:储户姓名、身份证号、联系方式(电话、住址); 储户账号、存款金额; ? 查找储户的帐户; ? 根据储户的存取款金额实现存款、取款记账; ? 根据储户信息及账号实现插入和删除; ? 输出储户信息; ? 汇总活期储蓄存款总额并输出。 四、应收集的资料及主要参考文献: 由于本课程没有安排“课内上机”学时,因此,在课程设计之前必须自己已经上机练习了“线性表”的基本操作。 参考文献: 1. Robert L. Kruse,Data Structures And Program Design in C++,高等教育出版社,2001.5. 2. 严蔚敏等编著,数据结构(C语言版),清华大学出版社,1997.4; 3. 赵文静等编著,数据结构与算法,科学出版社,2005.08; 五、审核批准意见 教研室主任(签字) 设计总说明 活期账户储蓄主要实现的功能有:开户、销户、查找、交易(包括存取、查询余额功能)、查询账户,另外还增加了显示交易记录的功能。功能有C语言实现,由链表实现账户的增、删、查。void InsertList()函数实现开户功能,void DeleteList()函数实现销户功能,void PrintList()函数实现查询账户的功能,void Deposit()函数实现存取款、查询余额的功能,void Search()函数实现查找的功能,void save()函数是将开户所有信息存入文本文件中,void Print()打开文本中的文件并显示,void chakan()函数用于查看交易记录、void menu()函数用于显示菜单、void choice()函数用于实现菜单中的功能。 链表 增、删、查 关键字:数据结构 0 西安建筑科技大学课程设计(论文) 目录 1.设计目的………………………………………………………………1 2.问题描述………………………………………………………………2 3.需求分析………………………………………………………………3 3.1数据需求 ………………………………………………………3 3.2基本功能需求 …………………………………………………3 3.3非功能性需求 ……………………………………………………3 4.概要设计………………………………………………………………4 4.1数据结构…………………………………………………………4 4.2系统包含的函 数…………………………………………………4 4.3函数间的关系……………………………………………………4 4.4系统功能模块 图…………………………………………………5 5.详细设计………………………………………………………………6 5.1结构体的详细定 义………………………………………………6 5.2系统函数详细介 绍………………………………………………7 5.3系统功能模块介 2 西安建筑科技大学课程设计(论文) 绍………………………………………………17 5.4具体模块设计……………………………………………………17 5.4.1开户功能 …………………………………………………17 5.4.2销户功能 …………………………………………………18 5.4.3查询功能 …………………………………………………19 6.调试分析………………………………………………………………20 7.使用说明………………………………………………………………21 8.设计总结………………………………………………………………24 9.参考文献…………………………………………………………………25 2 西安建筑科技大学课程设计(论文) 《数据结构》课程设计 活期储蓄账目管理 1.设计目的 “数据结构”是计算机科学与技术专业一门十分重要的专业技术基础课,计算机科学各领域及有关的应用软件都要使用到各种数据结构。对于从事计算机科学及其应用的科技工作者来说,数据结构与算法是必须透彻地掌握的重要基础。 学习数据结构与算法的最终目的是解决实际的应用问题,特别是非数值计算类型的应用问题。课程设计是加强学生实践能力的一个强有力手段。课程设计所安排的题目,在难度和深度方面都大于平时的上机训练,要求同学在完成设计和编写中小型软件的过程中,深化对数据结构与算法课程中基本概念、理论和方法的理解;训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念;使同学的程序设计与调试水平有一个明显的提高。 课程设计要求学生在完成程序设计的同时能够撰写比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。 第0页 共25页 西安建筑科技大学课程设计(论文) 2.问题描述 ? 查找储户的帐户; ? 根据储户的存取款金额实现存款、取款记账; ? 根据储户信息及账号实现插入和删除; ? 输出储户信息; ? 汇总活期储蓄存款总额并输出。 第1页 共25页 西安建筑科技大学课程设计(论文) 3.需求分析 3.1 数据需求 1.需先进行开户才可进行之后的所有的操作。 2.开户时需要的数据有姓名、身份账号、联系电话、联系地址、密码,账号会自动生成。 3.销户时,需用输入账号与密码方可销户;存取款时,也需登录方可进行交易。 3.2 基本功能需求 基本的功能有开户、销户、存取款、查询账户资料、查询交易记录。 3.3 非功能性需求 用户界面需求:简洁、易用、易懂、友好的用户界面。 硬件要求:装有Visual C++6.0的计算机。 可靠性需求:保证用户在正常使用本系统时,用户的操作或误操作不会产生数据的丢失。 第2页 共25页 西安建筑科技大学课程设计(论文) 4.概要设计 4.1 数据结构 链表实现账户的增、删、查。 4.2 系统包含的函数 void InsertList()函数实现开户功能 void DeleteList()函数实现销户功能 void PrintList()函数实现查询账户的功能 void Deposit()函数实现存取款、查询余额的功能 void Search()函数实现查找的功能 void save()函数是将开户所有信息存入文本文件中 void Print()打开文本中的文件并显示 void chakan()函数用于查看交易记录 void menu()函数用于显示菜单 void choice()函数用于实现菜单中的功 4.3 函数间的关系 只有实现void InsertList()函数才能实现void DeleteList()函 数、void PrintList()函数、void Deposit()函数、void Search()函数、void chakan()函数的功能。void InsertList()函数实现开户的功能, 第3页 共25页 西安建筑科技大学课程设计(论文) 开户包括储户姓名、身份证号、联系方式(电话、住址)、储户账号、存款金额,开户后将这些信息用void save()函数保存在文本文件中,可由void PrintList()函数显示出文本文件中的信息。开户成功后,通过void Search()函数用账号密码查询账户,查询成功后通过void Deposit()函数用账号与密码登录实现存取款及余额查询;通过void DeleteList()函数用账号密码进行销户。void menu()函数用于显示菜单,void choice()函数通过调用这些函数,实现程序的功能。 4.4 系统功能模块图 活期储蓄账目管理 选择功能 显示菜单 6.查看 7.退出账 1.储户5.查看所 2.储户3.储户4.返回 目管理。 开户 交易信销户 有储蓄账的账号菜单。 息。 户信息。 存款取 款。 图4—4系统功能模块图 第4页 共25页 西安建筑科技大学课程设计(论文) 5.详细设计 5.1 结构体的详细定义 这里定义了一个ElemType;结构体,将开户所需所有信息放在结构体中。 typedef struct ElemType { char name[8]; //用户名 int account; //账号 char password[6]; //密码 float money; //存款 char address[20]; //联系地址 char telephone[11]; //联系电话 char idCard[17]; //身份证号 }ElemType; typedef struct lnode //定义一个结构体 { ElemType data; struct lnode *next; }LINK; void InitList(LINK *&L) { L=(LINK *)malloc (sizeof(LINK)); 第5页 共25页 西安建筑科技大学课程设计(论文) L->next=NULL; } 5.2 系统函数详细介绍 用链表实现开户功能。在链表中插入一个,临时节点指针s指向链表的第一个节点,如果链表的下一个元素为空,则将链表的下一个元素(L->next)赋给s,否则将 s->next赋给L->next。void InsertList(LINK *&L) //开户 { LINK *s; //插入一个临时节点 s=(LINK*)malloc(sizeof(LINK)); printf("请输入你要开户的姓名:"); scanf("%s",s->data.name); printf("请输入你的身份证号:"); scanf("%s",s->data.idCard); printf("请输入你的地址:"); scanf("%s",s->data.address); printf("请输入你的联系电话:"); scanf("%s",s->data.telephone); s->data.account=10001000+total++; printf("\n你开户的账号为:%d\n",s->data.account); printf("请输入你账号的密码:"); scanf("%s",s->data.password); s->data.money=0.00; s->next=NULL; if(L->next==NULL) 第6页 共25页 西安建筑科技大学课程设计(论文) L->next=s; else { s->next=L->next; L->next=s; } printf("开户成功。\n"); } 用链表实现账户的销户功能 Void DeleteList(LINK*&L) //销户 { LINK *p=L,*q; char pass[6]; int s; printf("请输入你要注销的账号:"); scanf("%d",&s); printf("请输入该账号的密码:"); scanf("%s",pass); while(p->next!=NULL) { if(p->next->data.account==s) break; p=p->next; 第7页 共25页 西安建筑科技大学课程设计(论文) } if(p->next!=NULL) { while(strcmp(p->next->data.password,pass)!=0) { printf("密码错误!请重新输入:"); scanf("%s",pass); } q=p->next; p->next=q->next; free(q); printf("账号注销成功。\n"); } else printf("你所要销户的的账号不存在(或者已经销户)。\n"); 进行存取款及查询账户。 void Deposit(LINK *&L,LINK *p) //存款及查询 { int cq; float mn; while(1) if(p!=NULL) { printf("请选择存款(1)、取款(2)、查询余额(3)、退出账号(4)。 第8页 共25页 西安建筑科技大学课程设计(论文) \n(请输入括号内的数字,输入其它字符默认为取款):"); scanf("%d",&cq); if(cq==1) { ofstream ouf("jiaoyi.txt",ios::app); printf("请输入你的存款金额:"); scanf("%f",&mn); p->data.money=p->data.money+mn; printf("存款成功!\n"); ouf<data.name<data.account<data.money<data.address<data.telephone; ouf.close(); } //姓名 账户 目前存款金额 地址 交易记录 联系电话 else if(cq==3) { printf("你账户的余额为:%.2f\n",p->data.money); } else if(cq==4) { printf("账号退出成功。\n"); return; } else { 第9页 共25页 西安建筑科技大学课程设计(论文) printf("请输入你的取款金额:"); FH: scanf("%f",&mn); if((p->data.money-mn)>=0) { ofstream ouf("jiaoyi.txt",ios::app); p->data.money=p->data.money-mn; printf("取款成功!\n"); ouf<data.name<data.account<data.money<data.address<data.telephone; ouf.close(); } else { printf("取款失败!\n"); printf("你账户上的金额不足!你的账户余额为:%.2fRMB\n",p->data.money); printf("请输入合适的取款金额:"); goto FH; } } } } void Search(LINK *L) //查找账户 { LINK *p=L->next; 第10页 共25页 西安建筑科技大学课程设计(论文) int acc; char pass[6]; printf("请输入你要登录的账号:"); scanf("%d",&acc); printf("请输入你的密码:"); scanf("%s",pass); while(p!=NULL) { if(p->data.account==acc) break; p=p->next; } if(p==NULL) printf("不存在该账户\n"); else { if(strcmp(p->data.password,pass)==0) printf("账号登录成功。\n"); else { while(strcmp(p->data.password,pass)!=0) { char pa; printf("密码错误\n"); printf("是否重新输入(是,就输入任意键)、(否,从 第11页 共25页 西安建筑科技大学课程设计(论文) 键盘上输入N or n):"); scanf("\n%c",&pa); if(pa=='n'||pa=='N') {system ("cls");return;} printf("\n请重新输入你的密码:"); scanf("%s",pass); } } Deposit(L,p); } } } 文件的保存与打开: void save(LINK *L) //保存 { FILE *fp; fp=fopen("Account.txt","w"); LINK *p=L->next; while(p!=NULL) { if(fwrite(p,sizeof(struct lnode),1,fp)!=1) printf("file write error\n"); p=p->next; } fclose(fp); 第12页 共25页 西安建筑科技大学课程设计(论文) } void Print(LINK *&L) { FILE *fp; LINK *p,*s; if((fp=fopen("Account.txt","r"))==NULL) { printf("can not open.\n"); exit(0); } s=(LINK*)malloc(sizeof(LINK));s->next=NULL; for(;fread(s,sizeof(struct lnode),1,fp)!=0; ) { total++;//用于记录账号的,以致账号不重复 if(L->next==NULL) { L->next=s; p=s; p->next=s->next; } else { p->next=s; p=s; p->next=s->next; 第13页 共25页 西安建筑科技大学课程设计(论文) } s=(LINK*)malloc(sizeof(LINK));s->next=NULL; } fclose(fp); } 查看交易记录: void chakan(){ //此函数用于将交易记录保存在jiaoyi.txt char name[8]; //用户名 int account; //账号 float jilu; float money; //存款 char address[20]; //联系地址 char telephone[11]; //联系电话 ifstream inf("jiaoyi.txt",ios::in); if(inf==NULL) printf("暂时无交易记录"); else{ //姓名 账户 目前存款金额 地址 交易记录 联系电话 cout<<"用户名\t"<<"账户\t""\t"<<"账户余额\t"<<"地址\t"<<"交易记录\t"<<"联系电话\t"<>name>>account>>money>>address>>jilu>>telephone; cout<next; printf("用户名\t账号\t身份证\t电话\t地址\t密码\t存款金额\n"); while (p!=NULL) { printf("%s\t",p->data.name); printf("%d\t%s\t%s\t%s\t%s\t%.2f\n",p->data.account,p->data.idCard,p->data.telephone,p->data.address,p->data.password,p->data.money); p=p->next; } } 5.3 系统功能模块介绍 ? 查找储户的帐户; ? 根据储户的存取款金额实现存款、取款记账; 第15页 共25页 西安建筑科技大学课程设计(论文) ? 根据储户信息及账号实现删除; 5.4 具体模块设计 5.4.1开户功能 开始 插入临时 节点s 判断L->next是否为 空, 是 否 将s赋给LL->next赋 给 ->next s->next= 输入开户所需信息自动‎‎生成账 号,开户成功 结束 图5—4—1 开户功能 5.4.2销户功能 开始 第16页 共25页 输入账号与密码 西安建筑科技大学课程设计(论文) 图5—4—2 销户功能 5.4.3查询功能 第17页 共25页 西安建筑科技大学课程设计(论文) 开始 输入账号与密码 定义临时指针p 当p!=NULL时判 断输入账户是否存是 在, 否 判断密码输入是输出“不存在该账户” 否 否正确 是 输出“账号登录成功” 输出“密码错误” 结束 图5—4—3 查询功能 第18页 共25页 西安建筑科技大学课程设计(论文) 6.调试分析 本软件是基于Windows的编程开发,所以,软件调试必须在Windows环境下进行。调试前须做好准备工作: (1) 需要安装Visual C++6.0的计算机一台; 配置好之后,在Visual C++6.0环境下进行软件的调试。 (2) 测试数据: 先输入“1”进行开户操作,按照显示依次输入所需信息,系统会自动入“5”查看一下是否真的开户成功,确认后输入“3”进行存取款,登录账户,登录成功后出现“存款(1)、取款(2)、查询余额(3)、退出账号(4)”四个提示,按照提示进行操作,因为开户后账户余额为0元,故先存款,存款成功后还会出现以上提示,输入“2”取款,当存款余额小于取款金额的时候会出现 “取款失败 你账户上的金额不足!你的账户余额为:XXRMB 请输入合适的取款金额:”的提示。否则取款成功生成账号,用于之后的销户,存取款等功能的实现。开户成功后输入“4”返回主菜单,输。之后我们可以直接输入“6”查询交易记录。输入“2”可以进行销户操作,输入账号、密码即可销户成功,如果账号输入错误则出现“你所要销户的的账号不存在(或者已经销户)”的提示;如果密码输入错误则出现“密码错误!请重新输入”的提示。销户成功后可在输入“5”查看是否销户成功。 (3) 算法改进设想: 查询账户和交易记录时是输出全部用户信息,可改进为通过账号查询单个账户信息。 第19页 共25页 西安建筑科技大学课程设计(论文) 7.使用说明 程序运行后初始界面如下: 图7—1 系统主界面 进入开户界面输入开户所需信息后,显示开户成功: 输入“1” 图7—2 开户 第20页 共25页 西安建筑科技大学课程设计(论文) 开户成功后输入“3”进行存取款功能: 图7—3 存取款及查询余额 输入“5”查询账户信息及输入“6”查询交易记录: 图7—4 查询账户信息 图7—5 查询交易记录 第21页 共25页 西安建筑科技大学课程设计(论文) 输入“2”进行销户,并再次输入“5”、“6”查询账户信息级交易记录。 图7—6 销户 图7—7 销户后账户信息 图7—8 销户后交易记录 第22页 共25页 西安建筑科技大学课程设计(论文) 8.设计总结 回顾数据结构课程设计这些日子,至今我感慨颇多,的确,学到了很多东西包括以前在课本上没有学到的知识,还使我懂得了理论和时间结合是很重要的。 这次课程设计中遇到了一些问题与同学一起讨论解决,让我明白同学间合作的重要性。这个课程设计并不完美,还有很多要改善的地方,例如查询账户时不能通过账号来查询账户,而是直接显示所有用户信息,还有就是交易记录也是显示所有用户的交易信息,没有交易时间的显示。还有一些没想到的细节。虽然不是很完美,但发现不足之处并在以后的设计中注意这些细节,对于将来的实践还是很有帮助,我们可以不断发现我们的不完美,并想办法去改进这些不完美。 通过这次课程设计,让我进一步了解了C++程序设计方法,并且对这门课产生了浓厚的兴趣。更重要的是培养了自己耐心、细心、用心的良好品质。希望以后能有机会对这门课进行更深一步的了解,也很乐意通过自己的努力来提高自己在这个知识领域的水平。同时也非常感谢同学的帮助及老师的建议与指导。 第23页 共25页 西安建筑科技大学课程设计(论文) 9.参考文献 [1] Clifford,A.Shaffer编著,数决结构与算法分析(C++版),电 子工业出版社,2005.7 [2] 赵文静,祁飞等编著,数据结构与算法,科学出版社,2005.08 [3] 赵文静编著,数据结构-C++语言描述,西安交通大学出版社, 1999.01 [4]Robert L.Kruse,Alexander J.Ryba编著,数据结构与程序 设计——C++语言描述(影印版),高等教育出版社, 2005.7 第24页 共25页
/
本文档为【活期储蓄账目管理报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索