c语言简单计算器报告
xxxx大学信息科学与工程学院 课程设计报告 班级:姓名:实验项目名称: 实验室(中心):指导教师: 实验完成时间: 通信工程一班 xxx 简易计算器信息科学与工程学院信息技术实验室 xxxXX年6月19日 目录 一:课程设计题目.............................................................................3二:功能描述....................................................................................3三:概要设计....................................................................................4四:详细设计....................................................................................5五:测试结果及存在的问题...............................................................9六:课程设计心得体会....................................................................12七:附录..........................................................................................12 一、题目: 简易计算器设计 二、功能描述: 此简易计算器根据算符优先算法原则可以计算由“+,-,*,/,” 组成的任意算术表达式的值。其中此程序中包含对负数和字符数据转换功能。 如:-9+*9/8-5)/(-3); 三、概要设计: 根据算符优先算法设计将函数功能模块分布如下: 利用结构体数组中脚码的变换达到符号和数据进栈和出栈的目的。 (Translate). (0-负数)形 (Can). :完成数据转换和运算符 比较. 四、详细设计: 各功能模块的实现过程如下: 1:栈的应用: 通过运用结构体数组中top值的改变来达到数据进栈和出栈的目的,而栈的初始化 只需将top的初始值赋为-1即可; 2: 算法说明: 函数中,先扫描数组,若s[0]=‘-’,则将数组的所有元素向后移一位且首位赋值为‘0’,若数组首位之后含有形如(-5)则将负号及其以后的元素全向后移一位且负号位置赋值为‘0’,然后返回新的数组; C语言课程设计报告 题目:设计一个简单计算器 目录 1.设计目的 2.内容 3.总体设计 4.源程序编写 5.执行结果 6.心得体会 一、设计目的 设计一个简单计算器,在功能上功能尽量模拟windows操作系统中的计算器,系统界面不做强制要求。全面熟悉、掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函数、指针和文件的操作,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,规范编程思想,为以后在专业 2 课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。 二、内容 1、程序设计的一般步骤 a、确定数据结构b、确定算法 c、编程 d、调试 e、总结资料 2、基本要求 a.设计正确,方案合理,能实现相应功能。 b.界面友好,使用方便。 c.程序精炼,结构清晰。 d.设计报告含程序设计说明,用户使用说明,源程序清单及程序框图。 e.上机演示。 三、总体设计 3 四、源程序编写#include #include #include doublejisuan(chara[]) { inti=1,j,k,m,cnt=0,t1=0,t2=0,t3=0;charnibo[50],zhan2[50];doublex,n,l,z=0,zhan3[20];typedefstruct { doubled1; intd2; }dd; typedefstruct { dddata[50]; inttop; }zhan1; 4 zh