简易计算器制作课程设计报告
简易计算器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 基本功能描述计算器包含基本的四则运算、开方、倒数、相反数(正负)等运算。
可对输入任意操作数,包括小数和整数及正数和负数进行以上的所有运算。
同时包含清除功能。
2 设计思路如图1是计算器总流程图,输完第一个操作数后,若点击双目运算符,则把m_edit 传递给op1,并传递给变量calculator相对运算符对应的值,输入的第二个操作数传递给op2,点击等号根据calculator的值进行相应运算并输出结果。
若点击的是单目运算符,则直接对其处理得出结果。
若点击清零,则m_edit等于0。
设计思路流程图如下(见下页)。
图1 计算器设计思路总流程图3 软件设计创建步骤打开Microsoft Visual C++ ,选择新建,在弹出框内选择MFC AppWizard[exe]工程,输入工程名Calculator及其所在位置。
将弹出MFC AppWizard-step 1对话框,选择基本对话框,点击完成。
MFC AppWizard建立基于对话窗口的程序框架。
界面设计1、创建控件在对话框上的合适的位置画出编辑框和下压式按钮。
如图2所示。
图2 绘制编辑框在按钮和编辑框属性对话框中输入控件的ID值和标题属性。
如图3所示。
图3 Push Button属性按照上面的操作过程编辑其他按钮和编辑框等对象的属性。
表1 各对象属性对象ID 标题或说明编辑框IDC_EDIT1 结果显示按钮IDC_BUTTON0 0按钮IDC_BUTTON1 1按钮IDC_BUTTON2 2按钮IDC_BUTTON3 3按钮IDC_BUTTON4 4按钮IDC_BUTTON5 5按钮IDC_BUTTON6 6按钮IDC_BUTTON7 7按钮IDC_BUTTON8 8按钮IDC_BUTTON9 9按钮IDC_ BUTTONneg +/-按钮IDC_ BUTTONpot .按钮IDC_ BUTTONadd +按钮IDC_BUTTONsub -按钮IDC_BUTTONmul *按钮IDC_BUTTONdiv /按钮IDC_BUTTONsqrt sqrt按钮IDC_BUTTONCE CE完成后界面如图4所示。
vb 简易计算器实验报告

简易计算器课程设计报告一、实验目的:模拟计算器的功能。
系统启动后, 先清屏, 再在显示屏右侧显示0字样, 系统仅接收数字键、加减乘除键、退格键、C键(复位)、=或回车键、ESC键(退出系统)作为有效按键, 其余按键不响应。
按键后屏幕显示效果要达到一般计算器显示屏的同样效果。
不要求设计一般计算器上都具有的M功能。
二、实验设计内容及思想:首先, 创建一个主体框架: 建立程序的主要界面后, 系统自动生成界面的主要窗口生成代码。
对于每个按钮的的代码段中, 分别添加事件触发的处理代码。
分别设立三个显示屏, 第一个显示屏作为“被加数”框, 第二个显示屏作为“加数”框, 第三个显示屏则作为输出框。
四则运算时直接采用计算表达式。
所以, 优先级和运算规则皆宜考虑在内。
在进行除法运算时, 若遇到除数为0, 则运用条件语句执行, 并在输出显示屏上输出“E”。
三角函数、指数、对数、整除、取余等运算, 也是运用类似手法。
考虑到计算器的操作简便性, 所以加入了复位和退出按钮。
三、源程序文件:Private Sub Command1_Click()Dim x As IntegerDim y As Integerx = Text1.Texty = Text2.TextText3.Text = x + yEnd SubPrivate Sub Command10_Click()Dim x As Integerx = Text1.TextText3.Text = Cos(x)End SubPrivate Sub Command11_Click()Dim x As Integerx = Text1.TextText3.Text = Tan(x)End SubPrivate Sub Command12_Click()Dim x As Integerx = Text1.TextText3.Text = Atn(x)End SubPrivate Sub Command13_Click() Dim x As IntegerDim y As Integerx = Text1.Texty = Text2.TextText3.Text = x ^ yEnd SubPrivate Sub Command14_Click() Dim x As Integerx = Text1.TextIf x <= 0 ThenText3.Text = "输入错误"ElseText3.Text = Log(x)End IfEnd SubPrivate Sub Command15_Click() Text3.Text = "此按钮仅作装饰用" End SubPrivate Sub Command2_Click() Dim x As IntegerDim y As Integerx = Text1.Texty = Text2.TextText3.Text = x - yEnd SubPrivate Sub Command3_Click() Dim x As IntegerDim y As Integerx = Text1.Texty = Text2.TextText3.Text = x * yEnd SubPrivate Sub Command4_Click() Dim x As IntegerDim y As Integerx = Text1.Texty = Text2.TextIf y = 0 ThenText3.Text = "E"ElseText3.Text = x / yEnd IfEnd SubPrivate Sub Command5_Click()Dim x As IntegerDim y As Integerx = Text1.Texty = Text2.TextText3.Text = x \ yEnd SubPrivate Sub Command6_Click()Dim x As IntegerDim y As Integerx = Text1.Texty = Text2.TextText3.Text = x Mod yEnd SubPrivate Sub Command7_Click()Text1.Text = ""Text2.Text = ""Text3.Text = " 0" End SubPrivate Sub Command8_Click()EndEnd SubPrivate Sub Command9_Click()Dim x As Integerx = Text1.TextText3.Text = Sin(x)End Sub源代码截图:四、运行结果演示: 加法演示:减法演示: 乘法演示:除法演示:能够整除: 不能够整除:除数为零:。
C语言课程设计报告【简易计算器设计】

1Calc.h(运算函数集头文件)
#include<stdio.h>
#include<string>
#include<string.h>
#define HIGH struct high
#define MAXN 5000
#define MAXSHOW 40
#define key_num 0
}
void initNum(HIGH *numb) //初始化
{
int i;
HIGH tmp;
memset(tmp.num, 0, sizeof(tmp.num));
*numb = tmp;
}
int absCmp(HIGH a, HIGH b) //比较绝对值大小
{
int i;
for(i = MAXN - 1; i > 0; i--)
5对于高精度,采用结构体struct high{int num[MAXN];};的形式,数组的一个元素存一位。个位为num[1],将符号存在num[0]之中。
1对于高精度加法,先判断两个数符号,如果为异号,则进行高精度减法,否则将各位逐个相加,然后逐位进位,返回答案即可。
2对于高精度减法,先判断两个数符号,如果为异号,则进行高精度加法,否则用大数减小数,逐个相减,然后逐位退位,判断符号、返回答案即可。
2输入数字,再输入运算符,输入等于号的结果为“当前输入的数字→运算符→当前输入的数字”。可以调节正负号。
3输入“数字,运算符,数字,运算符...数字,运算符”亦可。
七、心得体会
这次“简单计算器制作”的课程设计不仅让我对C语言的熟悉程度上升到了另一个高度,而且在一定意义上对面向对象设计的理解更加深刻了。是我在编程路途上的一次质的飞跃。而且在处理非常规数据类型的运算的锻炼下,使我对编程语言有了一个新的认识。当看着一个具有图形界面的计算器的模型成品出现在自己面前时,心中有着无限感慨,原来编程也不是非常遥不可及的,原来在编程的趣味性中能让我学到更多有意思的知识。
简易计算器实验报告

简易计算器实验报告简易计算器实验报告引言:计算器是我们日常生活中常用的工具之一。
它可以帮助我们进行简单的数学运算,提高计算的效率。
在本次实验中,我们将设计并制作一台简易计算器,通过实践来掌握计算器的原理和工作原理。
实验目的:1. 了解计算器的基本原理和工作原理;2. 掌握计算器的设计和制作方法;3. 提高动手能力和创造力。
实验材料:1. 电路板;2. 按键;3. LED显示屏;4. 电容;5. 电阻;6. 电源。
实验步骤:1. 连接电路板和电源,确保电路板能够正常工作;2. 将按键连接到电路板上,用于输入数字和运算符;3. 连接LED显示屏,用于显示计算结果;4. 添加电容和电阻,用于控制电路的稳定性和电流;5. 调试电路,确保计算器能够正确运行。
实验结果:经过一番调试,我们成功制作出了一台简易计算器。
它可以进行基本的加减乘除运算,并且在LED显示屏上显示结果。
通过按键输入数字和运算符,我们可以进行各种运算,从而得到我们想要的结果。
这台计算器虽然简单,但是它的实用性和便携性都非常高。
实验分析:在本次实验中,我们主要学习了计算器的基本原理和工作原理。
计算器是通过按键输入数字和运算符,然后经过电路的计算和控制,最终在显示屏上显示结果。
在电路中,电容和电阻的作用是为了保证电路的稳定性和电流的控制。
通过这个实验,我们更加深入地了解了计算器的内部结构和工作原理。
实验总结:通过本次实验,我们成功制作了一台简易计算器,并且对计算器的原理和工作原理有了更深入的了解。
实验过程中,我们不仅提高了动手能力和创造力,还培养了解决问题的能力。
计算器作为一种常见的工具,它的设计和制作过程并不复杂,但是它的实用性和便携性却非常高,为我们的生活带来了很大的便利。
未来展望:通过这次实验,我们对计算器的原理和工作原理有了初步的了解。
在未来,我们可以进一步深入研究计算器的更高级功能和更复杂的电路设计。
同时,我们也可以将这种简易计算器的设计思想应用到其他领域,如电子设备、机器人等,从而提高我们的创造力和创新能力。
《设计一个简单计算器》课程设计报告

C语言课程设计设计一个简单的计算器学生姓名:肖婷学生学号:201140130201所在班级:1141302任课教师:肖俊芳2012年6月19日目录1.设计目的2.内容3.总体设计(有流程图)4.源程序编写(附上了运行图)5.执行结果6.心得体会一、设计目的设计一个简单计算器,在功能上功能尽量模拟windows操作系统中的计算器,系统界面不做强制要求。
熟悉和掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函数、指针和文件的操作,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,逐步提高上机动手能力,培养使用计算机解决实际问题的能力,规范编程思想,为以后在专业课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。
二、内容1、程序设计的一般步骤a、确定数据结构b、确定算法c、编程d、调试e、总结资料2、基本要求a.设计正确,方案合理,能实现相应功能。
b.界面友好,使用方便。
c.程序精炼,结构清晰。
d.设计报告含程序设计说明,用户使用说明,源程序清单及程序框图。
e.上机演示。
三、总体设计(程序设计组成框图、流程图)四、源程序编写#include<stdio.h>#include<math.h>#include<malloc.h>double jisuan(char a[]){int i=1,j,k,m,cnt=0,t1=0,t2=0,t3=0;char nibo[50],zhan2[50]; double x,n,l,z=0,zhan3[20]; typedef struct{double d1;int d2;}dd;typedef struct{dd data[50];int top;}zhan1;zhan1 shu;shu.top=0;while(a[i]!='\0'){if(a[i]>='0'&&a[i]<='9'){z=0;j=i+1;while(a[j]>='0'&&a[j]<='9'){j++;}j--;for(k=i;k<=j;k++){z=z*10+a[k]-'0';}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;shu.data[shu.top].d2=++cnt;nibo[++t1]='0'+shu.data[shu.top].d2; nibo[t1+1]='\0';}else if(a[i]=='('){zhan2[++t2]=a[i];i++;}else if(a[i]==')'){j=t2;while(zhan2[j]!='('){nibo[++t1]=zhan2[j];nibo[t1+1]='\0';j--;}t2=j-1;i++;}else if(a[i]=='+'){while(t2>0&&zhan2[t2]!='('){nibo[++t1]=zhan2[t2];nibo[t1+1]='\0';t2--;}zhan2[++t2]=a[i];i++;}else if(a[i]=='-'){if(a[i-1]=='$'){a[0]='0';i=0;}else if(a[i-1]=='('){a[i-1]='0';a[i-2]='(';i=i-2;\}else{while(t2>0&&zhan2[t2]!='('){nibo[++t1]=zhan2[t2];nibo[t1+1]='\0';t2--;}zhan2[++t2]=a[i];i++;}}else if(a[i]=='*'||a[i]=='/'){while(zhan2[t2]=='*'||zhan2[t2]=='/'||zhan2[t2]=='^'||zhan2[t2]=='@') {nibo[++t1]=zhan2[t2];nibo[t1+1]='\0';t2--;}zhan2[++t2]=a[i];i++;}else if(a[i]=='^'||a[i]=='@'){while(zhan2[t2]=='^'||zhan2[t2]=='@'){nibo[++t1]=zhan2[t2];nibo[t1+1]='\0';t2--;}zhan2[++t2]=a[i];i++;}}while(t2>0){nibo[++t1]=zhan2[t2];nibo[t1+1]='\0';t2--;}t1=1;while(nibo[t1]!='\0'){if(nibo[t1]>='0'&&nibo[t1]<='9'){for(i=0;i<=shu.top;i++){if(nibo[t1]-'0'==shu.data[i].d2){m=i;break;}}zhan3[++t3]=shu.data[m].d1;}else if(nibo[t1]=='+'){zhan3[t3-1]=zhan3[t3-1]+zhan3[t3]; t3--;}else if(nibo[t1]=='-'){zhan3[t3-1]=zhan3[t3-1]-zhan3[t3]; t3--;}else if(nibo[t1]=='*'){zhan3[t3-1]=zhan3[t3-1]*zhan3[t3];t3--;}else if(nibo[t1]=='/'){zhan3[t3-1]=zhan3[t3-1]/zhan3[t3];t3--;}else if(nibo[t1]=='^'){zhan3[t3-1]=pow(zhan3[t3-1],zhan3[t3]);t3--;}else if(nibo[t1]=='@'){zhan3[t3]=sqrt(zhan3[t3]);}t1++;}return zhan3[1];}void main(){for(;;){char x,a[50];double jieguo;int i=0;a[0]='$';printf("@表示开方,^表示乘方\n");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);printf("\n");printf("结果为:%lf",jieguo);printf("\n\n");}}五、执行结果1、输入5 4结果92、输入5 4结果 13、输入5 4结果204、输入5 4结果 1图例:2012年6月19日星期二注:分别输入5、4,分别进行加减乘除。
简单计算器设计报告

简单计算器设计报告045一、基本功能描述通过文本编辑框实现基本整数的加减乘除运算二、设计思路如下图是整个程序进行的流程图, 基本方法是在ItemText文本编辑框输入字符, 程序对字符进行判断, 若输入不是数字则提示错误。
输入正常时, 通过下拉框ComboBox_InsertString选择相应运算符。
点击等号IDC_OK, 即可得出运算结果。
操作简便, 算法简单。
三、软件设计1、设计步骤打开Microsoft Visual C++ 6.0,在文件中点击新建, 在弹出框内选择MFC AppWizard[exe]工程, 输入工程名zhoutong及其所在位置, 点击确定将弹出MFC AppWizard-step 1对话框, 选择基本对话框, 点击完成MFC AppWizard就建立了一个基于对话窗口的程序框架四、主要程序分析1.字符判定函数BOOL IsInt(TCHAR*str) {int i=atoi(str);TCHAR strtemp[256]; wsprintf(strtemp,"%i",i); if(strcmp(str,strtemp)!=0) {return FALSE;}Else{return TRUE;}}3、该函数通过atoi把文本编辑框读取的字符转换为数字, 再通过wsprintf把转换数字转换为字符, 通过strcmp比较原字符和转换得来的字符。
如相同返回true,不通则返回false.4、运算符选择程序BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam){HWND hwndComboOP=GetDlgItem(hwnd,IDC_COMBOOP);ComboBox_InsertString(hwndComboOP,-1,TEXT("+"));ComboBox_InsertString(hwndComboOP,-1,TEXT("-"));ComboBox_InsertString(hwndComboOP,-1,TEXT("*"));ComboBox_InsertString(hwndComboOP,-1,TEXT("/"));return TRUE;}通过ComboBox_InsertString插入要输入的运算符5、主程序字符获取TCHAR str1[256];TCHAR str2[256];GetDlgItemText(hwnd,IDC_EDIT1,str1,sizeof(str1));GetDlgItemText(hwnd,IDC_EDIT2,str2,sizeof(str2));调用子程序判断输入是否为数字if(IsInt(str1)==FALSE){MessageBox(hwnd,TEXT("第一个数不是合法整数"),TEXT("错误"),MB_OK|MB_ICONERROR); return;}if(IsInt(str2)==FALSE){MessageBox(hwnd,TEXT("第二个数不是合法整数"),TEXT("错误"),MB_OK|MB_ICONERROR); return;}将输入字符转换为数字int i1=atoi(str1);int i2=atoi(str2);int i3=0;获取运算符HWND hwndComboOp=GetDlgItem(hwnd,IDC_COMBOOP);int curIndex=ComboBox_GetCurSel(hwndComboOp);运算switch(curIndex){case 0:{i3=i1+i2;}break;case 1:{i3=i1-i2;}break;case 2:{i3=i1*i2;}break;case 3:{i3=i1/i2;}break;}运算结果转换为字符TCHAR str3[256];itoa(i3,str3,10);输出运算结果SetDlgItemText(hwnd,IDC_EDIT3,str3);}break;退出程序case IDC_EXIT:{exit(0);}break;五、结果分析六、该计算器只能实现简单的整数运算, 不能对小数分数进行运算。
c简单计算器课程设计报告

c 简单计算器 课程设计报告一、课程目标知识目标:1. 让学生掌握简单计算器的基本功能,包括加、减、乘、除等四则运算。
2. 使学生理解计算器操作规则,如先算乘除后算加减、括号的作用等。
3. 帮助学生掌握计算器上的其他功能键,如清除、取反、百分比等。
技能目标:1. 培养学生运用计算器进行四则运算的能力,提高计算速度和准确性。
2. 培养学生运用计算器解决实际问题的能力,如购物找零、计算面积等。
3. 培养学生通过观察、思考、提问等方式,发现计算器使用过程中的问题,并尝试解决。
情感态度价值观目标:1. 培养学生对待计算器等电子设备的正确态度,爱护设备,遵守使用规范。
2. 培养学生在合作学习中互相帮助、共同进步的精神,增强团队意识。
3. 通过计算器教学,激发学生对数学学科的兴趣,提高学生的自信心和自主学习能力。
本课程针对年级学生的特点,注重培养学生的学习兴趣和实践能力。
课程性质为实践操作类,强调学生在动手实践中掌握知识。
在教学过程中,教师需关注学生的学习需求,及时调整教学策略,确保学生能够达到课程目标。
课程目标分解为具体学习成果,以便于后续教学设计和评估。
在教学结束后,学生应能独立使用计算器完成四则运算,解决实际问题,并在学习过程中培养良好的情感态度和价值观。
二、教学内容1. 计算器基本结构认知:让学生了解计算器各部分名称及其功能,如数字键、运算符号键、等于键、清除键等。
2. 四则运算操作方法:教学加、减、乘、除四则运算的计算器操作方法,以及运算顺序和括号的使用。
- 加法和减法运算- 乘法和除法运算- 混合运算及括号应用3. 计算器其他功能键使用:介绍取反、百分比、开方等特殊功能键的操作方法。
4. 实践应用:设计实际应用场景,让学生运用计算器解决购物找零、计算面积、计算速度等问题。
- 购物找零问题- 长度、面积、体积计算- 速度、时间、路程计算教学内容参考教材相关章节,结合课程目标进行整合。
教学大纲安排如下:第一课时:计算器基本结构认知、四则运算操作方法(加法和减法运算)第二课时:四则运算操作方法(乘法和除法运算)第三课时:四则运算操作方法(混合运算及括号应用)第四课时:计算器其他功能键使用第五课时:实践应用(购物找零问题)第六课时:实践应用(长度、面积、体积计算)第七课时:实践应用(速度、时间、路程计算)教学内容注重科学性和系统性,确保学生能够循序渐进地掌握计算器的使用方法,并在实际应用中巩固所学知识。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计名称: 系 (院): 专业班级: 姓 名: 学 号: 指导教师: 设计时间: 设计地点:
多功能计算器 计算机科学学院 网络工程 10902
周桂明 200905945
向华老师
2010.12.20 - 2010.12.31 4#2 号软件实验室
Monday Dec 20 2010
Monday Dec 20 2010
网络工程10902 周桂明 长江大学计算机科学学院
反双曲正切 Atanh(x)= Log((1 + x) / (1 – x)) / 2
反双曲余切 Acoth(x)= Log((x + 1) / (x – 1)) / 2
第7页 多功能计算器
(3)进制转换运算功能
10 转 16 :Convert.ToString ( int, 16 ); 10 转 8 :Convert.ToString ( int, 8 ); 10 转 2 :Convert.ToString ( int, 2 ); 16 转 10 :Convert.ToInt32 ( string,16 ); 8 转 10 :Convert.ToInt32 ( string,8 ); 2 转 10 :Convert.ToInt32 (string,2 );
第5页 多功能计算器
Monday Dec 20 2010
四、总体设计思路
网络工程10902 周桂明 长江大学计算机科学学院
1、粗略分析各个功能实现方法
第6页 多功能计算器
(1)基本的四则运算功能(粗略简述)
首先让用户输入一个字符串的运算式(支持键盘直接输入和计算器输入),当用户按下
回车键或计算器的等于键时执行运算操作,运算操作完成后返回运算结果并显示。运算操作
(5)角度,弧度,梯度运算功能
(注意:Math.Sin(x) x 为弧度) 角度转弧度:x / 180 * Math.PI 角度转梯度:x * 9 / 10
Monday Dec 20 2010
(6)其它普通功能
网络工程10902 周桂明 长江大学计算机科学学院
由于其它功能实现比较简单,这里不多加讲解。
双曲余弦 Cosh(x) = (Exp(x) + Exp(-x)) / 2
双曲正切 Tanh(x) = (Exp(x) – Exp(-x)) / (Exp(x) + Exp(-x))
双曲余切 Coth(x) = (Exp(x) + Exp(-x)) / (Exp(x) – Exp(-x))
反双曲正弦 Asinh(x)= Log(x + Sqrt(x * x + 1)) 反双曲余弦 Acosh(x)= Log(x + Sqrt(x * x – 1))
第8页 多功能计算器
(7)特殊功能 (创建子进程运行)
①标准计算器功能:去除科学计算器的大部分计算功能,剩下标准计算功能; ②批量处理计算器功能:利用读取txt文本功能,批量处理大量运算式(每行为一条运算式)
并返回结果保存txt文本,从而达到批量处理功能; ③矩阵相关运算功能:计算矩阵的加法,乘法,逆矩阵,等等运算(最大支持10维方阵); ④解方程组功能:可以对一条方程式求解或方程组(两条方程式组成)求解; ⑤算式积分,微分功能:可以对运算式求积分和微分; ⑥货币转换功能:当程序运行时,利用JS获取专业外汇网站 ”和讯外汇” 网页的货币兑换比
第 13 页 多功能计算器
3、统计功能测试
求样本数据 9 , 8 , 7 , 6 , 5 的总体方差
理论结果:2
Monday Dec 20 2010
网络工程10902 周桂明 长江大学计算机科学学院
第 14 页 多功能计算器
七、运营投入使用
本多功能计算器软件经过大量的测试完善后,不久将会运营投入使用,具体时间,另行
3、设计程序结构图 (UML)
第 10 页 多功能计算器
Monday Dec 20 2010
五、详细设计与实现
网络工程10902 周桂明 长江大学计算机科学学院
1、构建绘制系统框图(UI)
第 11 页 多功能计算器
Monday Dec 20 2010
大学计算机科学学院
第 15 页 多功能计算器
附页:(详细代码)
using System; using System.Collections; using System.Text; using System.Windows.Forms; namespace Calculator {
public partial class Form1 : Form {
1、粗略分析各个功能实现方法…………………….…. 6 2、设计程序流程图………………………………….…. 9 3、设计程序结构图(UML)………...…………….…. 10 五、详细设计与实现 …………………………..………….… 11 1、构建绘制系统框图(UI)………… …………….… 11 2、编写相关代码……………………………………..… 12 六、程序测试………………………………………….…....… 12 七、运营投入使用…………………………..…………...…… 14 八、课程设计小结………………………………………...….. 14 附页:(详细代码)………………………………………...….. 15
第4页 多功能计算器
Monday Dec 20 2010
网络工程10902 周桂明 长江大学计算机科学学院
(20)记录数据求总和功能。 (21)记录数据离均差平方和功能。 (22)记录数据求值差功能。 (23)记录数据求样本和总体方差功能。 (24)记录数据求样本和总体标准差功能。
特殊功能:
(1)标准计算器功能。 (2)批量处理计算器功能。 (3)矩阵相关运算功能。 (4)解方程组功能。 (5)算式积分,微分功能。 (6)货币转换功能。 (7)单位转换功能。 (8)物理相关运算功能。 (9)化学相关运算功能。
网络工程10902 周桂明 长江大学计算机科学学院
第2页 多功能计算器
目录
一、课程设计目的和意义……………..………...…………… 3 二、课程设计任务和要求………………………………….… 3 三、功能需求分析……………………………………………. 4 四、总体设计思路……………………………………………. 6
(4)阶乘运算功能
通常我们所说的阶乘是定义在自然数范围里的,但是也存在小数的阶乘即广义阶乘,这伽玛 函数有关; 普通阶乘:自然数范围里的阶乘;(这里不多加讲解,注意: 0!= 1 ) 广义阶乘:Math.Sqrt(2.05585 * Math.PI * x) * Math.Pow((x / Math.E), x)
#region 全局变量 特征数据 public static char Angle = 'j'; //(记录当前)弧度,梯度,角度 public static int FHex = 10; //(记录当前)进制 public static bool FSize = true; //(记录当前)窗体大小 伸缩作用 #endregion
学好 “ 程序设计 ” 仅仅通过课堂教学或自学获取理论知识是远远不够的,还必须加 强实践,亲自上机输入、编辑、检查、修改、调试和运行各种典型算法。在此引用向华老师 的名言:想学好程序设计,写代码,再写代码,还是写代码!
指导老师意见: 成绩:
教师签名:
年月日
Monday Dec 20 2010
网络工程10902 周桂明 长江大学计算机科学学院
例,并保存数据为XML格式,从而达到以后不联网状态正常运行; ⑦单位转换功能:用XML制定单位换算比例数据并属性选择嵌入到EXE程序中; ⑧物理相关运算功能:对一些物理固定公式求法进行相关计算求解; ⑨化学相关运算功能:对一些化学固定公式求法进行相关计算求解;
(由于本次课程设计仅针对科学计算器的实现,上述特殊功能这里暂不多讲解和分析,将在 多功能计算器 V2.0 版本时全部实现,并分析设计流程和公开程序测试,敬请期待!)
Monday Dec 20 2010
网络工程10902 周桂明 长江大学计算机科学学院
三、功能需求分析
(1)基本的四则运算功能。 (2)三角函数运算功能。 (3)幂函数运算功能。 (4)对数函数运算功能。 (5)度分秒转换运算功能。 (6)进制转换运算功能。 (7)与,或,非,异或运算功功能。 (8)角度,弧度,梯度运算功能。 (9)科学计算法显示功能。 (10)求余运算功能。 (11)绝对值运算功能。 (12)阶乘运算功能。 (13)左右移位运算功能。 (14)取整数运算功能。 (15)取小数运算功能。 (16)倒数运算功能 (17)统计记录功能。 (18)记录框控制操作功能。 (19)记录数据平均值功能。
发布,敬请关注 /stoodcreat
八、课程设计小结
课程设计对学生而言是其对所学课程内容掌握情况的一次自我验证,从而有着极其重要 的意义。通过课程设计能提高学生对所学知识的综合应用能力,能全面检查并掌握所学内容。
程序设计课程设计是计算机类各专业的重要课程,也是其他诸多类专业的重要选修课。 开设这门课可以为理解、应用和开发程序提供技术和方法支持,为后续课程的学习提供重要 思想和方法基础。同时对于学生逻辑思维培养和程序设计思想体系的建立有着重要的影响。
果进入堆栈,反复循环,直到计算完毕后输出计算结果)
(2)三角函数运算功能
由于VS2008 C#编译器中已经封装的大量的三角函数运算操作符,这里仅列举部分作为参
考:已经封装好的这里不多加分析,仅列举没有封装的操作符的计算方法。使用方法:例子:
sin(x) 则为 Math. sin(x) ;
双曲正弦 Sinh(x) = (Exp(x) – Exp(-x)) / 2