C语言集中上机报告简单计算器课程设计报告.doc
文本预览下载声明
PAGE
C语言集中上机报告
简单计算器
简单计算器
院 系: 通信与信息工程学院
班 级: 电子信息工程0120905班
姓 名:
指导教师: 张林
2012 年 05月 20日
目 录
TOC \o \h \z HYPERLINK \l _Toc325921729 一 概述 PAGEREF _Toc325921729 \h 3
HYPERLINK \l _Toc325921730 1.1课程设计的目的 PAGEREF _Toc325921730 \h 3
HYPERLINK \l _Toc325921731 1.2课程设计的要求 PAGEREF _Toc325921731 \h 3
HYPERLINK \l _Toc325921732 1.3课程设计的主要设计思想 PAGEREF _Toc325921732 \h 3
HYPERLINK \l _Toc325921733 二 总体方案设计 PAGEREF _Toc325921733 \h 4
HYPERLINK \l _Toc325921734 2.1整体框图 PAGEREF _Toc325921734 \h 4
HYPERLINK \l _Toc325921735 2.2主要功能表 PAGEREF _Toc325921735 \h 4
HYPERLINK \l _Toc325921736 三 详细设计 PAGEREF _Toc325921736 \h 5
HYPERLINK \l _Toc325921737 四 程序的调试与运行结果说明 PAGEREF _Toc325921737 \h 6
HYPERLINK \l _Toc325921738 4.1 调试报告 PAGEREF _Toc325921738 \h 6
HYPERLINK \l _Toc325921739 4.2测试结果 PAGEREF _Toc325921739 \h 7
HYPERLINK \l _Toc325921740 五 课程设计总结 PAGEREF _Toc325921740 \h 8
HYPERLINK \l _Toc325921741 六 后记 PAGEREF _Toc325921741 \h 9
HYPERLINK \l _Toc325921742 七 附录 PAGEREF _Toc325921742 \h 9
HYPERLINK \l _Toc325921743 参考文献 PAGEREF _Toc325921743 \h 16
一 概述
1.1课程设计的目的
为综合应用C语言程序设计理论知识、进一步提高我们综合解决问题、协调工作的能力和良好的软件开发习惯,学校为我们特意安排此次课程设计。希望通过该实习能够进一步激发我们的学习热情,培养我们初步编程的能力,为后续的学习和发展奠定基础。
1.2课程设计的要求
掌握从上至下的分析过程;合理完成功能的分解;分析获得实现功能所需的各种数据结构;功能模块的整合;使用面相过程开发语言建立各种数据结构,各种结构体;掌握面相过程开发语言的特点,建立各种函数实现各个功能;调用各个功能模块,完成系统的整体功能;调试、测试各个功能模块,并完成系统的测试;分析画出各个功能的流程等。
1.3课程设计的主要设计思想
用不同的数组存储操作数和操作符号,然后要定义运算的优先级,因为我准备通过输入运算表达式来直接求出运算结果,所以要使用到括号。通过上网查阅资料,我决定采用逆波兰表达式,它的优势在于只用两种简单操作,入栈和出栈就可以搞定任何普通表达式的运算。其运算方式如下: 如果当前字符为变量或者为数字,则压栈,如果是运算符,则将栈顶两个元素弹出作相应运算,结果再入栈,最后当表达式扫描完后,栈里的就是结果。由于我对栈的应用不是很熟练,因此这里改用数组和指针。但基本思路是类似的。
二 总体方案设计
2.1整体框图
N
N
键入一个符号或数字号
是否为整数?
z=z*10+a[k]-0
x=z;
z=z*10+a[k]-0;
n=pow(0.1,l)
x=z+n
输出结果
Y
N
继续键入符号?
Y
退出
x=q?
Y
开始
N
2.2主要功能表
序号
文件名
主要功能
备注
1
+
加法
两个操作数
2
-
减法
两个操作数
3
*
乘法
两个操作数
4
/
除法
两个操作数
5
#
开方
一个操作数
6
^
乘方
两个操作数
7
Enter
等于
8
q
退
显示全部