C++课程设计——计算器.
简易计算器c课程设计
简易计算器c 课程设计一、课程目标知识目标:1. 让学生掌握简易计算器C的基本结构,包括算术表达式、运算符和操作数。
2. 使学生了解计算器C中的数据类型及其在内存中的存储方式。
3. 让学生理解顺序结构程序设计的原理,并能够运用到简易计算器C的开发中。
技能目标:1. 培养学生运用计算器C编写简单程序的能力,如加减乘除运算。
2. 培养学生分析问题、解决问题的能力,能够针对特定需求设计相应的计算器功能。
3. 提高学生的编程实践能力,通过动手编写代码,实现简易计算器的功能。
情感态度价值观目标:1. 培养学生对编程的兴趣和热情,激发他们主动探索新知识的欲望。
2. 培养学生团队协作意识,学会与他人共同分析问题、解决问题,共同进步。
3. 培养学生严谨、细致的学习态度,养成良好的编程习惯,为今后的学习打下基础。
课程性质:本课程属于编程启蒙课程,以实践操作为主,结合理论讲解,让学生在动手实践中掌握编程基础。
学生特点:本课程面向的学生为具有一定计算机操作基础,对编程感兴趣的年级学生。
教学要求:教师需结合学生特点,以实例为主线,引导学生主动参与课堂,注重培养学生的动手实践能力和团队协作精神。
通过本课程的学习,使学生在掌握计算器C基本知识的同时,提高编程技能和综合素质。
二、教学内容1. 计算器C基本语法:介绍计算器C的数据类型、变量、常量的定义及使用,让学生掌握基本语法规则。
- 教材章节:第一章 计算器C概述- 内容列举:数据类型、变量定义、常量定义、运算符、表达式。
2. 算术表达式:讲解算术表达式的构成,以及加减乘除运算符的使用方法。
- 教材章节:第二章 算术表达式- 内容列举:算术表达式构成、运算符优先级、括号的使用。
3. 顺序结构程序设计:引导学生学习顺序结构程序设计,掌握程序的基本执行流程。
- 教材章节:第三章 程序结构与控制流程- 内容列举:顺序结构、程序执行流程、输入输出语句。
4. 简易计算器C程序设计:结合前面的知识,设计一个简易计算器C程序,实现加减乘除运算。
c语言设计计算器课程设计
c语言设计计算器课程设计一、课程目标知识目标:1. 学生能够掌握C语言基本语法和数据类型,特别是整型、浮点型的运用。
2. 学生能够理解并运用顺序结构、选择结构和循环结构进行程序设计。
3. 学生能够运用C语言的算术运算符,实现基本的数学运算功能。
技能目标:1. 学生能够编写简单的C程序,实现加、减、乘、除等基本计算功能。
2. 学生能够通过键盘输入数据,并处理输入异常。
3. 学生能够运用调试工具检查并修正程序中的错误。
情感态度价值观目标:1. 学生培养编程的兴趣,认识到编程在解决问题中的重要性。
2. 学生在学习过程中形成合作意识,培养团队精神。
3. 学生通过编程解决实际问题,体验成就感,增强自信心。
分析课程性质、学生特点和教学要求:本课程针对的是高一年级学生,他们对C语言已有一定的基础知识,具备基本的编程能力。
课程性质为实践性较强的编程课程,旨在让学生通过动手实践,掌握C语言编程技巧。
教学要求注重培养学生的实际编程能力,将理论知识与实际应用相结合。
课程目标分解:1. 学生能够独立完成一个简单的计算器程序,实现加、减、乘、除功能。
2. 学生能够运用所学知识对程序进行优化,提高计算器的运算效率和用户体验。
3. 学生通过课程学习,培养良好的编程习惯和解决问题的能力。
二、教学内容本课程教学内容紧密结合课程目标,确保学生能够系统地学习和掌握C语言编程计算器的制作。
1. C语言基本语法和数据类型复习:回顾整型、浮点型等基本数据类型,强调其在计算器程序中的应用。
2. 运算符和表达式:详细介绍C语言的算术运算符,如加、减、乘、除等,并讲解表达式的构成和计算规则。
3. 控制结构:- 顺序结构:巩固顺序执行的概念,并应用于计算器程序。
- 选择结构:讲解if语句,实现计算器的不同运算功能。
- 循环结构:介绍for和while循环,实现重复计算功能。
4. 输入输出函数:教授scanf和printf函数的使用,实现用户与计算器程序的交互。
计算器课程设计c
计算器课程设计c一、教学目标本课程的教学目标是使学生掌握计算器的基本使用方法,包括加减乘除、科学计算等功能,能够运用计算器解决实际问题。
知识目标为学生能够理解计算器的基本工作原理和各种功能的使用方法;技能目标为学生能够熟练操作计算器,进行正确的数值计算和科学计算;情感态度价值观目标则是培养学生的计算思维,使他们认识到计算器在现代学习和工作中的重要性,养成良好的学习习惯和科学精神。
二、教学内容根据课程目标,本课程的教学内容主要包括计算器的基本操作、各种功能的使用方法以及计算器在实际问题中的应用。
具体的教学大纲如下:1.计算器的基本操作:学习如何开机、关机、清屏等基本操作。
2.数值计算:学习如何进行加减乘除等基本的数值计算。
3.科学计算:学习如何进行幂次计算、平方根、倒数等科学计算。
4.实际问题应用:通过实例讲解计算器在解决实际问题中的应用,如面积、体积计算等。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法、实验法等。
讲授法用于讲解计算器的基本操作和功能使用方法;讨论法用于引导学生交流计算器使用的心得和遇到的问题;案例分析法用于分析计算器在实际问题中的应用;实验法用于让学生亲自动手操作计算器进行实际计算。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
教材和参考书用于提供理论知识的学习,多媒体资料用于辅助讲解和演示计算器的操作,实验设备则是让学生进行实际操作的重要工具。
在教学过程中,教师应充分利用这些资源,丰富学生的学习体验,提高学习效果。
五、教学评估本课程的评估方式包括平时表现、作业、考试等多个方面,以全面客观地评价学生的学习成果。
平时表现主要评估学生在课堂上的参与度、提问回答等情况;作业则主要评估学生的动手操作能力和对知识的理解运用;考试则是对学生学习成果的全面检验,包括理论知识和实际操作两部分。
评估方式应公正客观,能够全面反映学生的学习成果。
c简单计算器课程设计
c 简单计算器课程设计一、课程目标知识目标:1. 让学生掌握简单计算器的基本操作,包括开机、关机、清除屏幕、输入数字和运算符号。
2. 使学生理解加、减、乘、除四则运算的基本概念,并能够在简单计算器上进行正确的运算操作。
3. 帮助学生识别计算器上各个按键的功能,了解其对应的数学意义。
技能目标:1. 培养学生运用简单计算器解决实际问题的能力,如购物找零、计算面积等。
2. 提高学生进行四则运算的速度和准确性,提高计算效率。
3. 引导学生掌握计算器使用技巧,如连续计算、顺序计算等。
情感态度价值观目标:1. 培养学生对计算器的正确态度,认识到计算器是学习数学的工具,而非替代品。
2. 激发学生学习数学的兴趣,让学生在轻松愉快的氛围中体验数学计算的乐趣。
3. 培养学生的合作意识,使学生在小组讨论和互助学习中提高沟通能力,培养团队精神。
本课程针对小学三年级学生设计,结合学生年龄特点,注重激发兴趣和培养动手操作能力。
课程内容紧密联系教材,将目标分解为具体的学习成果,便于后续教学设计和评估。
通过本课程的学习,学生将能够熟练运用简单计算器,提高数学计算能力,培养良好的学习习惯和团队协作能力。
二、教学内容1. 计算器的基本结构:引导学生认识计算器的外观、各部分名称及其功能。
- 教材章节:第三章第1节《认识计算器》- 内容列举:计算器按键布局、显示屏、开机与关机、清除键等。
2. 四则运算操作:讲解加、减、乘、除四则运算在计算器上的操作方法。
- 教材章节:第三章第2节《计算器的四则运算》- 内容列举:按键输入、运算顺序、连续运算、计算结果读取等。
3. 计算器使用技巧:教授计算器的高级使用技巧,提高计算效率。
- 教材章节:第三章第3节《计算器使用技巧》- 内容列举:百分比计算、乘方运算、记忆功能等。
4. 实践应用:结合实际生活场景,让学生运用计算器解决实际问题。
- 教材章节:第三章第4节《计算器在实际生活中的应用》- 内容列举:购物找零、计算面积、体积、速度等。
C课程设计(计算器)[转载]
04
C语言函数
函数的定义和声明
函数定义:函数是完成特定任务的独立代码块,可以重复使用 函数声明:在函数定义之前,需要先声明函数,以便编译器知道函数的存在 函数参数:函数可以接受参数,参数可以是变量、常量或其他表达式 函数返回值:函数可以返回一个值,返回值可以是任何类型的数据
2010年代,全球科学家共 同研发了第一台量子计算
机
计算器的应用场景
家庭日常计算:如购物、做饭等 学校教育:如数学、物理等学科的教学和练习 商业计算:如财务、会计等业务的计算和统计 科研计算:如科学研究、工程计算等数据的处理和分析
02
C语言基础
C语言概述
C语言是一种高级 编程语言,广泛应 用于系统编程、嵌 入式系统、驱动程 序等领域。
01
计算器概述
计算器的基本功能
加减乘除运算 平方、开方、求余等高级运算 存储和读取数据
计算器模式切换(如科学计算器、工 程计算器等)
单位转换(如长度、重量、温度等)
计算器设置(如时间、日期、闹钟等)
计算器的发展历程
1820年,英国数学家查尔 斯·巴比奇发明了第一台差
分机
1960年代,日本科学家发 明了第一台便携式电子计
执行流程:函 数被调用后, 会按照函数体 中的代码顺序
执行
返回值:函数 执行完成后,
可以通过 return语句返
回一个值
结束调用:函 数执行完成后, 会返回到调用 函数的位置, 继续执行后面
的代码
05
计算器功能实现
输入输出处理
输入:键盘输入,支持数字、运算符号等 输出:显示屏显示计算结果 处理:计算器内部进行计算,包括加减乘除等基本运算 错误处理:输入错误时,给出提示信息,如“输入错误,请重新输入”
c简单计算器课程设计报告
c 简单计算器 课程设计报告一、课程目标知识目标:1. 让学生掌握简单计算器的基本功能,包括加、减、乘、除等四则运算。
2. 使学生理解计算器操作规则,如先算乘除后算加减、括号的作用等。
3. 帮助学生掌握计算器上的其他功能键,如清除、取反、百分比等。
技能目标:1. 培养学生运用计算器进行四则运算的能力,提高计算速度和准确性。
2. 培养学生运用计算器解决实际问题的能力,如购物找零、计算面积等。
3. 培养学生通过观察、思考、提问等方式,发现计算器使用过程中的问题,并尝试解决。
情感态度价值观目标:1. 培养学生对待计算器等电子设备的正确态度,爱护设备,遵守使用规范。
2. 培养学生在合作学习中互相帮助、共同进步的精神,增强团队意识。
3. 通过计算器教学,激发学生对数学学科的兴趣,提高学生的自信心和自主学习能力。
本课程针对年级学生的特点,注重培养学生的学习兴趣和实践能力。
课程性质为实践操作类,强调学生在动手实践中掌握知识。
在教学过程中,教师需关注学生的学习需求,及时调整教学策略,确保学生能够达到课程目标。
课程目标分解为具体学习成果,以便于后续教学设计和评估。
在教学结束后,学生应能独立使用计算器完成四则运算,解决实际问题,并在学习过程中培养良好的情感态度和价值观。
二、教学内容1. 计算器基本结构认知:让学生了解计算器各部分名称及其功能,如数字键、运算符号键、等于键、清除键等。
2. 四则运算操作方法:教学加、减、乘、除四则运算的计算器操作方法,以及运算顺序和括号的使用。
- 加法和减法运算- 乘法和除法运算- 混合运算及括号应用3. 计算器其他功能键使用:介绍取反、百分比、开方等特殊功能键的操作方法。
4. 实践应用:设计实际应用场景,让学生运用计算器解决购物找零、计算面积、计算速度等问题。
- 购物找零问题- 长度、面积、体积计算- 速度、时间、路程计算教学内容参考教材相关章节,结合课程目标进行整合。
教学大纲安排如下:第一课时:计算器基本结构认知、四则运算操作方法(加法和减法运算)第二课时:四则运算操作方法(乘法和除法运算)第三课时:四则运算操作方法(混合运算及括号应用)第四课时:计算器其他功能键使用第五课时:实践应用(购物找零问题)第六课时:实践应用(长度、面积、体积计算)第七课时:实践应用(速度、时间、路程计算)教学内容注重科学性和系统性,确保学生能够循序渐进地掌握计算器的使用方法,并在实际应用中巩固所学知识。
c简易计算器课程设计
c 简易计算器课程设计一、课程目标知识目标:1. 学生能理解简易计算器的基本原理,掌握加、减、乘、除四则运算的操作方法。
2. 学生能够运用所学知识,解决生活中简单的数学问题。
3. 学生了解计算器的发展历程,认识到科技对生活的影响。
技能目标:1. 学生能够熟练操作简易计算器,进行基本的四则运算。
2. 学生通过实际操作,培养动手能力和问题解决能力。
3. 学生能够运用计算器辅助学习,提高数学学习效率。
情感态度价值观目标:1. 学生培养对数学学习的兴趣,树立正确的数学观念。
2. 学生在合作交流中,培养团队意识和沟通能力。
3. 学生通过计算器的使用,认识到科技发展的成果,增强民族自豪感。
课程性质:本课程为信息技术与数学学科的整合课程,旨在通过简易计算器的学习,提高学生的数学素养和信息技术能力。
学生特点:四年级学生具备一定的数学基础和信息技术能力,好奇心强,善于合作交流。
教学要求:教师需结合学生的特点,采用启发式教学,引导学生主动探究,注重培养学生的动手能力和问题解决能力。
在教学过程中,关注学生的情感态度,激发学生的学习兴趣,使学生在轻松愉快的氛围中学习。
通过本课程的学习,使学生达到预期的学习成果。
二、教学内容1. 计算器的历史与原理:介绍计算器的发展简史,探讨计算器的工作原理,让学生了解计算器的演变过程,认识到科技对生活的改变。
2. 简易计算器操作方法:详细讲解加、减、乘、除四则运算的操作步骤,让学生熟练掌握计算器的使用方法。
3. 实践应用:结合数学课本中的实际例题,指导学生运用计算器进行计算,解决实际问题,提高计算速度和准确性。
4. 计算器在数学学习中的应用:探讨计算器在辅助数学学习中的作用,如:简化计算过程、提高解题效率等。
教学内容安排和进度:第一课时:计算器的历史与原理,计算器的简单操作。
第二课时:四则运算的操作方法,实践练习。
第三课时:计算器在数学学习中的应用,解决实际问题。
教材章节:《信息技术》第四章:计算器与计算机。
vc计算器课程设计
描写童年趣事作文600字高二描写童年趣事作文600字高二6篇童年是七色的,是热忱的、可爱的、好玩的,布满笑声的。
共享一下你的童年趣事吧。
下面是我为大家收集的描写童年趣事作文600字高二例文,期望你宠爱。
描写童年趣事作文600字高二(篇1)一进教室,映入眼帘的就是讲台上的那几个易拉罐和几根“专业”的钓鱼竿。
我一下子就呆住了,心里不禁猜想起老师葫芦里卖的是什么药?“莫非是去钓鱼,不对,要易拉罐干什么?莫非里面装的是鱼食?不对,不对”“下面我们来玩一个叫‘钓旱鱼’的玩耍吧!”老师的一句话打断了我的猜想,也点破了我的困惑。
首先,江老师将我们分成四个大组,每个大组有六名“钓鱼者”。
老师为了让我们生疏玩耍规章,便让我们先进行练习。
在练习的过程中,我渐渐把握了要领,能在十五秒之内钓起一条“旱鱼”了。
在为自己的成绩窃喜时,我才发觉真是“人外有人,天外有天”啊!———有些同学格外娴熟,不出十秒就能钓起一条“旱鱼”,这使我不由得站在一旁观看起其他人的动作。
不一会儿,练习结束,老师让各组前来抽签。
令我欣喜的是:我们组竟幸运的抽到了第5号,这样我们就有机会进行训练了。
这时,老师让每组选出2名队员来参赛。
然而,在参赛问题上,大家竟不约而同的推选了我和刘宇欣,这是我颇感意外的。
竞赛最终开头了。
首先上场的是闵耀东和王涵,他们或许是由于第一个上场产生了恐惊心理,或许是由于不太娴熟,所以显得有些力不从心,连续2次都使“鱼儿”顺当脱钩,最终才钓起了2次。
我和队友们马上对他们报以了“鼓舞”的掌声。
最精彩的也是最使人感到意外的,是第四个上场的李亦桐和方菁如一组。
她们一开头上场的表现是顺风顺水,一连钓起了2个,但到中间的时候,不知是谁顺手将竿一抖,两根鱼竿就像热恋情人一般纠缠在一起了,害得同学们费了九牛二虎之力才将难分难舍的它们分开。
“哈!哈!哈!”的笑声始终萦绕在我的耳畔,它不仅使我的童年丰富多彩,更使它意义非凡。
描写童年趣事作文600字高二(篇2)每个人的童年生活都是丰富多彩的,布满了无穷的乐趣。
c设计计算器课程设计
c 设计计算器课程设计一、课程目标知识目标:1. 学生能理解计算器的基本原理和功能,掌握计算器的基本操作方法。
2. 学生能够运用计算器解决基本的数学运算问题,如加减乘除、百分比计算等。
3. 学生能够理解并运用计算器上的科学计算功能,如平方根、指数运算等。
技能目标:1. 学生能够熟练操作计算器,快速进行数值输入、计算和结果读取。
2. 学生能够运用计算器进行实际问题的计算,如购物找零、时间计算等。
3. 学生能够通过计算器解决一些简单的数学问题,培养解决问题的能力和逻辑思维能力。
情感态度价值观目标:1. 学生培养对计算器的正确使用态度,明白计算器是辅助工具,提高计算效率的同时,不应过度依赖。
2. 学生在合作交流中使用计算器,培养团队合作意识和分享精神。
3. 学生通过计算器的运用,增强对数学学科的兴趣,认识到数学与生活的紧密联系。
课程性质:本课程属于实践操作类课程,注重培养学生的动手操作能力和实际问题解决能力。
学生特点:学生处于小学高年级阶段,对计算器有一定了解,好奇心强,喜欢动手操作。
教学要求:教师应引导学生通过实践操作,掌握计算器的使用方法,将计算器与实际生活问题相结合,提高学生的数学应用能力。
同时,注重培养学生的团队合作意识和正确使用计算器的态度。
在教学过程中,关注学生的学习成果,及时进行教学评估和调整。
二、教学内容1. 计算器的基本结构:介绍计算器的各个部分及其功能,如显示屏、键盘、电源等。
教材章节:《计算器与计算法则》第一章内容列举:计算器按键的功能及操作方法。
2. 计算器的基本操作:教授加减乘除、百分比、平方根、指数等基本运算。
教材章节:《计算器与计算法则》第二章内容列举:各类运算的操作步骤及注意事项。
3. 计算器在生活中的应用:通过实例教授计算器解决实际问题,如购物找零、时间计算等。
教材章节:《计算器与计算法则》第三章内容列举:实际案例及解决方法。
4. 科学计算器的使用:针对高年级学生,介绍科学计算器的拓展功能,如三角函数、对数等。
c课程设计简易计算器
c 课程设计简易计算器一、课程目标知识目标:1. 让学生掌握简易计算器的基本功能与操作,包括加、减、乘、除等四则运算。
2. 使学生理解计算器的工作原理,了解显示屏、键盘等组成部分及其作用。
3. 帮助学生掌握计算器的使用规范,如开关机、输入输出等基本操作。
技能目标:1. 培养学生运用计算器解决实际问题的能力,提高计算速度和准确性。
2. 培养学生通过观察、尝试、探索等方法,自主发现计算器操作技巧和功能特点。
3. 培养学生合作交流的能力,学会在小组讨论中分享观点,共同解决问题。
情感态度价值观目标:1. 激发学生对计算器的学习兴趣,培养良好的学习习惯和探究精神。
2. 培养学生尊重科学、严谨求实的态度,树立正确的价值观。
3. 培养学生团队协作意识,增强合作解决问题的能力。
本课程针对小学四年级学生,结合教材内容,以实用性为导向,注重培养学生的动手操作能力和实际问题解决能力。
课程目标明确,易于衡量,为后续教学设计和评估提供依据。
在教学过程中,教师应关注学生个体差异,因材施教,确保每位学生都能在课程中收获知识和技能。
二、教学内容本章节教学内容主要包括以下几部分:1. 计算器的基本结构:介绍计算器的显示屏、键盘、电池等组成部分及其功能。
2. 四则运算操作:详细讲解加、减、乘、除四则运算在计算器上的操作步骤。
3. 计算器操作规范:教授计算器的开关机、清屏、输入输出等基本操作规范。
4. 实际问题解决:结合教材实例,引导学生运用计算器解决生活中的实际问题。
5. 操作技巧与功能探索:指导学生探索计算器的其他功能,如百分比、乘方等,并分享操作技巧。
教学内容安排如下:第一课时:计算器的基本结构及操作规范介绍。
第二课时:四则运算操作教学,以教材为例题进行讲解和实操。
第三课时:实际问题解决,分组讨论并运用计算器解决生活中的数学问题。
第四课时:操作技巧与功能探索,学生自主探究计算器其他功能并分享。
教学内容与教材紧密关联,确保科学性和系统性。
c计算器课课程设计
c计算器课课程设计一、教学目标本节课的教学目标是让学生掌握C语言编程的基础知识,了解C语言的特点和用途,学会使用C语言编写简单的程序。
具体来说,知识目标包括:了解C语言的基本语法、数据类型、运算符、控制结构等;技能目标包括:能够使用C语言编写并运行简单的程序,能够阅读和理解简单的C语言程序;情感态度价值观目标包括:培养学生对计算机编程的兴趣和热情,提高学生解决问题的能力。
二、教学内容本节课的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构等。
具体来说,教学大纲如下:1.C语言的基本语法:介绍C语言的变量、常量、语句、注释等基本元素。
2.数据类型:介绍整型、浮点型、字符型等基本数据类型,以及枚举类型和指针类型。
3.运算符:介绍算术运算符、关系运算符、逻辑运算符等。
4.控制结构:介绍顺序结构、选择结构、循环结构等。
三、教学方法为了激发学生的学习兴趣和主动性,本节课将采用多种教学方法,包括讲授法、讨论法、案例分析法、实验法等。
具体来说:1.讲授法:教师通过讲解C语言的基本语法、数据类型、运算符、控制结构等知识,帮助学生建立知识体系。
2.讨论法:教师引导学生分组讨论编程问题,培养学生的团队协作能力和解决问题的能力。
3.案例分析法:教师通过分析典型程序案例,引导学生学会阅读和理解C语言程序。
4.实验法:教师安排编程实验,让学生动手编写C语言程序,巩固所学知识。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:选用《C程序设计语言》作为主要教材,介绍C语言的基本语法、数据类型、运算符、控制结构等。
2.参考书:推荐学生阅读《C Primer Plus》等参考书,加深对C语言的理解。
3.多媒体资料:制作PPT课件,展示C语言的基本语法、数据类型、运算符、控制结构等知识。
4.实验设备:准备计算机实验室,让学生进行编程实验。
五、教学评估为了全面、客观、公正地评估学生的学习成果,本节课的教学评估将采用多种方式,包括平时表现、作业、考试等。
计算器c语言课程设计
计算器c语言课程设计一、教学目标本课程旨在通过学习计算器C语言,让学生掌握C语言编程的基础知识和技能,培养学生独立思考、解决问题的能力,并激发学生对计算机科学的兴趣。
1.了解C语言的发展历程和基本特点。
2.掌握C语言的数据类型、运算符、表达式等基本语法。
3.熟悉C语言的函数、数组、指针等编程技巧。
4.理解C语言的程序结构和编译过程。
5.能够使用C语言编写简单的程序,解决实际问题。
6.具备阅读和理解C语言程序的能力。
7.掌握C语言的调试技巧,能够找出和修复程序中的错误。
情感态度价值观目标:1.培养学生对计算机科学的热爱和好奇心,激发学生继续深入学习计算机科学的动力。
2.培养学生严谨、细致的编程习惯,提高学生的逻辑思维能力。
3.培养学生团队协作精神,增强学生的沟通能力。
二、教学内容本课程的教学内容主要包括C语言的发展历程、基本语法、编程技巧和实际应用等方面。
1.C语言的发展历程和基本特点。
2.数据类型、运算符、表达式等基本语法。
3.函数、数组、指针等编程技巧。
4.程序结构和编译过程。
5.C语言在实际应用中的案例分析。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法,以激发学生的学习兴趣和主动性。
1.讲授法:通过讲解C语言的基本概念和语法,使学生掌握C语言的基础知识。
2.案例分析法:分析实际案例,让学生了解C语言在实际应用中的具体运用。
3.实验法:让学生动手编写C语言程序,培养学生的实际编程能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备等。
1.教材:选用权威、实用的C语言教材,为学生提供系统的学习资料。
2.参考书:提供丰富的参考书籍,拓宽学生的知识面。
3.多媒体资料:制作精美的PPT课件,生动展示C语言的特点和应用。
4.实验设备:提供计算机实验室,让学生进行实际编程练习。
五、教学评估本课程的评估方式包括平时表现、作业、考试等多个方面,以全面、客观、公正地评价学生的学习成果。
c语言课程设计设计计算器
c语言课程设计设计计算器一、课程目标知识目标:1. 让学生掌握C语言基础语法,包括变量声明、数据类型、运算符等;2. 让学生了解并运用顺序结构、选择结构和循环结构进行程序设计;3. 使学生掌握函数的定义和调用,理解模块化编程思想。
技能目标:1. 培养学生运用C语言编写简单计算器程序的能力;2. 培养学生分析问题、设计算法和解决问题的能力;3. 提高学生调试程序、查找并解决问题的能力。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发学生的学习热情;2. 培养学生团队合作意识,提高沟通与协作能力;3. 培养学生面对问题积极思考、勇于克服困难的精神。
课程性质:本课程为实践性较强的课程,要求学生在掌握C语言基础知识的基础上,运用所学知识设计计算器程序。
学生特点:学生为初中生,具备一定的逻辑思维能力,对编程有一定的好奇心,但实践经验不足。
教学要求:结合学生特点,注重理论与实践相结合,引导学生通过动手实践掌握C语言编程技能,培养解决问题的能力。
在教学过程中,注重激发学生兴趣,鼓励学生积极参与讨论和交流,提高学生的编程素养。
通过本课程的学习,使学生能够独立完成一个简单的计算器程序设计。
二、教学内容1. C语言基础知识回顾:变量、数据类型、运算符、表达式等;2. 程序控制结构:顺序结构、选择结构(if-else)、循环结构(for、while);3. 函数的定义和调用:理解函数的作用,学会编写和调用函数;4. 模块化编程:按照功能模块划分,编写独立的函数,提高程序可读性和可维护性;5. 计算器功能需求分析:加、减、乘、除等基本运算,以及括号支持;6. 算法设计:根据功能需求,设计相应的算法;7. 编程实践:根据算法,编写计算器程序,并进行调试优化;8. 测试与评估:对计算器程序进行测试,评估程序的正确性、健壮性。
教学内容安排和进度:1. 第1课时:C语言基础知识回顾;2. 第2课时:程序控制结构;3. 第3课时:函数的定义和调用;4. 第4课时:模块化编程;5. 第5课时:计算器功能需求分析;6. 第6课时:算法设计;7. 第7-8课时:编程实践;8. 第9课时:测试与评估。
c计算器课程设计
c计算器课程设计一、课程目标知识目标:1. 理解c计算器的基本功能与操作,掌握其在数学运算中的应用;2. 学会使用c计算器解决基本的算术问题,如加减乘除、括号运算等;3. 了解c计算器在科学计算中的拓展功能,如三角函数、对数等运算。
技能目标:1. 能够熟练运用c计算器进行日常数学计算,提高计算速度和准确性;2. 学会利用c计算器辅助解决复杂问题,培养解决问题的能力;3. 通过c计算器的操作,锻炼学生的逻辑思维和动手操作能力。
情感态度价值观目标:1. 培养学生对计算器工具的兴趣,激发学习数学的热情;2. 增强学生在团队合作中使用计算器的意识,培养学生的团队协作精神;3. 引导学生正确看待科技产品,树立正确的价值观,认识到科技对生活的积极作用。
课程性质:本课程为实践性课程,注重学生动手操作能力的培养。
学生特点:学生处于好奇心强、动手能力逐渐提高的阶段,对新鲜事物充满兴趣。
教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的积极性和主动性。
在教学过程中,将课程目标分解为具体的学习成果,以便进行有效的教学设计和评估。
二、教学内容1. c计算器的基本功能与操作:包括开机、关机、清屏、基本数学运算(加减乘除)、括号运算等;关联教材章节:第一章 计算器概述及基本操作;2. c计算器的科学计算功能:介绍三角函数、对数、指数、开方等高级计算功能;关联教材章节:第二章 计算器的高级功能;3. 实践操作:通过实际操作练习,让学生熟练掌握c计算器的各种功能;关联教材章节:第三章 计算器操作实践;4. 应用举例:结合实际数学问题,展示c计算器的应用,提高学生解决问题的能力;关联教材章节:第四章 计算器在实际问题中的应用;5. 团队合作与讨论:分组进行计算器操作比赛,讨论计算器在日常生活和学习中的应用;关联教材章节:第五章 计算器的团队合作与交流。
教学大纲安排:1. 第1-2课时:介绍c计算器的基本功能与操作;2. 第3-4课时:讲解c计算器的科学计算功能;3. 第5-6课时:实践操作,熟练掌握计算器功能;4. 第7课时:应用举例,解决实际问题;5. 第8课时:团队合作与讨论,总结学习成果。
vc课程设计计算器
vc 课程设计计算器一、教学目标本课程旨在让学生掌握计算器的基本使用方法,理解计算器在数学和科学计算中的应用,培养学生的逻辑思维能力和解决问题的能力。
具体目标如下:知识目标:使学生了解计算器的各种功能及其应用场景,掌握计算器的基本操作方法。
技能目标:能够运用计算器进行简单的数学计算、科学计算和数据处理,提高计算准确性和效率。
情感态度价值观目标:培养学生对科学技术的兴趣和好奇心,激发学生探索未知、创新思维的精神。
二、教学内容本课程的教学内容主要包括以下几个部分:1.计算器的基本结构:介绍计算器的各种按键功能及其对应的操作。
2.计算器的使用方法:讲解如何使用计算器进行数学计算、科学计算和数据处理。
3.计算器在实际应用中的案例分析:通过实际案例,使学生了解计算器在日常生活和学习中的重要作用。
4.计算器的维护与保养:教授学生如何正确使用和维护计算器,延长其使用寿命。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式:1.讲授法:教师讲解计算器的基本原理、功能及使用方法。
2.讨论法:分组讨论计算器在实际应用中遇到的问题,培养学生解决问题的能力。
3.案例分析法:分析实际案例,使学生了解计算器在生活和学习中的重要作用。
4.实验法:让学生亲自动手操作计算器,进行实际计算,巩固所学知识。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选用内容丰富、适合学生年龄特点的计算器教材。
2.参考书:提供相关的计算器使用手册和资料,供学生课后自学。
3.多媒体资料:制作课件、教学视频等,以生动形象的方式展示计算器的使用方法。
4.实验设备:为学生提供足够的计算器,以便进行实际操作和实验。
五、教学评估为了全面、客观地评估学生的学习成果,本课程将采用以下评估方式:1.平时表现:观察学生在课堂上的参与程度、提问回答等情况,了解学生的学习态度和兴趣。
2.作业:布置适量的课后作业,检查学生对课堂所学知识的掌握程度。
C语言课程设计--计算器(图形界面)
C语言课程设计--计算器(图形界面)扬州大学C语言课程设计报告题目一个简易计算器的设计与实现班级学号姓名指导教师成绩老师评语:第 2 页共 14 页第 3 页共 14 页一、系统调试…………………………………………8,9,10,11二、课程设计体会总结………………………………8,9,10,111 课程设计目的(1).课程设计是一项综合性实践环节,是对平时实验的一个补充,课程设计内容包括课程的主要理论知识,但由于C语言对初学者较难掌握,因而对一个完整的C语言程序不适合平时实验。
通过课程设计可以达到综合设计C语言程序的目的。
(2)通过本课程设计,可以培养独立思考,综合运用所学有关相应知识的能力,能更好地使用C语言的知识,更好地了解C语言的好处和其可用性!掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级程序设计能力。
为后续各门计算机课程的学习和毕业设计打下坚实基础!(3)通过本程序训练程序设计的基本技能,掌握字符串的表示方法和字符串函数的功能、自学掌握四则运算的算法及WIN-TC的图形操作的基本知识、键盘上特殊键的获取及图形方式下光标的显示。
2 课程设计内容目的:本课程的课程设计要求学生模拟实现一个简单计算器,要求(1)能够实现四则运算,并能支持优先级运算。
(2)三角与反三角运算:如sinx,cosx等。
(3)指数对数运算:如log(x),lnx,e的x次方等。
(4)其他运算:如X!,x 的累加等。
(4)不允许调用库函数,使用自行开发的程序实现常用函数运算。
(5)进一步考虑计算器外观设计,用可视化界面给出计算器外观、功能按键及输入界面。
使用说明:执行加法运算,'—'表示执行减法运算,表示执行乘法运算,'/'表第 4 页共 14 页示除法运算.‘Q’表示退出计算器‘C’表示清零,’=’表示得出结果'^'表示执行x的y次方,'e'表示执行e的x次方操作,'&'表示执行累加操作.,你可以可以用键盘上的上下左右键对光标进行移动,当光标移动到计算器按键上时,按ENTER即可执行该键的操作!最后按“=”则可得出结果。
c分数计算器课程设计
c 分数计算器课程设计一、课程目标知识目标:1. 学生能够掌握分数计算的基本概念,包括同分母分数加减、异分母分数加减、分数乘除等运算规则。
2. 学生能够运用所学知识解决实际问题,如分数四则运算、分数与小数的转换等。
3. 学生理解分数在生活中的应用,认识到分数在数学及其他学科中的重要性。
技能目标:1. 学生能够熟练运用计算器进行分数计算,提高运算速度和准确性。
2. 学生能够通过自主探究、合作学习等方式,解决分数计算中的问题,培养解决问题的能力。
3. 学生能够运用分数知识解决实际生活中的问题,提高学以致用的能力。
情感态度价值观目标:1. 学生对分数计算产生兴趣,积极参与课堂讨论和实践活动,树立自信心。
2. 学生在小组合作中,学会倾听他人意见,尊重他人,培养团队协作精神。
3. 学生通过学习分数计算,认识到数学与生活的紧密联系,培养用数学的眼光观察和解决问题的习惯。
二、教学内容1. 同分母分数加减法:讲解同分母分数加减的运算规则,通过例题和练习,让学生掌握计算方法,并能熟练运用计算器进行操作。
2. 异分母分数加减法:引入通分概念,讲解异分母分数加减的运算规则,通过实际操作,使学生掌握通分方法,并能够运用计算器进行计算。
3. 分数乘除法:讲解分数乘除的运算规则,通过例题和练习,让学生学会使用计算器进行分数乘除运算。
4. 分数与小数的转换:讲解分数与小数的互化方法,使学生能够利用计算器进行分数与小数的转换。
5. 分数在实际问题中的应用:结合生活实例,让学生运用所学知识解决实际问题,如购物时计算折扣、计算成绩等。
教学内容依据教材章节安排,包括以下部分:1. 教材第3章“分数的计算”;2. 教材第4章“分数的应用”;3. 教材第5章“计算器的使用”。
教学进度安排:共6课时,具体安排如下:1. 同分母分数加减法(1课时);2. 异分母分数加减法(2课时);3. 分数乘除法(1课时);4. 分数与小数的转换(1课时);5. 分数在实际问题中的应用(1课时)。
c计算器课程设计
c 计算器课程设计一、课程目标知识目标:1. 学生能够理解计算器的基本原理和功能;2. 学生掌握计算器的基本操作,包括开机、关机、清屏、基本运算等;3. 学生能够运用计算器进行简单的数学运算,如加减乘除、百分比计算等;4. 学生了解计算器在日常生活和学习中的应用。
技能目标:1. 学生能够熟练操作计算器,提高计算速度和准确性;2. 学生通过计算器解决实际问题,培养解决问题的能力和创新思维;3. 学生学会使用计算器进行数据统计和分析,为后续学习打下基础。
情感态度价值观目标:1. 学生培养对计算器的兴趣,认识到计算器在科技发展中的重要性;2. 学生养成使用计算器辅助学习的习惯,提高学习效率;3. 学生在合作交流中,学会尊重他人,培养团队协作精神;4. 学生通过计算器课程,认识到数学与生活的紧密联系,增强学习数学的信心。
课程性质:本课程为实用技能类课程,旨在让学生掌握计算器的使用方法,提高计算速度和准确性,培养解决实际问题的能力。
学生特点:学生处于小学高年级阶段,对新鲜事物充满好奇,具备一定的数学基础,但操作技能和问题解决能力有待提高。
教学要求:结合学生特点,采用讲解与实践相结合的教学方法,注重培养学生的动手能力和实际应用能力。
在教学过程中,关注学生的个体差异,因材施教,确保每位学生都能达到课程目标。
通过课程学习,使学生能够将计算器作为学习工具,提高学习效果。
二、教学内容本课程教学内容主要包括以下几部分:1. 计算器概述:介绍计算器的发展历程、分类及基本功能,让学生了解计算器在科技发展中的作用。
2. 计算器操作方法:详细讲解计算器的开关机、清屏、基本运算(加减乘除、百分比计算等)的操作步骤,让学生熟练掌握计算器的使用。
3. 实际应用:结合教材内容,设计实际应用场景,如购物、预算等,让学生学会运用计算器解决生活中的问题。
4. 数据统计与分析:教授学生使用计算器进行数据统计(如平均数、总和等)和分析(如线性方程求解等),为后续学习打下基础。
C语言课程设计(计算器)
目录1 前言 (2)2 需求分析 (2)2.1要求 (2)2.2任务 (2)2.3运行环境 (2)2.4开发工具 (2)3 概要设计 (2)3.1系统流程图 (3)3.2查询函数流程图 (4)4 详细设计 (8)4.1分析和设计 (8)4.2具体代码实现 (9)5 课程设计总结 (25)参考文献 (25)致谢 (26)1 前言编写一个程序来实现算术计算器。
通过结构体数组和共用体数组来存放输入的每一数字或运算符号的记录(包括1.2.3等数字, +、--、*、等运算符号), 然后将其信息存入文件中。
输入一个算术计算式, 就在屏幕上显示结果。
2 需求分析2.1要求(1)用C语言实现程序设计;(2)利用结构体、共用体进行相关信息处理;(3)画出查询模块的流程图;(4)系统的各个功能模块要求用函数的形式实现;(5)界面友好(良好的人机互交), 程序要有注释。
2.2任务(1)定义一个结构体类型数组, 输入0~9及+、--、*等符号的信息, 将其信息存入文件中;(2)输入简单的加减乘除算术计算式, 并在屏幕上显示计算结果;(3)画出部分模块的流程图;(4)编写代码;(5)程序分析与调试。
2.3运行环境(1)WINDOWS2000/XP系统(2)TurboC2.0编译环境2.4开发工具C语言3 概要设计3.1系统流程图如图3.1所示。
图3.1系统流程图3.2查询函数流程图4 详细设计4.1分析和设计在程序的开头部分定义了结构替类型, 用来存放按钮信息struct s_button /*按键的结构体*/{int sx,sy,ex,ey;char *head;int press;}button[17]; /*图表按键数*/char far *vid_mem;static int tx=32,ty=3; /*静态变量*/float v1=0.0,v2=0.0;用输入函数input()来输入按键放在s_button数组中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象程序设计语言--课程设计题目计算器设计院系航空宇航学院专业飞行器设计与工程学生姓名张权学号*********指导教师张德平二零一二年六月九日计算器设计(一)、目的与要求:1、目的:通过开发计算器程序,进一步熟悉C++中类和对象的定义与使用,掌握程序控制的方法,掌握C++程序设计的基本知识。
2、基本要求:(1)设计计算器程序,可对实数操作;(2)可对多个基数操作的四则运算;(3)增加函数如:正弦、余弦、正切、对数、平方和平方根、完成四则混合运算,注意考虑优先级,对应增加主菜单选项;(4)根据程序的提示,可以进行正弦运算进行余弦运算、正切运算、对数运算、求平方运算、混合运算、华氏温度转化为摄氏温度的运算、摄氏温度转化为华氏温度的运算、求平方根运算。
使四则运算能够具有测试功能,即计算机能够自动出题,并要求用户计算,同时计算机判断用户的对错并打分,要求十题为一个单元,加减运算时最高为两位数的运算,乘法为两位数乘以一位数,除法是两位数或者三位数除以一位数,要求没有余数。
(二)、设计方法和基本原理:1、问题描述(功能要求):实数间的计算很复杂,它包括:相加、相减、相乘、相除、求三角函数、求对数、四则混合运算等。
试设计计算器,使之能提供以下功能:1).可以连续输入运算,对于输入的表达式能够按算符优先级进行处理。
如:输入4+5*3时,应该输出60,而不是27。
2).可以处理包含括号的表达式。
如:输入2*(3+2)时,应该输出10,而不是8。
3).可以计算三角函数、对数函数、平方根以及平方。
4).能够实现华氏温度与摄氏温度之间的转换。
5).四则运算能够具有测试功能,即计算机能够自动出题,并要求用户计算,同时计算机判断用户的对错并打分。
6).系统以菜单方式工作。
(所谓菜单指用户可以自由选择所要执行的功能)7).当使用者输入错误时要有错误提示。
2、问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤:(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系包括属性和行为;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述(包括属性和方法);(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;(8)完成系统总结报告。
目录1. 系统需求分析 (1)2. 总体设计 (1)3. 详细设计 (2)4. 系统调试 (6)5. 结果分析............................................................ 错误!未定义书签。
6. 总结.................................................................... 错误!未定义书签。
附录:源程序清单1.系统需求分析实数间的计算很复杂,它包括:相加、相减、相乘、相除、求三角函数、求对数、四则混合运算等。
试设计计算器,使之能提供以下功能:1).可以连续输入运算,对于输入的表达式能够按算符优先级进行处理。
如:输入4+5*3时,应该输出60,而不是27。
2).可以处理包含括号的表达式。
如:输入2*(3+2)时,应该输出10,而不是8。
3).可以计算三角函数、对数函数、平方根以及平方。
4).能够实现华氏温度与摄氏温度之间的转换。
5).四则运算能够具有测试功能,即计算机能够自动出题,并要求用户计算,同时计算机判断用户的对错并打分。
6).系统以菜单方式工作。
(所谓菜单指用户可以自由选择所要执行的功能)7).当使用者输入错误时要有错误提示。
学生可以通过以上功能计算实数间的加、减、乘、除、求三角函数、求平方、求平方根、求对数以及实现华氏温度和摄氏温度间的转换,除了要实现上述的基本功能之外,本系统还应该在细节上下工夫,使用户使用方便,在使用的过程中保持一个愉快的心情。
计算器系统有广大的用户群,这其中有老师、学生、有公司办公人员,也可以供给一般用户使用。
总之,该系统可以满足用户需求,实现对实数的计算。
2.总体设计计算器系统包含六个大的功能,分别是:四则混合运算、三角函数运算、对数运算、平方和平方根运算、摄氏温度和华氏温度的转换、测试功能。
在上述六大功能中最难的是四则混合运算的实现,特别是优先级的判断,不但有加减乘除之间的优先级判断,而且还有括号夹杂其中,使得实现起来非常困难。
于是,我考虑用栈和二叉树来实现。
系统弹出主菜单来提示用户输入其想要实现的运算类型,然后根据用户所选的类型来调用相关的函数计算并返回结果。
当系统完成运算后,会再次跳出主菜单让用户选择,用户可以选择推出或者继续。
当用户输入出错时,系统会提示用户。
总之,用户可以方便的在系统提示下进行使用。
本系统还具有测试功能,系统出题,用户输入答案,系统会判断对错并给出用户的得分。
计算器系统中功能模块图:3. 详细设计系统通过主菜单提示用户选择相应的功能。
该计算器的功能主要为下列6个:(1).四则混合运算模块用户选择功能,输入要进行的多项式(不能输入空格符),实现实数的四则混合运算。
混合运算流程图:(2).三角函数模块用户选择功能,输入实数,实现求三角函数的功能。
三角函数运算流程图(3).对数模块用户选择功能,输入实数,实现对数的求解。
对数函数流程图(4).平方和平方根模块用户选择功能,输入实数,实现平方和平方根运算。
(5).华氏温度与摄氏温度的转换模块(6).测试模块系统出题,用户输入答案,系统会判断对错并给出用户的得分。
4.系统调试程序编写完成后,我进行了程序调试。
调试过程中,出现了以下问题:(1).当我第一次运行程序时,出现了很多错误,大部分是定义的函数名与引用时不同,这是由于粗心引起的。
还好,这个程序也就300多行代码,找起来不是很困难,但是如果是上万行的代码,那就要花很多时间。
以后在编程时,我要细心些,不能把时间浪费在这种低级错误上。
(2).在调试除法运算时,我发现自己没有考虑除数为零的情况,一旦输入的除数为零,系统就无法运行了。
我回到除法运算的函数中,加入判断除数是否为零以及为零时的处理的代码,问题就解决了。
在对数运算、求平方根运算中都有类似情况。
(3).当我选择运算的种类并输入要计算的实数后,系统输出答案,但马上屏幕又恢复到主菜单选项,根本来不及看清答案。
我到程序中去寻找错误,发现每一次用户输入后我都有写一个cin.ignore( ),于是我想会不会是这个出的问题。
我删了一个进行调试,发现没有错误,可以运行。
但是,运行起来和以前还是一样。
于是,我回到代码中继续寻找,发现在menu函数中我用了一个清屏的代码,把它删掉后继续调试,这次,运行起来后不再出现问题了,我进行的所有操作都保留下来了,没有被删除。
原来,每次调用menu函数时,都会执行一次清屏,用户上次的运算结果会被删除并显示新的菜单。
(4).在选择菜单项时,会出现问题,例如:输入1,选择正弦函数操作,但是输入12,却变成了选择正弦函数操作并且对2进行正弦计算,经过考虑并且尝试我发现只要将选择输入由字符型改成整形就可以了。
5. 结果分析这次的课设,虽然老师早早的就把题目给我了,但我因为书本还没看完,就迟迟没有动手去做。
从开始准备做这个题到完成也就是几天的事,所以很多地方写的不好,甚至有些地方还不是很懂。
在多次调试后,有些错误依然存在,而且我想不出办法解决,实在是惭愧。
现在,在这里也只能说说它的不足之处了。
首先是类的问题,整个程序中,我只用了一个类,几乎所有的函数都是这个类的成员,让人感觉很臃肿,我也试图去优化它,但最终也没能想出办法来。
容易在基础的东西上出错,经常忘记写“;”,或者同一个函数不同地方调用时会打错名字,这些都是不应该的,必须改掉。
函数参数设定不够完美,整个程序中对指针的运用比较少。
对于指针的巧妙运用把握得不够。
一开始挺顺利,但在如何实现四则混合运算时,我茫然了。
我苦想一整天都没能想出如何去做。
于是,我去百度了一下,还好,让我找到了。
可是,问题又来了,在实现四则混合运算时运用了栈和二叉树的知识,这让我很头疼,这两样东西我压根不懂。
跑到图书馆借了相关的书看,还是不能完全理解,只能凑合着用了。
在错误提示方面我还是很不足,经常忘记,都是调试出现问题了才会想到。
6.总结通过课程设计,我感觉到平时学的时候对书上的程序是看懂了,可是真正运用这些知识的时候还是有点力不从心,不能很好的了解并运用到自己的程序之中。
通过这次的课程设计我明白了学习程序设计语言必须要勤做实验,通过实验总结经验。
平时遇到的一些小问题一定要重视,越是基础的知识越要理解透彻。
比如指针与数组方面的知识,一旦没有弄清楚,在设计程序时就会吃亏。
这次的课程设计中,我遇到了很多的问题,有的通过思考或查看书本解决了,有的还留在脑子里,只有通过孜孜不倦的求索我们才会有进步,不懂得思考就不能真正的掌握一门知识。
像我做这个程序的时候,就感觉自己对栈的知识还很欠缺,有的地方不是很明白,多亏了上网查找的这方面知识和一些源程序才帮助我完成了这个程序的设计。
可是一直到现在,对于混合运算中用到的栈和二叉树我只是有些理解,真正运用还不行。
之前我学的书上没有这些内容,虽然我去图书馆看了有关这些内容的书,但毕竟能力有限,短时间内无法理解的那么好,运用起来就更加捉襟见肘了。
今后,我还是会去看这方面的书的,把没弄懂的东西弄懂。
最后,还有一点不得不说,这个程序中,我只定义了一个类,所有的函数都包含在里面,感觉很臃肿,想要优化,可最终也没能想出办法,真是一大遗憾。
附录:源程序清单#include <iostream>#include <ctime>//用以产生随机数#include <cstdlib>//定义杂项函数及内存分配函数#include <cmath>//包含数学函数#include <iomanip>using namespace std;#define MAX 100#define MIN 10double number1,number2,answer;int input;class count{public:double cadd(double number1,double number2);//定义加法运算double csub(double number1,double number2);//定义减法运算double cdiv(double number1,double number2);//定义除法运算double cmult(double number1,double number2);//定义乘法运算void csqure();//定义平方函数void squreroot();//定义求平方根运算void ccos();//定义余弦函数void ctan();//定义正切函数void csin();//定义正弦函数void clog();//定义对数函数void fatoce();//定义华氏温度转化为摄氏温度void cetofa();//定义摄氏温度转化为华氏温度//定义混合运算函数void mixed();void calcu();double calculate(char *f);void cexit();//定义退出函数void menu();//定义主菜单函数void badinput();//定义出错提示函数void test();//定义测试函数};double count::cadd(double number1,double number2)//加法运算{answer=number1+number2;return(answer);}double count::csub(double number1,double number2)//减法运算{answer = number1-number2;return(answer);}double count::cdiv(double number1,double number2)//除法运算{if(number2==0)//排除除数为零的情况{cout<<"除数不可为0!\n";exit(0);}elseanswer = number1/number2;return(answer);}double count::cmult(double number1,double number2)//乘法运算{answer = number1*number2;return(answer);}void count::csqure()//求平方的函数{cout<<"求平方\n";cout<<"请输入一个数:";cin>>number1;answer=(number1*number1);cout<<number1<<"的平方是"<<answer<<endl;cin.ignore();menu();}void count::squreroot()//求平方根的函数{cout << "求平方根\n";cout << "请输入一个非负数: ";cin >> number1;if(number1<0)//排除负数开平方根{cout<<"输入错误!不可为负数!\n";cin.ignore();menu();}elseanswer = sqrt(number1);cout<< number1 << "的平方根是" << answer << endl;cin.ignore();menu();}void count::csin()//正弦函数{cout<<"求正弦\n";cout<<"请输入一个数:";cin>>number1;answer=sin(number1);cout<<number1<<"的正弦是"<<answer<<endl;cin.ignore();menu();}void count::ccos()//余弦函数{cout<<"求余弦\n";cout<<"请输入一个数:";cin>>number1;answer=cos(number1);cout<<number1<<"的余弦是"<<answer<<endl;cin.ignore();menu();}void count::ctan()//正切函数{cout<<"求正切\n";cout<<"请输入一个数:";cin>>number1;answer=tan(number1);cout<<number1<<"的正切是"<<answer<<endl;cin.ignore();menu();}void count::clog()//对数函数{cout<<"求对数\n";cout<<"请输入一个正数:";cin>>number1;if(number1<=0){cout<<"输入错误!不可为负数!\n";cin.ignore();menu();}elseanswer=log(number1);cout<<number1<<"的对数是"<<answer<<endl;cin.ignore();menu();}void count::fatoce()//华氏温度转化为摄氏温度{cout << "将华氏温度转化为摄氏温度\n";cout << "请输入一个华氏温度: ";cin >> number1;answer =((number1 - 32) * 5) / 9;cout << "它的摄氏温度是" << answer << endl;cin.ignore();menu();}void count::cetofa()//摄氏温度转化为华氏温度{cout << "将摄氏温度转化为华氏温度\n";cout << "请输入一个摄氏温度: ";cin >> number1;answer =number1 * 9 / 5 + 32;cout << "它的华氏温度是" << answer << endl;cin.ignore();menu();}const int a=30;double s1[a+1];//操作数栈char s2[a+1];//运算符栈int t1,t2;void count::calcu()//一次计算{double x1,x2,x;char p;p=s2[t2--];//弹出一个运算符x2=s1[t1--];//弹出两个操作数x1=s1[t1--];switch (p)//进行一次运算{case '+':x=cadd(x1,x2);break;case '-':x=csub(x1,x2);break;case '*':x=cmult(x1,x2);break;case '/':x=cdiv(x1,x2);break;}s1[++t1]=x;//结果压入操作数栈}double count::calculate(char *f){double x;char *p=f;t1=t2=0; //设置空栈while (*p!='\0')switch(*p){case '+': case '-':while (t2&&(s2[t2]!='('))//执行先遇到的加、减、乘、除运算calcu();//当前运算符进栈s2[++t2]=*p;//读下一个字符p++;break;case '*': case '/':if (t2&&(s2[t2]=='*')||(s2[t2]=='/'))//执行先遇到的乘、除运算calcu();//当前运算符进栈s2[++t2]=*p;//读下一个字符p++;break;case '('://左括号进栈s2[++t2]=*p;//读下一个字符p++;break;case ')':while (s2[t2]!='(')//执行括号内的加、减、乘、除运算calcu();//弹出左括号t2--;//读下一个字符p++;break;default://把字符串转换成整数值x=0;do{x=10*x+*p-'0';p++;} while((*p>='0')&&(*p<='9'));//操作数进栈s1[++t1]=x;};//执行先遇到的加、减、乘、除运算while (t2) calcu();//返回结果return s1[t1];}void count::mixed()//混合运算函数{cout<<"混合运算函数,请输入要计算的表达式:\n";char b[100];cin>>b;cout<<calculate(b)<<endl;cout<<flush;//刷新缓冲区cin.ignore();menu();}void count::cexit()//退出函数{exit(0);}void count::badinput()//出错提示函数{cout << "输入错误!\n";cin.ignore();menu();}void count::test()//测试函数{cout<<"进行测试\n";int s,sum=0;float x;for(int i=1;i<=10;i++){s=rand()%4+1;//随机给出题目的+或-或*或/srand ( time (NULL) );switch(s){case 1: number1=rand()%MAX;number2=rand()%MAX;cout<<number1<<'+'<<number2<<'=';answer=cadd(number1,number2);break;case 2: number1=rand()%MAX;number2=rand()%MAX;cout<<number1<<'-'<<number2<<'=';answer=csub(number1,number2);break;case 3: number1=rand()%MAX;number2=rand()%MIN+1;cout<<number1<<'/'<<number2<<'=';answer=cdiv(number1,number2);break;case 4: number1=rand()%MAX;number2=rand()%MIN;cout<<number1<<'*'<<number2<<'=';answer=cmult(number1,number2);break;}cout<<"\n请写出答案:\n";cin>>x;if(answer==x){cout<<"正确,得十分!继续加油!\n";sum+=10;}else{cout<<"错误,再来一次?\n";}}cout<<"测试结果:答对"<<sum/10<<'\t'<<"题!得分:"<<sum<<"分!"; cout<<endl;cout<<flush;cin.ignore();menu();}void count::menu()//主菜单函数{count a;cout <<"=======================MENU=======================\n";cout <<"*** 1: 进行正弦运算***\n";cout <<"*** 2: 进行余弦运算***\n";cout <<"*** 3: 进行正切运算***\n";cout <<"*** 4: 进行对数运算***\n";cout <<"*** 5: 进行求平方运算***\n";cout <<"*** 6: 进行求平方根运算***\n";cout <<"*** 7: 进行华氏温度转化为摄氏温度的运算***\n";cout <<"*** 8: 进行摄氏温度转化为华氏温度的运算***\n";cout <<"*** 9: 进行混合运算***\n";cout <<"*** 10:进行测试***\n";cout <<"*** 0:退出运算***\n";cout <<"*** 请选择: ***\n";cout <<"==================================================\n";cin >> input;switch (input){case 1:a.csin();break;case 2:os();break;case 3:a.ctan();break;case 4:a.clog();break;case 5:a.csqure();break;case 6:a.squreroot();break;case 7:a.fatoce();break;case 8:课程设计报告17 a.cetofa();break;case 9:a.mixed();break;case 10:a.test();break;case 0:a.cexit();break;default :a.badinput();}}int main(){count s;s.menu();return 0;}。