数据结构课程设计实验报告(空白模板).doc_第1页
数据结构课程设计实验报告(空白模板).doc_第2页
数据结构课程设计实验报告(空白模板).doc_第3页
数据结构课程设计实验报告(空白模板).doc_第4页
数据结构课程设计实验报告(空白模板).doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科学生设计性实验报告数据结构课程设计项目组长 杨南如(儒) 学号 0104062 专 业 软件工程 班级10软件5班 成 员 肖杰 学号:0104061 李伟 学号:0104058 实验项目名称活期储蓄帐目管理系统 指导教师及职称 蒋娜讲师 开课学期 2011 至 2012 学年 第二 学期一、 实验设计方案实验名称:活期储蓄帐目管理系统实验时间:2012/3/13实验场地:W101成员角色:程序员:杨南如(儒) 测试员:肖杰 文档员:李伟软件环境:Microsoft Visual C+ 6.01、 实验任务与目的(简单介绍实验内容,说明实验任务和目的)实现活期储蓄账目管理系统,实现储户开户、销户、存入、支出等活动: (1)采用交互式方式工作;(2)可实现迅速插入和删除,以实现储户开户和销户的需要;(3)可实现迅速查找到储户的帐户,以实现存款、取款记账、查询账户余额、账户交易记录;(4)排序显示所有账户信息;(5)程序运行时从input.txt文件中读入所以账户信息,发生交易后更新账户信息文件,同时将交易信息存储至文件output.txt。 2、 实验思路(详细描述解决问题的整体思路、涉及的算法思想及数据结构等)(1)选择并构造数据结构;(2)使用与特定数据结构相应的算法来实现具体功能;(3)对文件读写结构化数据;(4)对程序设计语言的灵活运用。 二、实验结果与分析1、程序结构(程序结构图,主要函数的功能描述,算法实现的细节等)一、添加用户信息void add() /添加用户资料 out*添加用户*endl;out-endl;struct user getuser();int count(); /函数目的:计算文件中的记录数目 以生成自动账号 void show();FILE *fp;int number;struct user temp;if(fp=fopen(file,ab)=NULL)outcannot open file!endl;printf(cannot open file!n);exit(1);temp=getuser(); /读取用户名number=count(); temp.id=number+1; /生成自动账号 fwrite(&temp,sizeof(struct user),1,fp);out添加用户成功!endl;out你的账号为:; show();fclose(fp);二、按照姓名查询账户余额void select_name()/按照姓名查询账户余额void getname(char *name);out*按照姓名查询账户余额*endl;out账号 用户姓名身份证号码 存款余额endl;out-endl;FILE * fp;struct user temp;char name20;if(fp=fopen(file,rb)=NULL)outcannot open file!endl;printf(cannot open file!n);exit(1);printf(输入要查询的姓名:); /调用读取用户名函数getname(name);while(fread(&temp,sizeof(struct user),1,fp) /循环读取每一条记录 判断是否为要查看的记录if(strcmp(,name)=0)outtemp.id temp.person_num temp.moneyendl;fclose(fp);三、按照账号查询账户余额void select_id() /按照账号查询账户余额int count();out*按照编号查询账户余额*endl;out编号 用户姓名 身份证号码 存款余额endl;out-i;if(imaxnum)out你要查询的账号不存在!;return;while(fread(&temp,sizeof(struct user),1,fp)/循环读取每一条记录 判断是否为要查看的记录if(temp.id=i)outtemp.id temp.person_num temp.moneyendl;fclose(fp);四、显示用户资料void display() /显示用户资料out*用户资料显示*endl; out账号 用户姓名 身份证号码 存款余额endl;out-endl;FILE * fp;struct user temp;if(fp=fopen(file,rb)=NULL)outcannot open file!endl;printf(cannot open file!n);exit(1);while(fread(&temp,sizeof(struct user),1,fp)outtemp.id temp.person_num temp.moneyendl;fclose(fp);五、函数功能:按账号存款void save_money() /函数功能:按账号存款out*用户存款业务*endl;out-endl;int count();FILE *fp;int i,num,mark;struct user *temp;num=count(); /根据记录数申请空间temp=(struct user *)malloc(num*sizeof(struct user);if(fp=fopen(file,rb)=NULL)outcannot open file!endl;printf(cannot open file!n);exit(1);for(i=0;imark;if(marknum)out你要存款账号不存在!endl;return;if(fp=fopen(file,wb)=NULL) /写方式打开文件,覆盖原文件中的内容outcannot open file!endl;printf(cannot open file!n);exit(1);for(i=0;imoney;if(money=0)out只能为正数!endl;money=0;tempi.money +=money; /修改该用户的信息fwrite(&tempi,sizeof(struct user),1,fp);fclose(fp);free(temp); out你存款业务已办妥!endl;六、销户void del() /销户 int count();out*注销账户*endl;out账号 用户姓名 身份证号码 存款余额endl;out-i;if(imaxnum)out你要查询的账号不存在!endl;return;while(fread(&temp,sizeof(struct user),1,fp)/循环读取每一条记录 判断是否为要查看的记录if(temp.id=i&temp.money=0.00)/余额为0temp.id=-1;/算无效帐户printf(NO.%d %15s %15s %.2fn,temp.id,,temp.person_num,temp.money); fwrite(&temp,sizeof(struct user),1,fp);/保存修改 fclose(fp);程序主要代码说明如上所示。:2测试设计与数据(设计充足合理的测试用例,说明测试策略)A一、(正常数据处理情况)办理开户业务:选择“1”分别输入用户姓名、用户身份证号、用户储存金额。二、选择以姓名的方式查看账户信息:输入“2”和“杨南儒”:三、选择以账号随机序号的方式查看账户信息:输入“3”和“2”:四、选择显示用户信息,输入“4”五、选择存款,输入“5”“1”(一号账户)“200”(存入金额):对已经办好存款业务的账户进行查询,结果显示已经存入200元:六、选择取款业务输入“6”“1”“600”(表示选择取款业务,并且取款的对象为1号账户,取出600元):B、当开户的时候存款少于100的情况:一、开户:二、 出现错误提示:C、账户号由1开始自加,如现在进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论