. . . .

PAGE 5

.下载可编辑.

. . . .

.下载可编辑.

程序实习报告书

起止日期: 2014 年 6月 23 日 至 2014 年 7月 4日

学 号:

班 级:

姓 名:

指导教师:

通信与电子工程学院

2014年 7月 4日

.下载可编辑.

.下载可编辑.

目 录

1. 需求分析……………………………………………2

1.1 程序的功能…………………………………………2

1.2 输入输出的要求……………………………………2

1.3 测试数据……………………………………………2

2. 概要设计……………………………………………3

3. 详细设计……………………………………………4

3.1 模块功能说明………………………………………4

4. 调试分析……………………………………………6

5. 核心源程序清单和执行结果………………………6

1.需求分析

1.1 程序的功能

本程序是一个计算器小程序,利用算符优先关系,实现对算术四则混合运算表达式的求值并输出结果。

1.2 输入输出的要求

输入的形式:算术表达式,以井号“#”结束。例如2*(3+4)#;

包含的运算符只能有'+' 、'-' 、'*' 、'/' 、'('、 ')';

输出的形式:运算结果,例如Answer is:14;

1.3 测试数据

第一组: 输入 3*(9-4)# 输出 Answer is:15

第二组: 输入140/(57+13)# 输出 Answer is:2

第三组: 输入 56*(12-10)# 输出 Answer is:112

概要设计

向SIGN中压入

向SIGN中压入“#”

用c=getchar()读字符

c!=’#’||SIGNgettop!=’#’

N

c是否为操作符

Y

N

将字符数转换成整形数

将c压入DATE

用c=getchar()读字符c

Y

结束运算

比较SIGNgettop和c的优先级

‘=’

‘>’

将c压入到SIGN栈

用c=getchar()读字符

弹出SIGNgettop和c

用c=getchar()读字符c

弹出DATE栈顶元素a

弹出栈顶元素吧b

弹出SIGN栈顶元素d

运算a d b

将a d b压入DATE栈

初始化DATE、SIGN栈

3.详细设计

主要部分详细流程:

(1)设置两个工作栈,分别存放操作数和运算结果

(2)判断字符的优先级

调试分析

错误提示1:

错误原因 :在中文输入法下输入的“;”,导致程序不能识别。

调试方法 :调到英文输入法下输入即可。

错误提示2:

错误原因: 在Init_OPND,Init_OPTR后边都忘加了“&”符号, 导致程序不识别。

调试方法:在 Init_OPND,Init_OPTR后边加上“&”即可。

核心源程序清单和执行结果

全部源代码如下:

#include

#include

#define MAX 100

typedef struct /*定义一个栈存放运算数*/

{

int a[MAX];

int top;

}OPND;

typedef struct /*定义一个栈存放运算符*/

{

char a[MAX];

int top;

}OPTR;

void Init_OPND(OPND *s) /*初始化运算数栈*/

{

s->top =0;

}

void Init_OPTR(OPTR *s) /*初始化运算符栈*/

{

s->top =0;

}

void Push_OPND(OPND *s,int x) /*压入一个运算数*/

{

s->top ++;

s->a [s->top ]=x;

}

void Push_OPTR(OPTR *s,char x) /*压入一个运算符*/

c语言计算器小程序,C语言计算器小程序(源代码+实习报告).doc相关推荐

  1. 大学生c语言程序设计具体干什么,大学生c语言程序设计实习报告.doc

    大学生c语言程序设计实习报告 实习是我们的必经之路,很多时候我们都不知道自己为什么要去实习,但就是遵从我们心里的想法-去实习.实习给予我们的不仅仅是专业上的技巧,还有社会的经验,也许这个对我们才是最重 ...

  2. c语言程序设计添加修改删除,C语言程序设计实习报告,DOC

    <C语言程序设计实习报告,DOC>由会员分享,可在线阅读,更多相关<C语言程序设计实习报告,DOC(15页珍藏版)>请在人人文库网上搜索. 1.手机通讯录管理系统一.设计题目的 ...

  3. c语言在测绘工程中的作用,测绘C程序设计实习报告

    <测绘C程序设计实习报告>由会员分享,可在线阅读,更多相关<测绘C程序设计实习报告(28页珍藏版)>请在人人文库网上搜索. 1.测绘工程(c版)实习报告学位:名字:班级:专业: ...

  4. c语言词法分析器实验原理,词法分析器的设计与实现 编译原理实验报告.doc

    词法分析器的设计与实现 编译原理实验报告 中北大学软件学院 实 验 报 告 专 业 软件工程 课程名称 编译原理 学 号 姓 名 辅导教师 张静 成绩 实验日期2015.5.19实验时间14:00~1 ...

  5. c语言认知报告,C语言认识实习报告.doc

    PAGE 中南大学 认识实习报告 题 目: 小型学生信息管理系统 学生姓名: 指导教师: 学 院: 信息科学与工程学院 专业班级: 完成时间: 2008年7月17日 目 录 1.系统功能介绍 3 2. ...

  6. 对c语言的认知报告怎么写,对C语言指针的认识的认知实习报告.doc

    对C语言指针的认识的认知实习报告 认知实习报告 题目:对C语言指针的认识 学生姓名: 学号: 班级: 所属学院: 指导教师: 2013年7月 对C语言指针的认识 学生姓名: 学号: 班级: 指导教师: ...

  7. java坦克大战 实训报告_坦克大战系统《Java程序开发实训》综合实训报告.doc

    坦克大战系统<Java程序开发实训>综合实训报告 <Java程序开发实训>综合实训报告 题目: 坦克大战系统 姓名: 方庆 学号: 2010203206 班级: 10软件(2) ...

  8. p1口输入输出实验c语言程序,51单片机P1口输入输出实验实验报告.doc

    51单片机P1口输入输出实验实验报告 实验一 P1口输入输出实验一 实验目的 1 掌握P1口作为I/O口时的使用方法. 2 理解读引脚和读锁存器的区别. 实验原理 由 AT89C51 组成的单片机系统 ...

  9. c语言五子棋设计报告及源代码,c语言五子棋源代码设计报告.doc

    C语言程序设计综合实验 设计报告 题目: 五子棋 班级; 07电气(1)班 人数: 4人 小组成员: 时间: 08.9.19 目录 1 课程设计报告 1.1课题描述 1.2需求分析 1.3概要设计 2 ...

  10. 上海工程技术大学c语言,上海工程技术大学 C语言实习报告.doc

    实 习 报 告 <高级语言程序设计> 2012-2013学年第 一 学期 学院(部) 管理学院指导教师 李旭芳班级代号 0315121姓名/学号 张何兵/031512130同组人 无 实验 ...

最新文章

  1. 公众号滑动图代码_脱离模板!教你自己动手制作公众号封面图
  2. PHP几个防SQL注入攻击自带函数区别
  3. .NET Core 中如何在运行中加载 Controller ?
  4. 参数NLS_LENGTH_SEMANTICS的设置问题
  5. 使用Scrapy框架发送POST请求
  6. 小小算法题(CCF)
  7. 超详细前端开发案例:品优购商场项目(二)
  8. C语言编译器不检查数组下标越界
  9. scala java 区别_Scala(和Java)中的类和类型之间有什么区别?
  10. mysql keepalive_mysql主从之keepalive+MySQL高可用
  11. krpano漫游加方向性3D声音(这篇文章已被移到krpano中国网站 krpano360.com)
  12. 关于面试总结6-SQL经典面试题
  13. 表达式类型错误oracle,这个语句报pls_00382 表达式类型错误 求问为什么。
  14. 配流07—基于BPR函数的Frank Wolfe算法
  15. open-能连接,但无法访问内网的问题
  16. 如何活跃社群,提高转化
  17. Matlab中的persistent变量
  18. 篮球图片html页面代码,教你用PS制作一个非常逼真的篮球图片
  19. 用什么办法可以解决失眠?
  20. 我的专业计算机作文说明文,我的电脑作文说明文

热门文章

  1. PPTP拨号后无法打开网页处理
  2. 请不要再说NIO和多路复用IO是同一个东西了(内含BIO、NIO、多路复用、Netty、AIO案例测试代码)
  3. 拉格朗日插值法_Lagrange、Newton、分段插值法及Python实现
  4. python实现自动登录网页用户名密码_Python使用selenium实现网页用户名 密码 验证码自动登录功能...
  5. C/C++操作注册表键值添加/查询/删除详解
  6. 友元(友元函数、友元类和友元成员函数) C++
  7. 修改SAP下载文件路径
  8. 如何获取华为网络安全考试题库?
  9. zsh fg: no job control in this shell.
  10. delphi xe5 android,android – 发送电子邮件Delphi XE5