数据结构课程设计实验报告空白模板Word格式文档下载.docx

上传人:b****8 文档编号:22828042 上传时间:2023-02-05 格式:DOCX 页数:17 大小:402.11KB
下载 相关 举报
数据结构课程设计实验报告空白模板Word格式文档下载.docx_第1页
第1页 / 共17页
数据结构课程设计实验报告空白模板Word格式文档下载.docx_第2页
第2页 / 共17页
数据结构课程设计实验报告空白模板Word格式文档下载.docx_第3页
第3页 / 共17页
数据结构课程设计实验报告空白模板Word格式文档下载.docx_第4页
第4页 / 共17页
数据结构课程设计实验报告空白模板Word格式文档下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

数据结构课程设计实验报告空白模板Word格式文档下载.docx

《数据结构课程设计实验报告空白模板Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计实验报告空白模板Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。

数据结构课程设计实验报告空白模板Word格式文档下载.docx

杨南如(儒)测试员:

肖杰文档员:

李伟

软件环境:

MicrosoftVisualC++6.0

1、实验任务与目的(简单介绍实验内容,说明实验任务和目的)

实现活期储蓄账目管理系统,实现储户开户、销户、存入、支出等活动:

(1)采用交互式方式工作;

(2)可实现迅速插入和删除,以实现储户开户和销户的需要;

(3)可实现迅速查找到储户的帐户,以实现存款、取款记账、查询账户余额、账户交易记录;

(4)排序显示所有账户信息;

(5)程序运行时从input.txt文件中读入所以账户信息,发生交易后更新账户信息文件,同时将交易信息存储至文件output.txt。

——————————————————————————————————————

2、实验思路(详细描述解决问题的整体思路、涉及的算法思想及数据结构等)

(1)选择并构造数据结构;

(2)使用与特定数据结构相应的算法来实现具体功能;

(3)对文件读写结构化数据;

(4)对程序设计语言的灵活运用。

二、实验结果与分析

1、程序结构(程序结构图,主要函数的功能描述,算法实现的细节等)

一、添加用户信息

voidadd()//添加用户资料

{

out<

<

"

***添加用户***"

endl;

---------------------------------------------"

structusergetuser();

intcount();

//函数目的:

计算文件中的记录数目以生成自动账号

voidshow();

FILE*fp;

intnumber;

structusertemp;

if((fp=fopen(file,"

ab"

))==NULL)

{

out<

cannotopenfile!

printf("

\n"

);

exit

(1);

}

temp=getuser();

//读取用户名

number=count();

temp.id=number+1;

//生成自动账号

fwrite(&

temp,sizeof(structuser),1,fp);

添加用户成功!

你的账号为:

;

show();

fclose(fp);

}

二、按照姓名查询账户余额

voidselect_name()//按照姓名查询账户余额

voidgetname(char*name);

***按照姓名查询账户余额***"

账号"

"

用户姓名"

    "

身份证号码"

存款余额"

FILE*fp;

charname[20];

rb"

printf("

输入要查询的姓名:

//调用读取用户名函数

getname(name);

while(fread(&

temp,sizeof(structuser),1,fp))

//循环读取每一条记录判断是否为要查看的记录

if(strcmp(temp.name,name)==0)

{

out<

temp.id<

temp.name<

temp.person_num<

temp.money<

}

三、按照账号查询账户余额

voidselect_id()//按照账号查询账户余额

***按照编号查询账户余额***"

编号"

inti,maxnum;

maxnum=count();

in>

>

i;

if(i<

1||i>

maxnum)

你要查询的账号不存在!

return;

while(fread(&

temp,sizeof(structuser),1,fp))

if(temp.id==i)

四、显示用户资料

voiddisplay()//显示用户资料

***用户资料显示***"

五、函数功能:

按账号存款

voidsave_money()//函数功能:

***用户存款业务***"

inti,num,mark;

structuser*temp;

num=count();

//根据记录数申请空间

temp=(structuser*)malloc(num*sizeof(structuser));

for(i=0;

i<

num;

i++)//将文件内容存入数组

fread(&

temp[i],sizeof(structuser),1,fp);

mark;

if(mark<

1||mark>

num)

你要存款账号不存在!

wb"

))==NULL)//写方式打开文件,覆盖原文件中的内容

i++)

if(temp[i].id==mark)

doublemoney=0;

in>

money;

if(money<

=0)

{

out<

只能为正数!

money=0;

}

temp[i].money+=money;

//修改该用户的信息

fwrite(&

free(temp);

你存款业务已办妥!

六、销户

voiddel()//销户

***注销账户***"

"

temp,sizeof(structuser),1,fp))//循环读取每一条记录判断是否为要查看的记录

if(temp.id==i&

&

temp.money==0.00)//余额为0

{temp.id=-1;

//算无效帐户

printf("

NO.%d%15s%15s%.2f\n"

temp.id,temp.name,temp.person_num,temp.money);

//保存修改

程序主要代码说明如上所示。

:

2测试设计与数据(设计充足合理的测试用例,说明测试策略)

A

一、(正常数据处理情况)办理开户业务:

选择“1”分别输入用户姓名、用户身份证号、用户储存金额。

二、选择以姓名的方式查看账户信息:

输入“2”和“杨南儒”:

三、选择以账号随机序号的方式查看账户信息:

输入“3”和“2”:

四、选择显示用户信息,输入“4”

五、选择存款,输入“5”“1”(一号账户)“200”(存入金额):

对已经办好存款业务的账户进行查询,结果显示已经存入200元:

六、选择取款业务输入“6”“1”“600”(表示选择取款业务,并且取款的对象为1号账户,取出600元):

B、当开户的时候存款少于100的情况:

一、开户:

二、出现错误提示:

C、账户号由1开始自加,如现在进行第四次开户:

提示账号为4:

,如下图所示

对账户输入的证件号无限制:

显示所有账户信息:

(如下图所示)

3、实验分析与探讨(对测试现象和观察结果进行分析,探讨算法,提出见解)

4、实验结论(算法设计是否得到实现,测试结果表明程序是否成功解决问题等)

6、实验总结(成败得失,实验关键,算法改进,程序改善,自我评价)

指导老师评语:

得分:

签名:

年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 文化宗教

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1