利用栈求表达式课程设计报告Word格式.docx

上传人:b****6 文档编号:21255893 上传时间:2023-01-28 格式:DOCX 页数:9 大小:145.74KB
下载 相关 举报
利用栈求表达式课程设计报告Word格式.docx_第1页
第1页 / 共9页
利用栈求表达式课程设计报告Word格式.docx_第2页
第2页 / 共9页
利用栈求表达式课程设计报告Word格式.docx_第3页
第3页 / 共9页
利用栈求表达式课程设计报告Word格式.docx_第4页
第4页 / 共9页
利用栈求表达式课程设计报告Word格式.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

利用栈求表达式课程设计报告Word格式.docx

《利用栈求表达式课程设计报告Word格式.docx》由会员分享,可在线阅读,更多相关《利用栈求表达式课程设计报告Word格式.docx(9页珍藏版)》请在冰豆网上搜索。

利用栈求表达式课程设计报告Word格式.docx

计科0902

指导老师:

章老师

分数:

利用栈求表达式值

一:

设计目的

利用栈求表达式的值,可供小学生使用,并能给出分数,并且可以给出评价。

二:

设计要求

建立试题库文件,随机产生n个题目;

题目涉及加减乘除,带括号的混合运算;

随时可以退出;

保留历史分数能回顾历史,给出与历史的分数的比较后的评价。

三:

设计思想

首先建立三个文件,分别为shitiku.txt,markrec.txt,n_rec.txt。

其中shitiku.txt中存放试题;

markrec.txt存放历史分数;

n_rec.txt存放总共测试次数。

1.创建试题库模块:

首先在主函数中调用创建试题库函数,将试题存入到试题库文件shitiku.txt中,然后将该调用从主函数中删除。

创建试题库函数:

创建指向xuanti类型的指针,利用循环将输入的测试题该指针的xuanti单元中,最后将该指针中的测试题写入试题库文件shitiku.txt中。

2.试题测试模块:

试题计算:

建立两个栈,分别存放数字、运算符,建立一个二维数组,存放任意两个运算符之间的优先级关系,通过比较符号栈中后两个运算符的优先级关系,决定数字栈中后两个数据是直接入栈还是运算之后入栈,最后在数字栈中得到最后的运算结果。

通过比较用户输入的结果与程序计算的结果来决定测试者的分数mark是否加分,测试完成时,将分数mark写入记录分数文件markrec.txt中,并将总共的测试次数记录如n_rec.txt中。

3.查看历史分数模块:

通过查看n_rec.txt中总共的测试次数n,得到markrec.txt中n个历史分数,将结果显示个用户。

4.随时退出模块:

测试完或将查看历史分数后,按任意键将返回到菜单,菜单中输入0即可退出。

四.详细设计

1.定义数字结构体和运算符结构体,实现栈操作

typedefstructSqStack1

{//建立数字栈

int*base;

int*top;

intstacksize;

}SqStack1;

typedefstructSqStack2

{//建立运算符栈

char*base;

char*top;

}SqStack2;

2.建立试题的存放结构体

typedefstructshiti

{//定义表达式

chara[20];

/*存放表达式*/

longresult;

/*存放用户输入的答案*/

}xuanti;

3.主菜单main()函数

voidmain()

{

intm=0;

int*RN;

RN=(int*)malloc(1*sizeof(int));

RN[0]=0;

system("

cls"

);

LookN(RN,1);

RN[0]+=m;

fflush(stdin);

while

(1){

page_title();

//输出菜单

m=0;

switch(getch())

{

case'

1'

:

m=excersice_begin();

//开始测试

break;

2'

Look_Mark(RN[0]);

//查看历史分数记录

case'

3'

Built_shitiKu();

//增加试题

break;

0'

RecN(RN,1);

exit(0);

}//退出

}

pause"

}

 

五功能的实现

程序运行的主结构图

1.开始测试

2.查询历史成绩

3.增加试题

3.程序运行的结构图

通过比较栈顶符号与数组a[]存放的字符,在table[]二维数组中,查询其运算符的优先级,分别进行运算符的出栈,进栈以及数字进栈,进行算法的实现。

六测试结果

1.开始菜单

2.开始测试(输入-1直接退出并保存分数)

3.查看历史分数记录

4.增加试题到试题库

七结束术语

VC++运行软件上,通过利用栈求表达式的值,进行输入表达式并给出答案,保存分数进行评价,存储,增加试题到试题库中,显示历史分数,建立文件,实现程序的各项功能,对栈的应用有了进一步的了解,同时,对数据结构及其算法栈也有一定体会,对C++有了近一步的了解。

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

当前位置:首页 > PPT模板 > 简洁抽象

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

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