利用栈求表达式的值-可供小学生作业-并能给出分数-数据结构课程设计说明书格式.doc 立即下载
2024-12-12
约8.6千字
约22页
0
198KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

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

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

预览

免费试读已结束,剩余 17 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开





中北大学
数据结构
课程设计说明书



学生姓名:刘敏杰学号:1021011545学院:软件学院专业:软件开发与测试题目:利用栈求表达式的值,可供小学生作业,并能给出分数指导教师何志英






2011年12月20日


设计任务概述(包括系统总体框图及功能描述)
此课题是研究表达式求值的问题,以帮助小学生完成测试。为了达到这个功能,实际我们要做的就是出题,和计算分数给出评价的工作。整体设计都是以这个要求为轴心进行的。为了直观和方便,现画出软件整体设计模块图。
利用栈求表达式的值
创建试题库
试题测试
查看历史分数
随时退出








整体设计模块图可以清晰的看出软件的几大模块。整个系统的操作流程图可以看出操作的整体流程,如下图
开始
结束
菜单选择
试题测试
查看历史分数
输入1
输入2
输入0










2.本设计所采用的数据结构(如:链表、栈、树、图等)
根据以上功能说明,设计运算信息,堆栈的存储结构,设计程序
完成功能;
3.功能模块详细设计
在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义)。

3.1详细设计思想
学生要进行测试,首先要有试题。那么我们就要先建立试题库。这个试题库的试题是我们在程序运行过程中手动输入,存放在一个shujuku.txt的文件中。
首先在主函数中调用创建试题库函数,将试题存入到试题库文件shitiku.txt中,然后将该调用从主函数中删除。
创建试题库函数:创建指向xuanti类型的指针,利用循环将输入的测试题该指针的xuanti单元中,最后将该指针中的测试题写入试题库文件shitiku.txt中。
	
3.2核心代码
(正文宋体小四号字,1.5倍行距)
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<string.h>
#include<conio.h>
#defineSTACK_INIT_SIZE100
#defineSTACKINCREMENT10
#defineERROR0
#defineOK1
//定义表达式
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_title(char*menu_item)
{//建立菜单
printf(">>>数学习题库<<<\n\n-%s-\n\n",menu_item);
}
voidreturn_confirm()
{
printf("\n按任意键返回……\n");
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;
}//IntInitStack

voidCharInitStack(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;
}//CharInitStack

longIntGetTop(SqStack1*S1)
{//取栈顶元素
longe1;
if((*S1).top==(*S1).base)
return0;
e1=*((*S1).top-1);
returne1;
}//IntGetTop

charCharGetTop(SqStack2*S2)
{//取栈顶元素
chare2;
if((*S2).top==(*S2).base)return0;
e2=*((*S2).top-1);
returne2;
}//IntGetTop

intIntPush(SqStack1*S1,inte1)
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

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

文档大小:198KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用