简单计算器设计
简易计算器的课程设计

简易计算器的课程设计一、课程目标知识目标:1. 学生能理解简易计算器的内部工作原理,掌握其基本功能操作。
2. 学生能运用计算器进行基本的算术运算,包括加、减、乘、除以及百分比计算。
3. 学生理解并掌握计算器上各个按键的功能及其在数学运算中的应用。
技能目标:1. 学生能够使用计算器辅助解决实际问题,如购物找零、面积计算等。
2. 学生通过计算器的使用,提高数据输入、结果读取和运算过程纠错的能力。
3. 学生能够结合数学知识,利用计算器进行数据的简单统计分析。
情感态度价值观目标:1. 培养学生对待科学技术的积极态度,认识到计算器在日常生活和学习中的便捷性。
2. 增强学生的团队协作意识,通过小组活动,学会分享和交流使用计算器的经验。
3. 培养学生遵守计算器使用的规则,养成良好的计算器使用习惯,珍惜公共资源。
本课程设计针对的学生群体为小学高年级学生,他们已经具备了一定的数学基础和操作简单电子设备的能力。
课程性质为实用技能型,旨在通过简易计算器的教学,将理论知识与实践操作相结合,提高学生解决实际问题的能力。
在教学要求上,注重培养学生的动手操作能力和创新思维,同时强调情感态度的培养,使学生在学习技能的同时,也能形成正确的价值观。
通过具体学习成果的分解,教师可进行有针对性的教学设计和学习效果评估。
二、教学内容本章节教学内容依据课程目标,结合教材内容,科学系统地组织以下部分:1. 简易计算器基础知识:介绍计算器的发展历程、种类及简易计算器的结构组成,对应教材第二章第一节。
2. 计算器按键功能:详细讲解各按键的功能及其在数学运算中的应用,对应教材第二章第二节。
3. 基本运算操作:教授如何使用计算器进行加、减、乘、除以及百分比计算,对应教材第二章第三节。
4. 计算器在实际应用中的使用:结合实际案例,如购物找零、面积计算等,展示计算器的实用性,对应教材第二章第四节。
5. 数据的简单统计分析:利用计算器进行数据输入、处理和简单统计分析,对应教材第二章第五节。
基于51单片机的简易计算器设计

基于51单片机的简易计算器设计基于51单片机的简易计算器设计一、引言随着微电子技术和嵌入式技术的发展,越来越多的智能化设备被应用于日常生活中。
其中,基于51单片机的简易计算器设计具有广泛的应用价值。
本文将介绍如何使用51单片机设计一个简易计算器,实现加减乘除的基本运算功能。
二、设计方案1.硬件组成:本设计采用51单片机作为主控芯片,与键盘、显示器等外围设备相连。
键盘用于输入数字和运算符,显示器则用于显示运算结果。
2.软件设计:软件部分包括主程序和子程序。
主程序负责初始化硬件、读取键盘输入和显示运算结果。
子程序包括加减乘除的运算子程序,可根据输入的运算符和操作数进行相应的运算。
3.算法实现:在加减乘除的运算子程序中,采用基本的数学运算方法实现。
对于加法,直接将两个操作数相加;对于减法,将两个操作数相减;对于乘法,采用循环相乘的方法;对于除法,采用循环相除的方法。
三、实验结果在实验中,我们成功地使用51单片机设计了一个简易计算器,实现了加减乘除的基本运算功能。
在测试过程中,我们输入了不同的数字和运算符,得到了正确的运算结果。
同时,我们也测试了计算器的稳定性,发现其在连续运算时表现良好,没有出现明显的误差或故障。
四、结论基于51单片机的简易计算器设计具有简单易行、实用性强等优点。
通过实验测试,我们验证了其可行性和稳定性。
此外,该设计还可以根据需要进行扩展和优化,例如增加更多的运算功能、优化算法等。
未来,我们可以进一步研究如何提高计算器的运算速度和精度,以及如何将其应用于更多的实际应用场景中。
五、改进意见与展望1.增加更多的运算功能:例如实现括号、开方、指数等高级运算,满足更复杂的数学计算需求。
2.优化算法:针对现有的加减乘除运算算法进行优化,提高运算速度和精度。
例如采用更高效的除法算法,减少运算时间。
3.增加存储功能:在计算器中加入存储单元,使得用户可以在多个步骤之间进行数据传递和保存。
4.增强人机交互界面:优化显示器的显示效果,增加用户输入的便捷性,提高用户体验。
51单片机简易计算器设计报告(一)

51单片机简易计算器设计报告(一)背景介绍在数字化时代,计算器作为一种简单易用的工具,越来越得到人们的关注和热爱。
而基于51单片机的简易计算器,不仅可以成为一种学习电子技术的手段,还具有满足简单计算需求的实用性。
设计思路本计算器采用键盘输入和数码管输出的电路设计,为用户提供加、减、乘、除、小数点、退位以及等于等功能。
1.键盘输入采用矩阵键盘的方式,将所有按键按行列排列,并利用51单片机中断方式来读取键值。
2.计算处理通过编写相应的程序代码,计算出用户输入的两个数值及操作符的结果,并将结果存储在数据缓存器中,最后将其输出至数码管。
3.数码管显示根据计算结果的数据类型,将其经过相应的转换处理后,通过数码管将结果输出至用户。
设计技术1.软件编写软件编写方面,采用汇编语言进行编写,代码总长度为2.2KB 左右。
其中,以中断方式读取键值、实现数值存储与判断、计算处理、数码管的结果输出等作为关键点进行编写。
2.硬件搭建硬件搭建方面,需要按照电路图进行搭建,并将51单片机与相关周边电路进行连接。
根据设计思路,将键盘、数码管、电源、指示灯等设备按照需求进行连接。
可改进之处虽然 51单片机的简易计算器的搭建能够满足基本计算需求,但其在以下几方面还有可改进之处:•添加计算科学函数,如三角函数、对数函数等。
•改进操作方式,使其更加符合人体工程学原理。
•添加储存器,使用户能够将计算结果进行存储和调用。
总结通过本次对基于51单片机的简易计算器的设计与实现,我们深入了解了电子技术的基本概念和硬件搭建原理,并了解到了简单嵌入式系统的工作原理。
虽然该计算器在功能和效率方面还有待改进,但对于初学者来说,其对于电子技术的学习和实验还是很有价值和意义的。
•编写的汇编代码过于繁琐,可考虑使用高级语言编写以提高效率和易读性。
•在电路搭建时需注意布线的合理性,尽量避免出现干扰和信号损失的问题。
综上所述,基于51单片机的简易计算器的设计和实现虽存在一些不足,但还是很有价值的。
实验01 简易计算器设计

实验1简易计算器设计一、实验目的1、掌握事件结构的编程2、掌握字符串与数字的相互转化3、掌握条件结构的编程4、生成exe文件二、实验要求利用LabVIEW的事件结构编写一个简单的计算器程序,实现加、减、乘、除等运算,并能对计算结果进行清除,前面板按钮及布局如下图所示。
图1 计算机界面要求最后创建项目,生成exe可执行文件。
三、实验设备1、计算机2、安装LabVIEW软件(版本不限,本实验指导书以2018版为例)四、实验说明1、程序流程图图2 程序流程图2、设计思路计数器界面中每个按键相当于一个布尔输入控件,共17个;计算结果的显示为一个字符串显示控件。
每次按键触发一个按键事件,利用LabVIEW的事件响应结构对每个按键进行响应,实现要求的简易计算器功能。
表1 布尔输入控件的说明前面板除了17个布尔输入控件外,还包含输入数据的输入临时值控件、输入1、输入2、存储操作运算符的运算符临时值控件、运算结果和过程显示,过程显示充当计算器的显示器。
3、算法流程图包括程序初始化、运算符判断、数据存储与运算、显示等。
图3 算法流程图五、实验过程1、前面板设计打开IabVIEW2018软件,新建一个VI,并命名为虚拟计算器。
在前面板上右击,在布尔控件中选择“确定按钮”;右击,打开显示项,去掉标签;调整按键到合适的大小;再拷贝16个按键,排列好,C键和±键还需要调整一下大小;修改各按键的布尔文本;双击各按键到后面板中修改各自的标签,例如将布尔文本为1的按键标签改为“数字1”,将布尔文本为+的按键标签改为“加”,以方便编程时识别各按键。
再设置一个字符串显示控件,用来显示运算数值、运算符号和运算结果,修改标签为“过程显示”;还需要设置5个字符串显示控件,标签分别为“输入临时值”、“输入1”、“输入2”、“运算符临时值”、“运算结果”。
得到如下图所示的计算器前面板、后面板。
图4 前面板布局图图4 后面板2、初始化将前面板中的各个显示控件初始化,如图5所示。
基于单片机简易计算器的设计

基于单片机简易计算器的设计在我们的日常生活和工作中,计算器是一个非常实用的工具。
从简单的数学运算到复杂的科学计算,它都能为我们提供快速准确的结果。
而基于单片机设计的简易计算器,不仅具备基本的计算功能,还具有体积小、成本低、易于实现等优点。
一、设计背景随着电子技术的不断发展,单片机的应用越来越广泛。
它在控制、测量、通信等领域都发挥着重要作用。
而将单片机应用于计算器的设计,可以实现更加智能化和个性化的计算功能。
同时,对于学习电子技术的人来说,设计一个基于单片机的简易计算器也是一个很好的实践项目,可以帮助我们更好地理解单片机的工作原理和编程方法。
二、系统总体设计1、功能需求简易计算器应具备基本的四则运算(加、减、乘、除)功能,能够处理整数和小数的运算。
同时,还应具备清零、退位、等号等操作功能。
2、硬件设计硬件部分主要包括单片机最小系统、键盘输入模块、显示模块等。
单片机最小系统是整个系统的核心,负责控制和处理数据。
键盘输入模块用于接收用户的输入指令,显示模块用于显示计算结果。
3、软件设计软件部分主要采用 C 语言进行编程。
通过编写程序,实现对键盘输入的识别和处理,以及对计算结果的输出显示。
三、硬件电路设计1、单片机最小系统单片机选用常见的 STC89C52 芯片,它具有价格低廉、性能稳定等优点。
最小系统包括单片机芯片、晶振电路和复位电路。
晶振电路为单片机提供时钟信号,复位电路用于系统的初始化。
2、键盘输入模块键盘采用4×4 矩阵键盘,通过行列扫描的方式获取用户的输入信息。
键盘上的按键分别对应数字 0-9、四则运算符号、清零、退位和等号等功能。
3、显示模块显示模块选用 1602 液晶显示屏,它可以显示两行字符,每行 16 个字符。
通过单片机的控制,将计算结果和输入的算式显示在屏幕上。
四、软件程序设计1、主程序主程序主要负责初始化系统、扫描键盘、处理输入和计算结果等。
首先,对单片机的各个端口进行初始化设置,然后进入一个无限循环,不断扫描键盘,当检测到有按键按下时,根据按键值进行相应的处理。
简易计算器设计与实现

简易计算器设计与实现一、引言计算器是一种广泛应用的工具,可以进行基本的算数运算和一些科学计算,能够极大地方便人们的日常生活和工作。
本文将介绍一个简易的计算器的设计和实现方案。
二、设计思路1.功能选择:通过提供菜单供用户选择,以实现计算器常见功能如加法、减法、乘法、除法等。
2.输入输出处理:用户通过键盘输入待计算的数字和操作符,计算器将结果输出到屏幕上。
3.算术运算:根据用户选择的功能,进行相应的算术运算,如加法、减法、乘法、除法等。
4.错误处理:对于非法的输入,如除数为0,需要给出错误提示。
三、详细设计1.界面设计:计算器通过命令行界面展示,用户通过菜单选择功能。
界面可以提供以下功能选择菜单:1)加法2)减法3)乘法4)除法5)退出2.输入输出处理:在命令行界面上提示用户输入数字和操作符,并读取用户输入的数据。
用户输入格式为两个数字和一个操作符,操作符为"+","-","*"或"/"。
3.算术运算:a)加法运算:将两个数字相加,得到结果。
b)减法运算:将第一个数字减去第二个数字,得到结果。
c)乘法运算:将两个数字相乘,得到结果。
d)除法运算:将第一个数字除以第二个数字,得到结果。
在执行除法运算前,需要检查除数是否为0,如果为0,则给出错误提示。
4.错误处理:在用户选择除法运算时,需要检查除数是否为0。
如果为0,则输出错误提示信息,提示用户输入合法操作数。
五、实现以下为Python语言实现的简易计算器代码示例:```pythondef add(a, b):return a + bdef subtract(a, b):return a - bdef multiply(a, b):return a * bdef divide(a, b):if b == 0:raise ValueError("除数不能为0")return a / bdef calculator(:while True:print("请选择功能:")print("1) 加法")print("2) 减法")print("3) 乘法")print("4) 除法")print("5) 退出")choice = int(input()if choice == 1:a = float(input("请输入第一个数字:"))b = float(input("请输入第二个数字:")) result = add(a, b)print("计算结果:%f" % result)elif choice == 2:a = float(input("请输入第一个数字:"))b = float(input("请输入第二个数字:")) result = subtract(a, b)print("计算结果:%f" % result)elif choice == 3:a = float(input("请输入第一个数字:"))b = float(input("请输入第二个数字:")) result = multiply(a, b)print("计算结果:%f" % result)elif choice == 4:a = float(input("请输入第一个数字:"))b = float(input("请输入第二个数字:")) try:result = divide(a, b)print("计算结果:%f" % result)except ValueError as e:print("错误:%s" % str(e))elif choice == 5:breakelse:print("无效的选择,请重新选择功能。
基于51单片机的简易计算器设计

基于51单片机的简易计算器设计设计一个基于51单片机的简易计算器,主要功能包括加减乘除四则运算和百分数计算。
下面是设计的详细步骤:1.硬件设计:-使用51单片机作为主控芯片。
-连接16x2的LCD显示屏,用于显示输入和计算结果。
-连接16个按键开关,用于输入运算符和数字。
-连接4个LED灯,用于指示四则运算的选择。
2.软件设计:-初始化LCD显示屏,并显示欢迎信息。
-监听按键输入,在接收到输入后,根据输入的按键值判断操作类型。
-如果按键值对应数字键,保存输入的数字,并在LCD上显示当前输入的数字。
-如果按键值对应四则运算符(+、-、*、/),保存当前输入的数字,并保存运算符。
-如果按键值对应等号(=),根据保存的数字和运算符进行相应的运算,计算结果保存并显示在LCD上。
-如果按键值对应清零(C),将所有保存的数据清空,并显示初始状态。
-如果按键值对应百分号(%),将当前数字除以100并显示在LCD上。
3.主要函数说明:- void init_lcd(:初始化LCD显示屏。
- void display_lcd(char* str):将指定字符串显示在LCD上。
- void clear_lcd(:清空LCD显示屏。
- char get_key(:获取按键输入的值。
- void calculate(:根据保存的数字和运算符进行计算。
- void add_digit(char digit):将输入的数字添加到当前数字中。
- void set_operator(char op):保存运算符。
- void clear_data(:清空所有保存的数据。
4.主要流程:-初始化LCD显示屏并显示欢迎信息。
-在循环中监听按键输入,并根据输入的按键值进行相应的操作。
-根据不同的按键值,调用不同的函数进行处理。
-最后计算结果显示在LCD上。
以上是基于51单片机的简易计算器设计的详细步骤和主要函数说明。
你可以根据这个设计框架进行具体的代码实现。
简单计算器eda设计最终打印版

目录第一章设计原理 (1)1.1 课程设计依据 (1)1.2 课程设计内容及原理 (1)1.3 课程设计要求 (1)第二章设计流程 (2)2.1设计流程图 (2)2.2 LED灯接线部分显示 (3)第三章模块连接 (4)3.1 四选一多路器 (4)3.1.1多路器程序设计 (4)3.1.2四选一多路器仿真图 (5)3.1.3四选一多路器仿真波形分析 (5)3.2 7段数码管显示 (5)3.2.1数码管程序设计 (5)3.2.2数码管仿真图 (6)3.2.2数码管仿真图分析 (6)3.3 循环扫描模块 (7)3.3.1循环扫描程序 (7)3.3.2循环扫描仿真图 (8)3.3.3 循环扫描模块分析 (8)3.4 简易计算器总体程序设计 (8)3.4.1简单计算器程序设计 (8)3.4.2简单计算器总体仿真图 (11)3.4.3简单计算器仿真图设计分析 (11)第四章设计体会 (12)参考文献 (13)第一章设计原理1.1 课程设计依据在掌握常用数字电路功能和原理的基础上,根据EDA技术课程所学知识,利用硬件描述语言Verilog HDL、EDA软件Quartus II和硬件平台Cyclone/Cyclone II FPGA进行电路系统的设计。
1.2 课程设计内容及原理设计一个简单计算器,采用简单4*4计算器键盘,输入2位十进制数进行+、-、 *、/ 四种运算,输入数据分别用两位数码管显示,输出用四位数码管显示4位10进制数,其中除法的结果显示分为商和余数两部分,要求采用时序逻辑设计实现计算器功能。
为了完成要求的效果显示,我先设计了一个简单的四则运算器,为了使其结果能清楚的看到,所以计算器模块和一个7段数码管模块连接。
实验要求,输入分别用两位数码管显示,输出用四位数码管显示,所以用一个3—8译码器和数码管连接,通过开关控制,形成动态显示。
从左向右,依次是第一位数码管显示a的高四位,第二位数码管显示a的低四位;第三位数码管显示b的高四位,第四位数码管显示b的低四位;第五位数码管到第八位数码管显示输出的结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机程序训练任务书简单计算器设计学院:材料科学与工程学院专业:材料成型及控制工程班级:07050103学号:0705010318姓名:***目录一.训练目的二.设计内容和要求三.设计思路四.该程序功能分析五.系统用到的数据类型及函数六.基本算法七.程序流程图及屏幕运行截图八.参考文献九.设计心得十.源程序代码计算机程序训练设计报告一.训练目的:计算机程序设计训练是学习完《计算机程序设计》课程后进行的一次全面的综合性上机实验。
其目的在于为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。
提高学生适应实际,实践编程的能力。
二.设计内容和要求:用C语言作为工具制作一个简单的windows计算器,根据课程设计1周时间的安排选择适当大小的设计课题,根据题目的基本需求,画出流程图,编写程序,并写出详细的设计说明书。
最后上机调试通过,并进行验收,交上机报告和程序的原代码。
设计题目设计一个简单计算器具体内容在功能上功能尽量模拟windows操作系统中的计算器,系统界面不做强制要求。
三.设计思路大体框架是用两个while语句来实现相应的计算,用goto 语句来实现多次进入while语句进行相应的计算,第一个while语句用于新的两个数来进行计算,第二个while语句是用上一次储存的计算结果来与另外的数进行相应的运算。
每个while语句嵌套switch语句来实现加减乘除以及三角函数等运算。
每种运算都是调用自定义的函数来实现相应运算的。
四.该程序功能分析:该程序主要功能是计算简单运算,以及简单的三角函数的计算,优点是一次运算结束后会提醒是否将运算的结果储存下来,如果储存则与另外的数继续进行下一次运算,如果不储存,则会执行新的运算,如果不计算了即可跳出界面。
同时计算开方。
五.系统用到的数据类型及其函数:1.整型变量num 用于判断需要进行什么运算。
整型变量l 用于决定进入哪个while循环语句。
实型变量a,b,x,t a,b,x用于放置需要计算的数,t用于放置每次运算的结果。
静态局部变量m 用于存储每次计算的结果。
自定义函数中的形参a,b均定义为实型数据,调用函数时候主调函数把实参的值(即输入的需要计算的数)传递给形参a和b, 计算的结果作为函数的返回值。
2.自定义函数:float add (float a,float b)用于计算加法运算,输入的两个数据作为实参传递给形参a和b, 将计算的结果作为函数的返回值。
float minus(float a,float b)用于计算减法运算,输入的两个数据作为实参传递给形参a和b, 将计算的结果作为函数的返回值。
float mul(float a,float b)用于计算乘法运算,输入的两个数据作为实参传递给形参a和b, 将计算的结果作为函数的返回值。
float div (float a,float b)用于计算除法运算,输入的两个数据作为实参传递给形参a和b, 将计算的结果作为函数的返回值。
float fun1(float a,float b)用于计算求幂,输入的两个数据作为实参传递给形参a和b, 将计算的结果作为函数的返回值。
float fun2(float a)用于计算开方运算,输入的数据作为实参传递给形参a, 将计算的结果作为函数的返回值。
float fun3(float a)用于计算正弦运算,输入的数据作为实参传递给形参a, 将计算的结果作为函数的返回值。
float fun4(float a)用于计算余弦运算,输入的数据作为实参传递给形参a, 将计算的结果作为函数的返回值。
float fun5(float a)用于计算正弦运算,输入的数据作为实参传递给形参a, 将计算的结果作为函数的返回值。
float fun6(float a,)用于计算求倒运算,输入的数据作为实参传递给形参a, 将计算的结果作为函数的返回值。
3.用了数学函数开方sqrt ,正弦sin,余弦cos,正切tan.4.main()主函数程序的入口,程序中使用switch语句和while实现相应的循环,switch用于判断算术符号,通过调用相应的函数完成相应的计算,while则用于每次计算的循环,则不用退出程序即可实现下一次计算。
同时在程序末尾用了goto语句循环,也是用于计算的循环。
每次计算完一次算法后,会判断是否储存,如果储存则会执行第二个while 循环,如果是不储存则执行第一个while语句循环。
六.基本算法程序开始运行S1:L=1;int mun ;float a,b,x,t; static float m;S2:如果L=1 则执行第一个while语句,第一个while语句中执行switch语句。
S3:如果num =1 执行加法运算。
S4:如果num=2 执行减法运算。
S5:如果num=3 执行乘法运算。
S6:如果num=4 执行除法运算。
S7:如果num=5 执行求幂运算。
S8:如果num=6 执行求开方运算。
S9:如果num=7 执行正弦运算。
S10:如果num=8 执行余弦运算。
S11:如果num=9 执行正切运算。
S12:如果num=10 执行求倒运算。
S13:如果输入L=1 则返回S2.如果输入L=2则执行S14.如果输入L=0 则退出整个程序。
S14:将第一次的while语句执行的结果赋予m,执行第二个while语句,从而执行其中的switch语句。
S15:如果num =1 第一次计算的结果与另一值执行加法运算。
S16:如果num=2 第一次计算的结果与另一值执行减法运算。
S17:如果num=3 第一次计算的结果与另一值执行乘法运算。
S18:如果num=4 第一次计算的结果与另一值执行除法运算。
S19:如果num=5 第一次计算的结果与另一值执行求幂运算。
S20:如果num=6 第一次计算的结果执行求开方运算。
S21:如果num=7 第一次计算的结果执行正弦运算。
S22:如果num=8 第一次计算的结果执行余弦运算。
S23:如果num=9 第一次计算的结果执行正切运算。
S24:如果num=10 第一次计算的结果执行求倒运算。
S25:如果输入L=1 则返回S2,如果输入L=2 则执行S14,如果输入L=0 则跳出整个程序。
七:程序流程图屏幕运行截图输入l 的值l=0l=2l=1l=1的时候执行你输入数的加减乘除以及三角函数的运算相当于计算器的开始按钮以及运算按钮l=2的时候用你储存的数与另外的数进行新的加减乘除运算相当于计算器的储存按钮以及显示储存按钮以及M+按钮和运算按钮l=0跳出整个程序相当于计算器的关闭按钮八:参考文献C 程序设计(第三版)谭浩强著九:设计心得此次课程设计,我感慨颇多,的确,从从拿到题目到完成整个编程,从理论到实践,在整整一周的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能算一个真正的程序,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说静态变量……通过这次课程设计之后,一定把以前所学过的知识重新温故。
同时感谢指导教师的亲切的鼓励和耐心的指导,我相信对以后的学习路会受益颇深的。
十:源程序代码#include<stdio.h>#include<math.h>float add(float a,float b){float c;c=a+b;printf("%f\n",c);return(c);}float minus(float a,float b){float c;c=a-b;printf("%f\n",c);return(c);}float mul(float a,float b){float c;c=a*b;printf("%f\n",c);return(c);}float div(float a,float b){float c;c=a/b;printf("%f\n",c);return(c);}float fun1(float a,float b){float c;c=pow(a,b);printf("%f\n",c);return(c);}float fun2(float a){float b;b=sqrt(a);printf("%f\n",b);return(b);}float fun3(float a){float b;b=sin(a);printf("%f\n",b);return(b);}float fun4(float a){float b;b=cos(a);printf("%f\n",b);return(b);}float fun5(float a){float b;b=tan(a);printf("%f\n",b);return(b);}float fun6(float a){float b;b=1.0/a;printf("%f\n",b);return(b);}main(){int num,l=1;float a,b,x,t;static float m;loop:while(l==1){printf("1.+\n2.-\n3.*\n4./\n5.pow\n6.Sqrt\n7.sin\n8.cos\n9.tan\n10.D\n"); printf("\nplease choose a number(1-10):\n");scanf("%d",&num);switch(num){case 1:printf("please input a and b:\n");scanf("%f %f",&a,&b);t=add(a,b); m=t;break;case 2:printf("please input a and b:\n");scanf("%f %f",&a,&b);t=minus(a,b);m=t;break;case 3:printf("please input a and b:\n");scanf("%f %f",&a,&b);t=mul(a,b); m=t;break;case 4:printf("please input a and b:\n");scanf("%f %f",&a,&b);t=div(a,b);m=t;break;case 5:printf("please input a and b:\n");scanf("%f %f",&a,&b);t=fun1(a,b); m=t;break;case 6:printf("please input x:\n");scanf("%f",&x);t=fun2(a); m=t;break;case 7:printf("please input x:\n");scanf("%f",&x);t=fun3(a); m=t;break;case 8:printf("please input x:\n");scanf("%f",&x);t=fun4(a); m=t;break;case 9:printf("please input x:\n");scanf("%f",&x);t=fun5(a);m=t;break;case 10:printf("please input x:\n");scanf("%f",&x);t=fun6(a);m=t;break;default:printf("error!\n");}printf("If you want to be continue ,please enter 1 \n");printf("if you want to store the number,please enter 2 \n");printf("If you want to exit,please enter 0 \n");printf("Enter your choice:");scanf("%d",&l);}while(l==2){printf("1.+\n2.-\n3.*\n4./\n5.pow\n6.Sqrt\n7.sin\n8.cos\n9.tan\n12.D\n"); printf("\nplease choose a number(1-10):\n");scanf("%d",&num);switch(num){case 1:printf("please input b:\n");scanf("%f",&b);t=add(m,b);m=t;break;case 2:printf("please input b:\n");scanf("%f",&b);t=minus(m,b);m=t;break;case 3:printf("please input b\n");scanf("%f",&b);t=mul(m,b); m=t;break;case 4:printf("please input b:\n");scanf("%f",&b);t=div(m,b);m=t;break;case 5:printf("please input b:\n");scanf("%f",&b);t=fun1(m,b); m=t;break;case 6:printf("please input b:\n");t=fun2(m);m=t;break;case 7:printf("please input b:\n");t=fun3(m);m=t;break;case 8:printf("please input b:\n");t=fun4(m); m=t;break;case 9:printf("please input b:\n");t=fun5(m); m=t;break;case 10:printf("please input b:\n");t=fun6(m); m=t;break;default:printf("error!\n");}printf("If you want to be continue ,please enter 1 \n"); printf("if you want to store the number,please enter 2 \n"); printf("If you want to exit,please enter 0 \n");printf("Enter your choice:");scanf("%d",&l);}if(l!=0) goto loop;}。