C语言程序设计大作业设计说明书-简单计算器
C语言课程设计报告书____简易计算器[1]
![C语言课程设计报告书____简易计算器[1]](https://img.taocdn.com/s3/m/3456b6ea6294dd88d0d26b83.png)
C语言课程设计报告书课程名称:C语言课程设计课题名称:简易计算器班级:学号:姓名:指导老师:成绩:2008年6月欢迎老师指导一、课程设计目的1.通过一个学期的学习,我认为要学好C语言程序这门课程,不仅要认真阅读课本知识,更重要的是要通过上机实践才能增强和巩固我的知识。
特别是作为本科生,更要注重实践这一环节,只有这样我们才能成为合格的计算机人材。
通过这次课程设计,进一步巩固所学的语句,如语句嵌套等;加深对循环,分支等结构的运用;最后还可以熟悉四则运算﹑三角函数等经典算法。
2.通过此次课程设计扩展自己的知识面,课本上的东西是远远不够的,可以通过去图书馆查资料,上网找资料等手段学到一些新知识,比如画图函数,颜色填充函数等。
3.通过课程设计,加深对结构化程序设计思想的理解,能进行一个系统功能需求分析,并设计合理的模块化结构。
提高程序开发能力。
二、设计内容我设计的是一款简易计算器,界面清楚,操作方便,它能实现以下功能:1.以界面形式给出计算器功能2.简单的四则混合运算(支持小括号、优先级)3.弦、余弦函数计算4.指数、对数的运算三、总体设计简单计算器由五大模块组成,模块设计如下:图1 模块调用图1.主函数 void main()功能:调用各个主要模块,实现简单计算器的整体功能。
2.主界面函数void JieMian()功能:使用有关图形函数模拟出可视化的计算器外观界面,并提供用户输入窗口。
3.四则混合运算函数void SiZeHunHeYunSuan()功能:实现简单的加减乘除混合运算,并支持优先级和带括号的运算。
4.三角运算函数void SanJiaoYunSuan()功能:实现基本的三角函数运算:sin(x)和cos(x)。
5.指对数函数void ZhiDuiShuYunSuan()功能:实现基本的指数和对数运算。
四、详细设计(一)数据结构设计1.用initgraph函数初始化图形界面,用outtextxy函数在图形模式下显示需输出内容,用setcolor和setbkcolor函数设置边框颜色和填充颜色,用circle 和rectangle函数来画计算器界面的按键,用gotoxy将数字送入显示区。
c简单计算器课程设计

c 简单计算器课程设计一、课程目标知识目标:1. 让学生掌握简单计算器的基本操作,包括开机、关机、清除屏幕、输入数字和运算符号。
2. 使学生理解加、减、乘、除四则运算的基本概念,并能够在简单计算器上进行正确的运算操作。
3. 帮助学生识别计算器上各个按键的功能,了解其对应的数学意义。
技能目标:1. 培养学生运用简单计算器解决实际问题的能力,如购物找零、计算面积等。
2. 提高学生进行四则运算的速度和准确性,提高计算效率。
3. 引导学生掌握计算器使用技巧,如连续计算、顺序计算等。
情感态度价值观目标:1. 培养学生对计算器的正确态度,认识到计算器是学习数学的工具,而非替代品。
2. 激发学生学习数学的兴趣,让学生在轻松愉快的氛围中体验数学计算的乐趣。
3. 培养学生的合作意识,使学生在小组讨论和互助学习中提高沟通能力,培养团队精神。
本课程针对小学三年级学生设计,结合学生年龄特点,注重激发兴趣和培养动手操作能力。
课程内容紧密联系教材,将目标分解为具体的学习成果,便于后续教学设计和评估。
通过本课程的学习,学生将能够熟练运用简单计算器,提高数学计算能力,培养良好的学习习惯和团队协作能力。
二、教学内容1. 计算器的基本结构:引导学生认识计算器的外观、各部分名称及其功能。
- 教材章节:第三章第1节《认识计算器》- 内容列举:计算器按键布局、显示屏、开机与关机、清除键等。
2. 四则运算操作:讲解加、减、乘、除四则运算在计算器上的操作方法。
- 教材章节:第三章第2节《计算器的四则运算》- 内容列举:按键输入、运算顺序、连续运算、计算结果读取等。
3. 计算器使用技巧:教授计算器的高级使用技巧,提高计算效率。
- 教材章节:第三章第3节《计算器使用技巧》- 内容列举:百分比计算、乘方运算、记忆功能等。
4. 实践应用:结合实际生活场景,让学生运用计算器解决实际问题。
- 教材章节:第三章第4节《计算器在实际生活中的应用》- 内容列举:购物找零、计算面积、体积、速度等。
C语言课程设计简单计算器程序文件

课程设计名称:C语言课程设计课程设计题目:简单计算器程序目录第1章需求分析 (1)1.1设计要求 (1)1.2任务 (1)第2章总体设计 (2)2.1设计简介及设计方案论述 (2)2.2功能模块层次图 (2)第3章详细设计 (3)3.3由(后缀)逆波兰表达式计算中缀表达式原理 (8)3.3.1算法描述 (9)第4章调试分析 (11)4.1程序设计中所遇到的错误及犯错的原因 (11)4.2错误的解决方法 (11)第5章用户手册 (12)总结 (16)参考文献 (17)附录(程序清单) (18)第1章需求分析1.1 设计要求(1)用 C 语言数据结构实现程序设计;(2)利用结构体、栈、进行相关信息处理;(2)系统的各个功能模块要求用函数的形式实现;(4)界面简单.可操作性高。
1.2 任务(1)定义一个结构体类型数组.输入 0~9 及+、--、*等符号的信息.将其信息存储起来;(2)输入简单的加减乘除算术计算式.并在屏幕上显示逆波兰(后缀式)表达式和计算结果;(3)编写代码;(4)程序分析与调试。
说明:本课程设计将实现一个简单计算器。
在功能上尽量模仿 windows 的计算器。
系统界面不做牵制要求。
该程序能实现标准型中+、-、*、/、(、)、.、的混合运算表达式(一般意义上的中缀表达式).将其转换成逆序波兰表达式(后缀表达式)并计算输出结果。
在进行运算后可以选择继续运算或者结束当前运算。
即时准确地获得需要的计算的结果.充分降低了数字计算的难度和节约了时间.对人们的生活有一定的帮助。
第2章 总体设计2.1设计简介及设计方案论述逆波兰表达式又叫做后缀表达式。
在通常的表达式中.二元运算符总是置于与之相 关的两个运算对象之间.所以.这种表示法也称为中缀表达式。
波兰逻辑学家 J.Lukasiewicz 于 1929 年提出了另一种表示表达式的方法。
按此方法.每一运算符都置 于其运算对象之后.故称为后缀表达式。
后缀表达式的优点是显而易见的. 编译器在处理时候按照从左至右的顺序读取逆波 兰表达式.遇到运算对象直接压入堆栈.遇到运算符就从堆栈提取后进的两个对象进行计算.这个过程正好符合了计算机计算的原理。
C语言课程设计(简易计算器设计)带所有代码

《C语言课程设计》报告For personal use only in study and research; not for commercial useFor personal use only in study and research; not for commercial use For personal use only in study and research; not for commercial use 设计题目:______________ 简单计算器设计____________For personal use only in study and research; not for commercial use学院名称:电子与信息工程学院专业:计算机科学与技术班级:计科姓名:学号指导教师:定稿日期:2013-5-28、设计题目简单计算器设计、设计要求在功能上功能尽量模拟windows操作系统中的计算器,系统界面不做强制要求。
二、设计目的①通过本项课程设计,可以培养独立思考、综合运用所学有关相应知识的能力,能更好的巩固《C语言程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!更加了解了c语言的好处和其可用性!同时增加了同学之间的团队合作精神!更加也体会到以后在工作中团队合作的重要性和必要性!②通过C语言课程设计,使学生了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力, 具备初步的高级语言程序设计能力。
为后续各门计算机课程的学习和毕业设计打下坚实基础。
四、设计思想及过程①由于需要使功能尽量模仿Windows下的计算器,而很多功能要以图形界面实现,故用Borland C++ Builder编写。
所以用的是面向对象程序设计。
但因为这是C语言的课程设计,所以除了面向对象的使用以外,所有语法都是按照C语言的格式编写。
程序设计综合实践课C简单计算器

1、项目概述
该项目目标是设计开发一个支持连 续计算的四则运算计算器 myCalculator,通过单击按钮,输 入并完成如4+5+6或5*8+16类似的 连续计算,并将运算结果显示在输 出文本框中,同时也具备清空、后 退等功能。
2、设计步骤
项目分析与算法流程设计。
计算器myCalculator的主要功能是完 成加、减、乘、除四则运算,而且支 持连续计算,如4+5+7-8或4*5-6等运 算。连续计算的实现借助于开发工具 中 预 定 义 的 数 据 结 构 Stack ( 栈 ) 实 现,如流程图所示
4、项目扩展2
扩展计算器的使用领域,开发贷 款计算器(或其他,如利息计算 器等)
5、成绩评定说明
ቤተ መጻሕፍቲ ባይዱ程序设计开发语言不限。 成绩评定(要求提交设计报告和程序): ✓其中设计报告占40%(格式可参照本ppt的前四部分) ✓程序(源代码)占60%(程序能够正常运行) 完成项目扩展的酌情加分
2、设计步骤
界面设计。
2、设计步骤
代码编写(略)
2、设计步骤
运行调试
计算“5*9+5+50”,依次单击按 钮“5”、“*”、“9”、“+”、 “5”、“+”、“50”,然后单 击按钮“=”,显示框的数值为 100
3、项目扩展1
增加计算器的功能,添加求平方 根、求余、倒数的功能(读者也 可自行扩展。
VC 大作业___简单计算器的设计

VC++大作业报告简单科学计算器设计姓名:学号:学院:班级:日期:目录一、设计任务 (1)1、选题意义 (1)2、设计目标 (1)二、程序设计与实现 (1)1、程序结构 (1)2、设计步骤 (3)3、详细设计 (4)(1)、计算器界面 (4)(2)、主要代码 (4)(3)、函数功能说明 (16)三、设计难点与解决方法 (17)四、设计效果与不足之处 (18)1、程序效果图 (18)2、不足之处 (18)五、学习体会 (18)一、设计任务1.选题意义此题选择意义在于引导学生学会设计简单的科学计算器,进一步掌握Visual C++应用程序。
统地学习面向对象编程思想,了解MFC架构,逐步熟悉可视化编程环境Visual C++,并在此环境下设计并实现一个简单计算器系统。
该计算器应能实现如下功能: 1)、二进制、八进制、十进制及十六进制数的加、减、乘、除、乘方等简单计算 2)、科学计算函数,包括正弦、余弦、正切、余切、开方、对数、指数等函数运算 3)、具备历史计算的记忆功能。
2.设计目标使计算器含有以下功能:(1)、基本运算功能:可以进行加、减、乘、除等基本运算。
(2)、数制转换功能:可以一次完成二进制转十进制、十进制转二进制、八进制转二进制等运算。
(3)、三角函数运算功能:可以一次完成三角函数之间的计算,求正弦函数(sin)、余弦函数(cos)、正切函数(tan)、余切函数(cot)等函数的值。
(4)、对数、指数运算功能:可以一次求的对数函数(log、ln)、指数函数(exp)等函数的运算。
(5)、删除功能:可以在输入错误时删除已输入的数值。
(6)、归零功能:可以在计算完成后清空编辑框中的已有数值。
二、程序设计与实现1.程序结构本计算器首先是通过在计算器的界面上按下相应的按钮,来进行基本的加,减,乘,除等基本运算,计算器还能够进行平方运算,求平方根运算,乘方运算,三角函数运算(包括正弦函数(sin)、余弦函数(cos)、正切函数(tan)、余切函数(cot)),对数函数(ln、log),指数函数(exp),幂函数(x~)和进制转换(包括二进制转十进制、十进制转二进制和八进制转二进制)等运算。
VC程序设计说明书---计算器
目录目录 (I)摘要 (II)1 设计目的 (1)2 设计要求 (2)3 设计内容 (3)3.1 系统分析 (3)3.2项目创建 (3)3.3界面设计 (5)3.4 代码实现 (7)3.5 方案分析总结 (16)总结与致谢 (19)参考文献 (20)附件 (21)摘要GPA英语全称是grade point average,意思就是平均分。
GPA的精确度往往达到小数点后1到2位,如:3.0,3.45。
GPA的标准计算方法是将大学成绩的加权平均数乘以4,再除以100,得出平均分。
美国的GPA满分是4分,即A=4,B=3,C=2, D=1。
一般来讲,百分制中的90分以上可视为4分,80分以上为3分,70分以上为2分,60分以上为1分,五分制中的5分为4分,4分为3分,3分为2分,2分为1分。
这次课程设计完成了一个简单的GPA计算器。
本次设计系统具有良好的界面,必要的交互信息和较好的健壮性,使我们能快捷简单地进行操作,即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。
关键词:GPA;VC++6.0;MFC;控件;1 设计目的《VC程序设计++》是一门实践性、应用性很强的科目。
实践教学环节是必不可少的一个重要环节。
VC程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。
要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握VC程序设计的基本技能和面向对象的概念和方法;了解菜单、视图/文档、数据库等编程技术。
同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。
C语言编程-简单的计算器
int i=0;
a[0]='$';
printf("请输入表达式,退出请输入q:\n\n");
scanf("%c",&x);
if(x=='q') break;
while(x!='\n')
{
a[++i]=x;
scanf("%c",&x);
}
a[i+1]='\0';
jieguo=jisuan(a);
}
j=j+1;
x=z;
if(a[j]=='.')
{
l=1;
i=j+1;
j=i+1;
while(a[j]>='0'&&a[j]<='9')
{j++;}
j--;
for(k=i;k<=j;k++)
{
n=pow(0.1,l);
l=l+1;
x=x+n*(a[k]-'0');
}
i=j+1;
}
else i=j;
shu.data[++shu.top].d1=x;
nibo[t1+1]='\0';
t2--;
}
zhan2[++t2]=a[i];
i++;
}
}
else if(a[i]=='*'||a[i]=='/')
C语言程序设计之简单计算器
攀枝花学院学生课程设计(论文)题目:简易计算器学生姓名:葛肪瑜学号:2所在院(系):计算机学院专业:计算机科学与技术班级:10计本(1)班指导教师:陈三清职称:讲师2011年6月25日攀枝花学院教务处制攀枝花学院本科学生课程设计任务书课程设计(论文)指导教师成绩评定表目录目录 ......................................................................................................................... I V 摘要 .. (V)1 绪论 ....................................................................................................................... V I1.1 课程设计背景 (VI)1.2 需求环境 (VI)1.3 课程设计思路 (VI)2 课程设计概要 (2)3 程序结构和各模块分析 (3)3.1菜单操作模块 (3)3.1.1 fun1函数功能 (3)3.1.2 功能实现代码 (3)3.2 加减乘除运算模块 (3)3.2.1 fun2函数功能 (3)3.2.2 功能实现代码 (4)3.3 乘方和开方运算模块 (4)3.3.1 fun3函数功能 (4)3.3.2 功能实现代码 (4)3.4 进制转换运算模块 (5)3.4.1 convert函数功能 (5)3.4.2 功能实现代码 (5)3.5 求模运算模块 (5)3.5.1 fun4函数功能 (5)3.5.2 功能实现代码 (6)3.6 退出模块 (6)3.6.1代码功能 (6)3.6.2 功能实现代码 (6)4 程序调试 (7)4.1 操作界面 (7)4.2 加减乘除运算 (7)4.3 乘方和开方运算 (9)4.4 进制转换运算 (10)4.5 求模运算 (11)4.6 退出 (12)5 课程设计总结 (12)参考文献 (13)附录:源代码 (14)摘要一直以来,C语言都是在国际上广泛流行的通用编程语言,它既具有高级语言的特点,又具有低级语言的些特点;既可用于编写系统软件又可用于编写应用软件。
C语言程序设计之简单计算器
C语言程序设计之简单计算器```C#include <stdio.h>int maichar operator;double num1, num2;printf("Enter the first number: ");scanf("%lf", &num1);printf("Enter the operator (+, -, *, /): ");scanf(" %c", &operator);printf("Enter the second number: ");scanf("%lf", &num2);switch(operator)case '+':printf("%.2f + %.2f = %.2f\n", num1, num2, num1 + num2); break;case '-':printf("%.2f - %.2f = %.2f\n", num1, num2, num1 - num2); break;case '*':printf("%.2f * %.2f = %.2f\n", num1, num2, num1 * num2);break;case '/':if(num2 != 0)printf("%.2f / %.2f = %.2f\n", num1, num2, num1 / num2);} elseprintf("Error: Division by zero is not allowed\n");}break;default:printf("Error: Invalid operator\n");break;}return 0;```这段代码是一个简单的C语言计算器程序,用户可以输入两个数字和一个操作符,程序将根据用户输入的操作符进行相应的计算,并输出结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高级语言程序设计大作业
设计说明书
简单计算器
学院电子信息工程学院
专业班级级通信工程班
学生姓名xxxx
学号*********
指导老师xxxxxx
1.概述:
本程序是在C++6.0环境下开发的一款集整数与小数的四则运算和求余运算为一体的简单计算器。
主要运用了赋值、计算、选择结构(switch语句实现多分支选择结构)、条件运算、循环计算、函数调用等原理。
2.程序概要设计:
前实现的功能:
程序已经可以完成整数、小数的基本加减乘除;整数基本求余运算;二进制,八进制,十进制,十六进制的相互转换,并可以对输入者的输入错误提出错误警告;程序可以循环运行,也可以自我实现退出菜单的功能(需要按2次回车)。
目前发现的BUG有:
1、在整数输入数字的时候,如果输入的是小数的话会一直循环菜单,不会出现结果,也不会提示输入者输入错误,也不会有结果。
2、在整数求余功能中,如果输入的是小数或者输入不合理也会出现一直循环菜单的情况,同样不会提示输入者输入错误,也不会有结果。
目前没有实现的功能有:
1.给出一个二进制数,不可以计算它的原码、补码和反码。
2.整数,小数的基本运算和整数求余的运算出现错误无法提示,函数不是十分完整。
3.全部进制的函数输入的数字个数都是有限制(数字个数不能大于100),超范围就会输出错误结果,无法实现无限制的输入而得出正确结果。
4.每次算完第一次不能按回车,只能按其他按键,否则会退出,因为按两次回车就会退出程序。
5.每次算完,按非回车键都会出现一级菜单,有点繁琐,再次选择整数、小数、进制运算。
流程图:
3.程序详细设计:
在主函数中设置了全局变量,以实现功能选择,并用char函数实现循环输入。
运用do while语句控制结束程序,即在运算过后,如由键盘输入回车键则结束程序。
之后进入功能选择菜单,先调用写好的menu函数(回车2次可退出程序)。
输入提示及输入控制:
若输入的数字不是1-3,则提示输入错误,重新输入:
(运用选择结构进行判断)
其中,整数、小数、及进制转换计算功能分别使用了另一个switch语句嵌套,实现选择功能。
整数的加减乘除:
运用基本的加减乘除的函数完成,输入和输出的数字为整型。
将输入的数字赋值到变量中,在让变量在程序进行相关的基本运算,输出结果即可。
小数的加减乘除:
运用基本的加减乘除的函数完成,输入和输出的数字都双精度浮点型。
将输入的数字赋值到变量中,在让变量在程序进行相关的基本运算,输出结果即可。
整数求余运算:
运用%计算来完成,将输入的数字赋值到变量中,在让变量在程序进行%的运算。
得出的值就是所求的余数,输出结果即可。
二进制转换八进制:
这个是对输入的数字进行判断,因为二进制只能输入0和1 。
二进制转八进制时,利用了二进制转十进制做桥梁,最后再十进制转八进制。
二进制转换十进制
这也是对输入的数字进行判断,只能为0和1。
二进制转换十六进制
对输入的数字进行求余,因为输入的数字只能是0和1,所以最后的输入数字被10整除,结果不会大于1,也就是按照这个原理来实现输入错误进行提醒,如果结果不大于1,就会实现下面的函数。
先将二进制转换为十进制,再十进制转换为十六进制,对10,11,12,13,14,15进行switch语句的转换,分别转换为A,B,C,D,E,F;最后输出为十六进制。
八进制转换二进制
输入的数字在0到7的组合或单个数之间,再对输入的数字对10求余。
再对2求余。
八进制转换十进制
输入的数字在0到7的组合或单个数之间,输入的数字对10求余,再经过一下程序得出结果。
八进制转换十六进制
输入的数字在0到7的组合或单个数之间,先由八进制转换到十进制,再由十进制转换到十六进制,对10,11,12,13,14,15进行switch语句的转换,分别转换为A,B,C,D,E,F;最后输出为十六进制。
十六进制转换为二进制
输入的数字要在0到9之间,字母要在A(a)到F(f)之间,否则会出现错误。
再利用这个程序输出数字,先由十六进制转换为十进制,十进制再转换为二进制。
十六进制转换为八进制
输入的数字要在0到9之间,字母要在A(a)到F(f)之间,否则会出现错误。
先由先由十六进制转换为十进制,十进制再转换为八进制。
十六进制转换为十进制
输入的数字要在0到9之间,字母要在A(a)到F(f)之间,否则会出现错误。
4.使用情况菜单:
1.一级菜单正常使用:输入错误:
2.二级菜单
输入错误:进制运算:
整数加法:整数减法:
整数乘法:
整数除法:
整数除法除数为0:
整数求余:小数加法:小数减法:
小数乘法:
小数除法:
二进制转八进制:二进制转十进制:
二进制转十六进制:八进制转二进制:八进制转十进制:八进制转十六进制:十进制转二进制:
十进制转八进制:十进制转十六进制:十六进制转二进制:十六进制转八进制:十六进制转十进制:
5.总结
我刚开始是将整数、小数和进制分开源文件来写,到最后发现将个源文件就很容易出错,要修改好多地方,所以刚开始的时候要注意那些定义变量尽量不要用相同的字母定义。
本程序基本符合大作业的要求,但是还存在一些漏洞,有待改善,例如在整数运算时,如果输入了非整数,程序就不会提示输入错误,菜单就一直循环。
我觉得我这个程序可以运行,但是比较复杂,如果有地方出错,修改范围比较大,不容易找。
有些进制运算要与同学讨论才会写。
最后,我很开心完成了这个计算器,但是不是很完美,还有很多漏洞。
也会为自己感到有成功感,用自己的双手和脑袋完成一个简单计算器,若有时间还会尝试编译下其他程序,继续提高自己的能力,希望在C语言上有一定的进步。
6.参考文献
C语言设计(第四版) 谭浩强清华大学出版社2010年6月出版。