利用栈求表达式的值,可供小学生作业,并能给出分数 数据结构课程设计说明书格式.doc

利用栈求表达式的值,可供小学生作业,并能给出分数 数据结构课程设计说明书格式.doc

ID:56753249

大小:178.00 KB

页数:22页

时间:2020-07-07

利用栈求表达式的值,可供小学生作业,并能给出分数 数据结构课程设计说明书格式.doc_第1页
利用栈求表达式的值,可供小学生作业,并能给出分数 数据结构课程设计说明书格式.doc_第2页
利用栈求表达式的值,可供小学生作业,并能给出分数 数据结构课程设计说明书格式.doc_第3页
利用栈求表达式的值,可供小学生作业,并能给出分数 数据结构课程设计说明书格式.doc_第4页
利用栈求表达式的值,可供小学生作业,并能给出分数 数据结构课程设计说明书格式.doc_第5页
资源描述:

《利用栈求表达式的值,可供小学生作业,并能给出分数 数据结构课程设计说明书格式.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、中北大学数据结构课程设计说明书   学生姓名:刘敏杰学号:1021011545 学院:软件学院专业:软件开发与测试题目:利用栈求表达式的值,可供小学生作业,并能给出分数指导教师何志英    2011年12月20日1.设计任务概述(包括系统总体框图及功能描述)此课题是研究表达式求值的问题,以帮助小学生完成测试。为了达到这个功能,实际我们要做的就是出题,和计算分数给出评价的工作。整体设计都是以这个要求为轴心进行的。为了直观和方便,现画出软件整体设计模块图。利用栈求表达式的值创建试题库试题测试查看历史分数随时退出整体设计模块图可以清晰的看出软件的几大模块。整个系统的操作流

2、程图可以看出操作的整体流程,如下图开始结束菜单选择试题测试查看历史分数输入1输入2输入02.本设计所采用的数据结构(如:链表、栈、树、图等)根据以上功能说明,设计运算信息,堆栈的存储结构,设计程序完成功能;3.功能模块详细设计在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义)。3.1详细设计思想学生要进行测试,首先要有试题。那么我们就要先建立试题库。这个试题库的试题是我们在程序运行过程中手动输入,存放在一个shujuku.txt的文件中。首先在主函数中调用创建试题库函数,将试题存入到试

3、题库文件shitiku.txt中,然后将该调用从主函数中删除。创建试题库函数:创建指向xuanti类型的指针,利用循环将输入的测试题该指针的xuanti单元中,最后将该指针中的测试题写入试题库文件shitiku.txt中。3.2核心代码(正文宋体小四号字,1.5倍行距)#include#include#include#include#include#defineSTACK_INIT_SIZE100#defineSTACKINCREMENT10#defineERROR0#def

4、ineOK1//定义表达式typedefstructshiti{chara[20];longresult;}xuanti;typedefstructSqStack1{//建立数字栈int*base;int*top;intstacksize;}SqStack1;typedefstructSqStack2{//建立运算符栈char*base;char*top;intstacksize;}SqStack2;voidWriteToFile(xuanti*pstu,intnum);voidReadFromFile(xuanti*pstu,intnum);voidpage_ti

5、tle(char*menu_item){//建立菜单printf(">>>数学习题库<<<-%s-",menu_item);}voidreturn_confirm(){printf("按任意键返回……");getch();}voidIntInitStack(SqStack1*S1){S1->base=(int*)malloc(STACK_INIT_SIZE*sizeof(int));if(!S1->base)exit(ERROR);S1->top=S1->base;S1->stacksize=STACK_INIT_SIZE;}//IntIni

6、tStackvoidCharInitStack(SqStack2*S2){S2->base=(char*)malloc(STACK_INIT_SIZE*sizeof(char));if(!S2->base)exit(ERROR);S2->top=S2->base;S2->stacksize=STACK_INIT_SIZE;}//CharInitStacklongIntGetTop(SqStack1*S1){//取栈顶元素longe1;if((*S1).top==(*S1).base)return0;e1=*((*S1).top-1);returne1;}//IntG

7、etTopcharCharGetTop(SqStack2*S2){//取栈顶元素chare2;if((*S2).top==(*S2).base)return0;e2=*((*S2).top-1);returne2;}//IntGetTopintIntPush(SqStack1*S1,inte1){//入栈*(*S1).top++=e1;returnOK;}//IntPushintCharPush(SqStack2*S2,chare2){//入栈*(*S2).top++=e2;returnOK;}//CharPushintIntPop(SqStack1*S1){/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。