VC++程序设计说明书---计算器
C++ 用VC 编写计算器程序
IDC_Exit OnExit
5
01. 12
微机上机报告
控件:
ID:IDC_RADIO1 IDC_RADIO2 IDC_SIN IDC_ARCSIN IDC_COS IDC_TAN 消息函数: OnRadio1 OnRadio2 OnSin OnArcsin OnCos OnTan
控件:
ID:IDC_ARCCOS IDC_ARCTANV IDC_EXP IDC_SQRT IDC_LN IDC_LOG 消息函数: OnArccos OnArctan OnExp OnSqrt OnLn OnLog
及角度制数据的三角计算。 2.2、注意事项:
使用除法计算时应注意不能使被除数为 0,否则会出错:
出现此错误时只需点击确定即可继续之前的计算。 在使用三角函数时应先确定所输入的数据是角度制还是弧度
制的数据,否则计算器会跳出提醒框,如下所示:
2
01. 12
微机上机报告
而计算反三角函数时只能计算弧度制数据得到角度制结果:
m_Edit1.ReplaceSel(" ");
Num=' ';
result=0;
control=0;
UpdateData(FALSE);
}
计算的实现,
按钮下程序代码的实现:
void CCalculatorDlg::OnAdd()
//加法运算
{
// TODO: Add your control notification handler code here
{
if(sub==0)
{
MessageBox("除数不能为 0!请重新输入.");
char ed[50];
VC编程-计算器
实验报告项目名称科学计算器的设计与实现学院计算机学院专业班级计算机科学与技术0602 学号 3106006475 姓名杨振风指导教师黄益民2008年12 月30 日一、设计任务与要求;1、能独立搭建可视化程序编程环境,掌握Visual C++6的安装、运行和使用。
2、总体要求:用面向对象编程的思想与方法,实现一个简单计算器的分析与设计阶段的开发工作,开发工具使用Visual C++6。
3、具体要求:本系统为简单计算器程序开发,实现基本的算术运算以及科学计算,具备计算历史的查询功能,并能检查算术表达式中的错误,分别以二进制、十进制等数制的计算。
4、编写设计方案,设计过程,源程序文件结构,分析实验方案,并对实验做出总结。
二、需求分析1.功能需求(功能划分、功能描述)系统地学习面向对象编程思想,了解MFC架构,逐步熟悉可视化编程环境Visual C++,并在此环境下设计并实现一个简单计算器系统,该计算器应能实现如下功能:(1)、二进制、八进制、十进制及十六进制数的加、减、乘、除、乘方、取模等简单计算(2)、科学计算函数,包括(反)正弦、(反)余弦、(反)正切、(反)余切、开方、指数等函数运算(3)、以角度、弧度两种方式实现上述部分函数(4)、具备历史计算的记忆功能(5)、对不正确的表达式能指出其错误原因2. 运行需求(用户界面、人机接口、故障处理)总体的界面要求类似于Windows xp的要求能够任意切换各种进制,以及弧度和角度。
人性化的显示所输入的表达式,方便用户能够校验输入的数据是否有误,并且能够给出出错处理,如除数不能为0,0次幂的底数不能为0等等!同时能把之前产生的值能够记录下来,便于下次需要时调用。
三、系统设计1.总体方案设计首先我想描述我做的计算器的主要功能的实现。
由于这次课程设计要求加入三角运算以及倒数,平方,三次幂,log, ln, 开根运算。
再加上基本运算符加减乘除。
如果把这些运算符都加在一个表达式里面,这样处理表达式编程一场复杂。
VC++计算器设计与实现文档
VC++环境下计算器程序设计与实现设计目标:在VC++环境下可视化编程实现简单计算器的实现。
目标是有数字按钮,加减乘除符号按钮,清除按钮,两个输入框用来输入用算数字,一个输出框用来显示输出结果。
设计过程:第一步页面设计部分与控件添加部分首先打开VC,选择MFC AppWizard[exe],设定好路径和工程名(这里我设置工程名为为“计算器”)。
在创建向导步骤1的时候,选择“基本对话框”。
创建完成后,把当前页面上原配的控件按Delete全部清除,接着按照MFC自带的控件选项进行本次计算器的控件添加,在原先清空的界面中依次用控件工具框中的相应工具,画出基本的计算器界面(如下图)。
每个控件“属性”都有属于它自己的ID,默认的按钮按键为IDC_BUTTON0,对控件数字按钮和符号按钮的ID不进行修改,把按钮的标题改成相应的数字和运算符号。
编辑框的ID选择默认ID不做修改,完成修改后,就需给控件添加消息响应了,基本操作可以是直接双击控件,便会有向导提示。
MFC默认下了的响应信息都为On_开头,这个步骤一般不对成员函数名称做任何修改,直接点击OK即可。
之后就会跳转到具体的代码实现过程,这里我们依次给每一个控件添加消息响应函数:void CMyDlg::OnButton1(){// TODO: Add your control notification handler code here}void CMyDlg::OnButton3(){// TODO: Add your control notification handler code here}其他的控件和上面的类似。
到此为止,基本上完成了计算器页面的前半部分预备工作,下来是对控件具体实现代码的添加。
在开始第二步之前有一项工作时必须要做的,那便是添加3个成员变量和一个CEdit类的变量。
具体添加方法,就是右键主对话框CMyDlg,选择Add Member Variable。
VC++制作一个入门的计算器软件
VC++整理入门计算器本文档是运用VC++6.0整理一个入门计算器的过程。
由于时间和知识技能原因,只能简单的做一个入门级的计算器(只实现加减乘除功能),以后的内容再追加。
一、建立工程启动VC++6.0,然后“文件”新建一个工程,选择“MFC AppWizard(exe)”选项,输入工程名,确定。
(如下图)弹出“MFC应用程序向导-步骤1”选择“基本对话框”,语言选“中文”,点击完成。
在弹出的控件界面,把按钮先删除。
二、设计计算器界面根据自己的喜好设计计算器的界面,(下图是我设计的简易的界面)。
用控件里面的布局计算器的界面,修改按钮显示,先右击要修改的按钮,选择“属性”,修改对应的“标题”。
按钮设计好之后,设置对应的类,加减乘除四个运算符分别如下设置,右击选“建立类向导”,在“Message Maps”选项内,选对应的“IDC_BUTTON1”,设置Messages:BN_CLICKED,然后“Add Function”,一次选择其他三个按钮,按确定。
(如下图)编辑框如下类,同样是右击编辑框,右击选“建立类向导”,选择第二个选项,选择IDC_EDIT1,然后选Add Variable...,在弹出的对话框中名字中输入m_num1,类型选数字Double,对应设置剩下的编辑框,然后确定。
下一步是输入代码。
三、代码的输入双击“+”按钮,然后点击确定,在对应的代码语句中输入下面的语句:void CMyDlg::OnButton1(){UpdateData(1);m_num3=m_num1+m_num2;UpdateData(0);}双击“-”按钮,然后点击确定,在对应的代码语句中输入下面的语句:void CMyDlg::OnButton2(){UpdateData(1);m_num3=m_num1-m_num2;UpdateData(0);}双击“X”按钮,然后点击确定,在对应的代码语句中输入下面的语句:void CMyDlg::OnButton3(){UpdateData(1);m_num3=m_num1*m_num2;UpdateData(0);}双击“/”按钮,然后点击确定,在对应的代码语句中输入下面的语句:void CMyDlg::OnButton4(){UpdateData(1);if(m_num2==0)MessageBox("除数不能为0,请重新输入除数!");elsem_num3=m_num1/m_num2;UpdateData(0);}四:测试到此软件设置完成,运行看看。
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]=='/')
用VC6.0编写计算器程序
用C++编写计算器程序一、计算器介绍1. 计算器主界面1.1、计算器打开运行后界面如下所示:1.2主界面的说明主界面主要由三部分组成:➢文本框:用于数据的输入(可由下面的按钮或键盘输入),以及计算结果的输出;➢基本计算区:主要可用于数字的输入以及简单的加减乘除的计算,还有可用于清楚文本框的数据;➢数学函数计算区:主用可实现基本常用的数学函数的计算,包括常用的三角函数和反三角函数以及e指数、开平方和以e和10为底对数的计算。
2.计算器的操作说明及注意事项2.1、基本操作:使用计算器进行基本数据计算时通过键盘及基本计算区的按钮输入数据,然后根据计算需要点击“+、-、*、/”按钮,然后点击”=”按钮得出计算结果。
若需使用函数计算时,可先输入数据,然后点击对应使用函数的按钮即可得出结果。
特别的,对于三角函数的计算时,可点击单选框“弧度制”、“角度制”以实现弧度制及角度制数据的三角计算。
2.2、注意事项:✧使用除法计算时应注意不能使被除数为0,否则会出错:出现此错误时只需点击确定即可继续之前的计算。
✧在使用三角函数时应先确定所输入的数据是角度制还是弧度制的数据,否则计算器会跳出提醒框,如下所示:而计算反三角函数时只能计算弧度制数据得到角度制结果:✧在使用常用函数进行计算时应特别注意所输入的数应满足函数的定义域,使函数有意义,否则会出错:✧另注:当所得数据很小时会以科学计数法的形式输出:其中e-002即表示×10-2。
二、MFC编程的实现1. 计算器主界面的设计1.1、建立对话框1.启动Visual C++ 6.0集成开发环境2.创建对话框类型应用程序在【工程】选项卡中选择【MFC AppWizard】应用程序类型,工程文件名为Calculator。
单击确定后选择【基本对话】建立基本对话框应用程序。
1.2、添加控件,设计界面界面设计如下所示:2. 控件ID及变量◆控件:ID: IDC_NUM1 IDC_NUM2 IDC_NUM3 IDC_NUM4 IDC_NUM5消息函数: OnNum1 OnNum2 OnNum3 OnNum4 OnNum5◆控件:ID: IDC_NUM6 IDC_NUM7 IDC_NUM8 IDC_NUM9 IDC_NUM12 消息函数: OnNum6 OnNum7 OnNum8 OnNum9 OnNum12◆控件:ID: IDC_NUM10 IDC_ADD IDC_SUBTRACT IDC_MULPTIPLY IDC_DIVISION 消息函数: OnNum10 OnAdd OnSubtract OnMulptiply OnDivision◆控件:ID: IDC_EQUAL IDC_BACKSPACE IDC_CLEAR1 IDC_Exit消息函数: OnEqual OnBackspace OnClear1 OnExit◆控件:ID:IDC_RADIO1 IDC_RADIO2 IDC_SIN IDC_ARCSIN IDC_COS IDC_TAN 消息函数: OnRadio1 OnRadio2 OnSin OnArcsin OnCos OnTan◆控件:ID:IDC_ARCCOS IDC_ARCTANV IDC_EXP IDC_SQRT IDC_LN IDC_LOG 消息函数: OnArccos OnArctan OnExp OnSqrt OnLn OnLog◆编辑框为IDC_EDIT1,定义类型为CEdit的变量m_Edit1.3. 程序代码的实现3.1、定义变量1)向CalculatorDlg.h的CCalculatorDlg类定义中添加public型变量:CString Num; //用于按钮输入数字的连接的连接2)double result=0;//存放结果数据,赋初值0,得出结果后清0 int control=0; //用于判断是何种运算,注意得出结果后清0 const double pi=3.14159265358979323846; //圆周率的值int math=0; //用于区分弧度制和角度制3)控件函数代码的实现➢数字输入按钮下函数的实现以下是数字键的函数的代码,其余以此类推void CCalculatorDlg::OnNum1(){// TODO: Add your control notification handler code hereCString t;GetDlgItem(IDC_NUM1)->GetWindowText(t); //获取按钮的数字t=Num+t; //字符串连接m_Edit1.SetWindowText(t);//在编辑框中显示Num=t;}➢退格键及清屏键函数代码的实现void CCalculatorDlg::OnBackspace() //退格{Num=Num.Left(Num.GetLength()-1); //使Num的长度减1m_Edit1.SetWindowText(Num);}void CCalculatorDlg::OnClear1() //清楚屏幕{// TODO: Add your control notification handler code herem_Edit1.SetSel(0,-1);m_Edit1.ReplaceSel(" ");Num=' ';result=0;control=0;UpdateData(FALSE);}➢计算的实现,按钮下程序代码的实现:void CCalculatorDlg::OnAdd() //加法运算{// TODO: Add your control notification handler code herechar cs[30];double add;m_Edit1.GetWindowText(cs,30);add=atof((LPCTSTR)cs);switch(control) //每次计算之前前进行之前的运算{case 0: result=add;break; //第一个数应存储case 1: result=result+add;break;case 2: result=result-add;break;case 3: result=result*add;break;case 4:{if(add==0){MessageBox("除数不能为0!请重新输入.");char ed[50];_gcvt(result,50,ed);m_Edit1.SetWindowText(ed);}else{result=result/add;break;}}}control=1;char ed[50];_gcvt(result,50,ed);m_Edit1.SetWindowText(ed);Num=' ';UpdateData(FALSE);}void CCalculatorDlg::OnSubtract() //减法运算{// TODO: Add your control notification handler code here char cs[30];double sub;m_Edit1.GetWindowText(cs,30);sub=atof((LPCTSTR)cs);switch(control) //每次计算之前前进行之前的运算{case 0: result=sub;break; //第一个数应存储case 1: result=result+sub;break;case 2: result=result-sub;break;case 3: result=result*sub;break;case 4:{if(sub==0){MessageBox("除数不能为0!请重新输入.");char ed[50];_gcvt(result,50,ed);m_Edit1.SetWindowText(ed);Num=' ';control=0; //control回到初值return;}else{result=result/sub;break;}}_gcvt(result,50,ed);m_Edit1.SetWindowText(ed);Num=' ';}void CCalculatorDlg::OnMulptiply() //乘法运算{// TODO: Add your control notification handler code here char cs[30];double sub;m_Edit1.GetWindowText(cs,30);sub=atof((LPCTSTR)cs);switch(control) //每次计算之前前进行之前的运算{case 0: result=sub;break; //第一个数应存储case 1: result=result+sub;break;case 2: result=result-sub;break;case 3: result=result*sub;break;case 4:{if(sub==0){MessageBox("除数不能为0!请重新输入.");char ed[50];_gcvt(result,50,ed);m_Edit1.SetWindowText(ed);Num=' ';control=0; //control回到初值return;}else{result=result/sub;break;}}}control=3;char ed[50];_gcvt(result,50,ed);m_Edit1.SetWindowText(ed);Num=' ';}void CCalculatorDlg::OnDivision() //除法运算{// TODO: Add your control notification handler code herechar cs[30];double sub;m_Edit1.GetWindowText(cs,30);sub=atof((LPCTSTR)cs);switch(control) //每次计算之前前进行之前的运算{case 0: result=sub;break; //第一个数应存储case 1: result=result+sub;break;case 2: result=result-sub;break;case 3: result=result*sub;break;case 4:{if(sub==0){MessageBox("除数不能为0!请重新输入.");char ed[50];_gcvt(result,50,ed);m_Edit1.SetWindowText(ed);Num=' ';control=0; //control回到初值return;}else{result=result/sub;break;}}}control=4;char ed[50];_gcvt(result,50,ed);m_Edit1.SetWindowText(ed);Num=' ';}➢等于的实现void CCalculatorDlg::OnEqual() //等于的实现double equal;switch(control){case 1:{m_Edit1.GetWindowText(cs,30);equal=atof((LPCTSTR)cs);result=result+equal;_gcvt(result,50,seq);m_Edit1.SetWindowText(seq);Num=' ';result=0;control=0;break;}case 2:{m_Edit1.GetWindowText(cs,30);equal=atof((LPCTSTR)cs);result=result-equal;_gcvt(result,50,seq);m_Edit1.SetWindowText(seq);Num=' ';result=0;control=0;break;}case 3:{m_Edit1.GetWindowText(cs,30);equal=atof((LPCTSTR)cs);result=result*equal;_gcvt(result,50,seq);m_Edit1.SetWindowText(seq);Num=' ';result=0;control=0;break;}case 4:{m_Edit1.GetWindowText(cs,30);equal=atof((LPCTSTR)cs);if(equal==0){MessageBox("除数不能为0!请重新输入.");char ed[50];_gcvt(result,50,ed);m_Edit1.SetWindowText(ed);Num=' ';control=0; //control回到初值return;}else{result=result/equal;_gcvt(result,50,seq);m_Edit1.SetWindowText(seq);Num=' ';result=0;control=0;break;}}}}➢以下是角度制和弧度制的实现代码void CCalculatorDlg::OnRadio2() //角度制{// TODO: Add your control notification handler code heremath=2;}void CCalculatorDlg::OnRadio1() //弧度制{// TODO: Add your control notification handler code heremath=1;}➢数学函数的实现,以下给出和的程序代码,其余函数依此类推即可得到:void CCalculatorDlg::OnSin() //正弦函数计算的实现{m_Edit1.GetWindowText(cs,30);sub=atof((LPCTSTR)cs);switch(control) //先进行判断之前是否有简单运算{case 0: break;case 1: sub=result+sub;break;case 2: sub=result-sub;break;case 3: sub=result*sub;break;case 4:{if(sub==0){MessageBox("除数不能为0!请重新输入.");char ed[50];_gcvt(result,50,ed);m_Edit1.SetWindowText(ed);Num=' ';control=0; //control回到初值return;}else{sub=result/sub;break;}}}switch(math){case 0: MessageBox("计算三角函数前请选择单位制!");return;case 1: break;case 2: sub=(sub*pi)/180;break;}result=sin(sub);char ed[50];_gcvt(result,50,ed);m_Edit1.SetWindowText(ed);Num=' ';control=0;UpdateData(FALSE);}// TODO: Add your control notification handler code here char cs[30];double sub;m_Edit1.GetWindowText(cs,30);sub=atof((LPCTSTR)cs);switch(control) //先进行判断之前是否有简单运算{case 0: break;case 1: sub=result+sub;break;case 2: sub=result-sub;break;case 3: sub=result*sub;break;case 4:{if(sub==0){MessageBox("除数不能为0!请重新输入.");char ed[50];_gcvt(result,50,ed);m_Edit1.SetWindowText(ed);Num=' ';control=0; //control回到初值return;}else{sub=result/sub;break;}}}if(sub>1||sub<-1){MessageBox("所输入的数超出arcsin函数的定义域,请重新输入!");char ed[50];_gcvt(result,50,ed);m_Edit1.SetWindowText(ed);Num=' ';return;}switch(math){case 0: break;case 1: break;result=(result*180)/pi;char ed[50];_gcvt(result,50,ed);m_Edit1.SetWindowText(ed);Num=' ';control=0;UpdateData(FALSE);}三、心得体会此次微机上机编程中,我原本打算完成那20道题目的集合的程序,并已有了初步的整体规划,且已完成了主程序及前两小题的设计工作。
VC++计 算 器 课程设计说明书
课程设计说明书课程名称:软件设计设计题目:计算器院系:学生姓名:学号:专业班级:指导教师:2015年6月课程设计任务书目录一.系统目标 (1)1. 项目说明 (1)2. 需求分析 (2)二.系统设计 (4)1.开发与设计的总体思想 (4)2.系统框架图 (5)3.开发中疑难及其对策 (5)4特色面板功能的数学原理及其证明 (7)三.设计模式选择 (12)1.建造者模式 (12)2.状态模式 (13)3.命令模式 (13)4.策略模式 (15)5.单件模式 (16)四.系统实现 (16)1.标准型面板实现 (16)2.科学型面板实现 (17)3.程序员面板实现 (18)4.特色型面板实现 (20)五.系统设计总结 (21)1.建造者模式的总结 (21)2.状态模式的总结 (22)3.命令模式的总结 (23)4.策略模式的总结 (24)5.单件模式的总结 (25)六.参考文献 (25)一系统目标1.项目说明项目工程名Calculator开发工具eclipse 4.2.0使用语言Java语言标准Java(TM) SE Runtime Environment 1.6.0运行系统(均装了jre1.6) Windows XP Windows7 Windows 8设计模式建造者模式状态模式命令模式策略模式单件模式系统库中的类JFrame JPanel JButton JTextField JLable JMenuBar JMenuJMenuItem JFont Image Math ArrayList BigIntegerHashMap PlainDocument Pattern Matcher实现的接口ActionListener特殊方法正则表达式Java反射机制项目中的包Client GUI BuilderPattern StatePattern imagenStrategyPattern Tool CommandPattern项目中的文件40个Java文件1个png图标文件总行数(不计空白行) 4913行代码命名规范属性: 不同英语单词下用划线隔开方法和类驼峰命名法2.需求分析★“标准型”面板☆能实现基本的加法、减法、减法、除法以及开方和取倒数运算。
c课程设计简易计算器
c 课程设计简易计算器一、课程目标知识目标:1. 让学生掌握简易计算器的基本功能与操作,包括加、减、乘、除等四则运算。
2. 使学生理解计算器的工作原理,了解显示屏、键盘等组成部分及其作用。
3. 帮助学生掌握计算器的使用规范,如开关机、输入输出等基本操作。
技能目标:1. 培养学生运用计算器解决实际问题的能力,提高计算速度和准确性。
2. 培养学生通过观察、尝试、探索等方法,自主发现计算器操作技巧和功能特点。
3. 培养学生合作交流的能力,学会在小组讨论中分享观点,共同解决问题。
情感态度价值观目标:1. 激发学生对计算器的学习兴趣,培养良好的学习习惯和探究精神。
2. 培养学生尊重科学、严谨求实的态度,树立正确的价值观。
3. 培养学生团队协作意识,增强合作解决问题的能力。
本课程针对小学四年级学生,结合教材内容,以实用性为导向,注重培养学生的动手操作能力和实际问题解决能力。
课程目标明确,易于衡量,为后续教学设计和评估提供依据。
在教学过程中,教师应关注学生个体差异,因材施教,确保每位学生都能在课程中收获知识和技能。
二、教学内容本章节教学内容主要包括以下几部分:1. 计算器的基本结构:介绍计算器的显示屏、键盘、电池等组成部分及其功能。
2. 四则运算操作:详细讲解加、减、乘、除四则运算在计算器上的操作步骤。
3. 计算器操作规范:教授计算器的开关机、清屏、输入输出等基本操作规范。
4. 实际问题解决:结合教材实例,引导学生运用计算器解决生活中的实际问题。
5. 操作技巧与功能探索:指导学生探索计算器的其他功能,如百分比、乘方等,并分享操作技巧。
教学内容安排如下:第一课时:计算器的基本结构及操作规范介绍。
第二课时:四则运算操作教学,以教材为例题进行讲解和实操。
第三课时:实际问题解决,分组讨论并运用计算器解决生活中的数学问题。
第四课时:操作技巧与功能探索,学生自主探究计算器其他功能并分享。
教学内容与教材紧密关联,确保科学性和系统性。
《c 面向对象程序设计简单计算器的设计》
面向对象程序设计----简单计算器的设计一、问题描述简单计算器的基本功能如下:1.四则运算,例如加减乘除等;2.除了整数的运算也可实现小数的各类运算;3.判断非法操作,例如判定1/0为非法操作;4.其他特性;这个简易计算器只实现以上所述功能,即实现简单计算。
二、设计思路计算器起始运行在归零状态,此时只接受数字输入,当按下一个数字按钮时,计算器只显示用户输入第一个操作数,用户在该状态下可以继续输入数字。
1.当第一个数字输入完成后,可以接受第二个操作数。
2.在数字输入结束进行运算后,按下=按钮可以根据前面按下的操作符计算结果显示,表示计算完成。
3.在上述计算过程中都可以接受双击等号回到清零状态。
三、功能函数设计:1.数字按钮这个是通过最基本的OnButton()将0~9十个数字按钮的单击消息处理函数用类向导全部关联到此,适文本框应该只是显示当前单击的数字;2.小数点按钮函数OnDecimal这个函数主要是实现小数点在计算器的相关功能3.列表在算法的函数OnSelchangeOperatorList()这一类按钮包括“+”“-”“*”“/”,它们的单击消息在同一个处理函数中进行处理,以同样的方法把这四个按钮的单击操作关联到此函数中,使四则运算法则在列表中通过选择去实现。
4.“=”符号函数OnEnquall()实现计算器中等号的功能,双击时也可使编辑框的数字归零。
四、编码实现:int calculator_type_i;double count=10,value=0;double Input_data_int=0,Input_data_dec=0;double Inputdata1=0,Inputdata2=0;char datatostr_buffer[10];bool decimal=FALSE;以上代码是添加的全局变量,为正确获取键盘输入供所有按钮函数使用。
// TODO: Add extra initialization herem_OperatorBox.AddString("-");m_OperatorBox.AddString("*");m_OperatorBox.AddString("/");m_OperatorBox.AddString("+");以上代码是初始化列表框,并使其在程序运行时具有“加”“减”“乘”“除”可选择功能。
利用VC设计计算器的步骤
利用VC设计计算器的步骤一、新建应用程序工程1、点“文件”、点“新建”、进入创建应用程序工程向导2、修改新建工程之类名二、编辑对话框修改按钮ID及按钮名分别为:IDC_ADD_BUTTON1 加IDC_MINUS_BUTTON2 减IDC_MULIPLE_BUTTON3 乘IDC_DIVIDE_BUTTON4 除编辑结果:三、创建变量、函数1、进入创建向导:2、为“结果”编辑框创建浮点类型变量m_result:3、创建函数:IDOKOnOk()退出按钮IDC_ADD_BUTTON1OnAddButton1()加按钮IDC_MINUS_BUTTON2OnMinusButton2()减按钮IDC_MULIPLE_BUTTON 3 OnMulipleButton3() 乘按钮IDC_DIVIDE_BUTTO N4 OnDivideButton4()除按钮四、为函数添加代码(红色部分):1、进入添加代码之函数文件:2、添加代码(红色部分):void CcomputerDlg::OnAddButton1(){int num1,num2,num3;char ch1[10],ch2[10],ch3[10];GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,10);GetDlgItem(IDC_EDIT2)->GetWindowText(ch2,10);num1=atoi(ch1);num2=atoi(ch2);num3=num1+num2;itoa(num3,ch3,10);GetDlgItem(IDC_EDIT3)->SetWindowText(ch3);}void CcomputerDlg::OnMinusButton2(){int num1,num2,num3;char ch1[10],ch2[10],ch3[10];GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,10);GetDlgItem(IDC_EDIT2)->GetWindowText(ch2,10);num1=atoi(ch1);num2=atoi(ch2);num3=num1-num2;itoa(num3,ch3,10);GetDlgItem(IDC_EDIT3)->SetWindowText(ch3);}void CcomputerDlg::OnMulipleButton3(){int num1,num2,num3;char ch1[10],ch2[10],ch3[10];GetDlgItemText(IDC_EDIT1,ch1,10);GetDlgItemText(IDC_EDIT2,ch2,10);num1=atoi(ch1);num2=atoi(ch2);num3=num1*num2;itoa(num3,ch3,10);SetDlgItemText(IDC_EDIT3,ch3);}void CcomputerDlg::OnDivideButton4(){// TODO: Add your control notification handler code here int num1,num2;char ch1[10],ch2[10];GetDlgItemText(IDC_EDIT1,ch1,10);GetDlgItemText(IDC_EDIT2,ch2,10);num1=atoi(ch1);num2=atoi(ch2);m_result=(float)num1/num2;UpdateData(FALSE);//ftoa(num3,ch3,10);//SetDlgItemText(IDC_EDIT3,ch3);}五、编译六、运行七、所用函数说明:1、CWnd::GetDlgItmeText函数声明int GeyDlgItemText(int nID,LPTSTR lpStr,int nMaxCount)constint GeyDlgItemText(intnID,CString&rString)constnID:控件之ID号lpStr:存放控件内容的指针nMaxCount:内容之最大长度rString:存放控件的内容2、CWnd::SetDlgItemText函数声明void SetDlgItemText(int nID,LPCTSTR lpszString)nID:控件的ID号lpszString:指向控件内容的指针功能:设置控件的内容3、CWnd::GetWindowText函数声明int GetWindoeText(LPTSTRlpszStringBuf,int nMaxCount)constvoid GetWindoeText(CString&rString)constlpszStringBuf:指向控件内容的字符串nMaxCount:输入字符的最大数值rString:保存字符串的最大数量功能:将一个CWnd类窗口的标题复制到指定字符串中,返回值为复制内容之大小4、CWnd::SetWindowText函数声明int SetWindowText(LPTSTR lpszString)lpszString:指向控件内容的字符串功能:设置指定窗口的标题。
vc课程设计计算器
vc 课程设计计算器一、教学目标本课程旨在让学生掌握计算器的基本使用方法,理解计算器在数学和科学计算中的应用,培养学生的逻辑思维能力和解决问题的能力。
具体目标如下:知识目标:使学生了解计算器的各种功能及其应用场景,掌握计算器的基本操作方法。
技能目标:能够运用计算器进行简单的数学计算、科学计算和数据处理,提高计算准确性和效率。
情感态度价值观目标:培养学生对科学技术的兴趣和好奇心,激发学生探索未知、创新思维的精神。
二、教学内容本课程的教学内容主要包括以下几个部分:1.计算器的基本结构:介绍计算器的各种按键功能及其对应的操作。
2.计算器的使用方法:讲解如何使用计算器进行数学计算、科学计算和数据处理。
3.计算器在实际应用中的案例分析:通过实际案例,使学生了解计算器在日常生活和学习中的重要作用。
4.计算器的维护与保养:教授学生如何正确使用和维护计算器,延长其使用寿命。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式:1.讲授法:教师讲解计算器的基本原理、功能及使用方法。
2.讨论法:分组讨论计算器在实际应用中遇到的问题,培养学生解决问题的能力。
3.案例分析法:分析实际案例,使学生了解计算器在生活和学习中的重要作用。
4.实验法:让学生亲自动手操作计算器,进行实际计算,巩固所学知识。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选用内容丰富、适合学生年龄特点的计算器教材。
2.参考书:提供相关的计算器使用手册和资料,供学生课后自学。
3.多媒体资料:制作课件、教学视频等,以生动形象的方式展示计算器的使用方法。
4.实验设备:为学生提供足够的计算器,以便进行实际操作和实验。
五、教学评估为了全面、客观地评估学生的学习成果,本课程将采用以下评估方式:1.平时表现:观察学生在课堂上的参与程度、提问回答等情况,了解学生的学习态度和兴趣。
2.作业:布置适量的课后作业,检查学生对课堂所学知识的掌握程度。
课程设计说明书-计算器
C#程序设计及课程设计课程设计说明书设计题目:计算器目录1 引言 (2)1.1课程设计的目的 (2)1.2本选题的内容要求 (2)1.3 软件开发运行环境 (2)2 总体设计 (3)2.1设计思路 (3)2.2软件总体结构图 (3)2.3主要功能模块的设计 (3)3 详细设计与实现 (4)3.1 主界面模块 (4)3.1.1主界面功能设计 (4)3.1.2主界面设计 (4)3.1.3主界面主要代码 (4)3.2 计算过程演示 (10)3.2.1乘法运算过程演示 (10)3.2.2求根以及连续操作的演示 (11)4 小结和展望 (13)参考文献 (13)1引言1.1课程设计的目的本课程设计将实现一个简单计算器。
其类似于Windows附件中自带的计算器。
但这个计算器实现了更复杂的功能,具有简洁大方的图文外观。
即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。
在课程设计中,系统开发平台为Windows 2000XP.程序设计设计语言采用Visual C#。
1.2本选题的内容要求1)可以显示计算数字2)可以进行加减乘除四则运算3)可以实现进制转换,求根4)可以进行清零运算5)可以进行连续计算1.3 软件开发运行环境本软件开发平台:Visual Studio本软件运行环境:Windows 7或以上版本2总体设计2.1设计思路先新建窗体应用程序创建数字与运算符的按钮,再完善相关的代码部分。
点击按钮中的数字键和运算符键就能进行简单的加、减、乘、除四则运算;还能通过用户自己在文本框中输入数字,进行简单运算。
计算流程:首先点击数字按钮时,将按钮数值添加到文本框当中,并将该数值保存到一个字符串中,再次点击数字按钮时,将之前保存的字符串与新的数值拼接起来,再添加到文本框当中,直到点击运算符按钮时,将文本框当中的字符串保存在一个字符串变量中,然后重置文本框内容,随后输入第二个计算数据时,用同样的办法保存数据,最后通过控制运算符先将字符串数据转化成单精度类型,然后计算出结果并显示到文本框当中。
C++课程设计(计算器)--用VC++制作多功能计算器
C++课程设计(计算器)--用VC++制作多功能计算器用VC++制作多功能计算器目录摘要 ..................................................................... ............................... 2 1 引言 ..................................................................... . (2)1.1 课题背景 ..................................................................... (2)1.2课程设计目的 ..................................................................... .. 2 2 开发工具的介绍 ..................................................................... (3)2.1关于VisualC++ ....................................................................32.2可行性分析 ..................................................................... (4)2.3需求分析 ..................................................................... .......... 4 3 功能说明 ..................................................................... ................. 4 4 系统的实现 ..................................................................... .. (5)4.1窗体设计 ..................................................................... . (5)4.2编辑资源 ..................................................................... . (6)4.3实现高级按钮控件类 (8)4.4实现高级编辑控件类 (12)4.5对话框界面设计 (15)4.6数值计算功能的实现 (20)5 程序结果的演示 ..................................................................... . (21)5.1测试的研究与选择 (21)5.2测试环境 ..................................................................... .. (21).3实例测试结果 .....................................................................22 5结束语 ..................................................................... . (23)参考文献 ..................................................................... . (23)用VC++制作多功能计算器摘要本课程设计将实现一个简单计算器。
C语言程序设计之简单计算器
C语言程序设计之简单计算器C语言是一种广泛应用于操作系统、嵌入式系统和各种应用程序的高级程序设计语言。
在学习C语言的过程中,我们可以通过编写简单的计算器程序来巩固所学的知识。
计算器程序的基本功能是接收用户输入的两个数字和一个运算符,然后根据用户的选择进行相应的运算,最后输出结果。
下面是一个简单的计算器程序的实现。
首先,我们需要包含头文件stdio.h和stdlib.h,以便使用标准输入输出函数和动态内存分配函数。
#include <stdio.h>#include <stdlib.h>接下来,我们定义一个函数menu,用于显示计算器的菜单选项。
用户可以选择进行加法、减法、乘法或除法运算,或者退出程序。
void menprintf("====================================\n");printf("简单计算器\n");printf("1. 加法\n");printf("2. 减法\n");printf("3. 乘法\n");printf("4. 除法\n");printf("5. 退出程序\n");printf("====================================\n");printf("请选择您要进行的运算:");然后,我们定义一个函数add,用于执行加法运算。
该函数接收两个参数:num1和num2,分别表示用户输入的两个数字。
float add(float num1, float num2)return num1 + num2;类似地,我们可以定义函数sub、mul和div,用于执行减法、乘法和除法运算。
float sub(float num1, float num2)return num1 - num2;float mul(float num1, float num2)return num1 * num2;float div(float num1, float num2)if (num2 != 0)return num1 / num2;} elseprintf("错误:除数不能为0!\n");return 0;}最后,我们在主函数中调用这些函数,实现计算器的功能。
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数组中。
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程序设计的基本技能和面向对象的概念和方法;了解菜单、视图/文档、数据库等编程技术。
同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录目录 (I)摘要 (II)1 设计目的 (1)2 设计要求 (2)3 设计内容 (3)3.1 系统分析 (3)3.2项目创建 (3)3.3界面设计 (5)3.4 代码实现 (8)3.5 方案分析总结 (17)总结与致谢 (20)参考文献 (21)附件 (22)摘要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程序设计的基本技能和面向对象的概念和方法;了解菜单、视图/文档、数据库等编程技术。
同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。
2 设计要求GPA计算器的出现,是为了方便学生进行GPA换算。
功能要求有以下几点:(1)学生成绩可以由文件导入。
(2)获GPA标准可以选择,也可以手动输入(3)GPA的计算过程易于监督控制(4)计算结果的可读性强3 设计内容3.1 系统分析本次设计要求导入成绩文件,还涉及文件的输入输出控制,界面操作相对频繁,所以对对话框的控件的编程有一定的要求。
为了使本次设计更加方便,不容易出错误,设计时应注意:使界面人性化,这样可以减少用户的误操作提高程序的健壮性;界面人性化一般要通过屏蔽当前无效的界面和信息来实现的。
系统设计通过VC6.0来实现,用到了庞大的MFC库。
MFC库支持三种不同应用程序:单文档、多文档和基于对话框。
本次课程设计用到的是基于对话框的这种情况。
这些应用程序模型为我们提供了统一的编程方法和界面基础。
GPA计算器可以简单地分为三个模块,如下图1.1所示。
图1.1 GPA模块设置3.2项目创建(1)在Visual c++中,新建MFC AppWizard(exe)单文档工程,命名为GPACalculator。
(2)在MFC AppWizard第一步中设置应用程序的类型为基本对话模式,然后单击“确定”按钮,应用程序GPACalculator就建立了。
图1.2 基本对话模式工程的建立图1.3 新建工程信息3.3界面设计打开对话框资源,为各个控件添加ID,进行属性设计;添加完控件后,打开ClassWizard,针对IDD_GPACALCULATOR_DIALOG所指向的类CCPACalculatorDlg,为该类添加成员变量。
(1)打开对话框资源IDD_GPACALCULATOR_DIALOG,该对话框是程序运行时的主界面,按要求完成控件的添加。
例如,组框的添加。
首先,点击控件工具条上的‘组框’按钮,在对话框上画出组框,并适当地调整其大小。
然后右键单击组框,选择‘属性’,ID保持默认,标题改为‘第一步:载入分数文件’,关闭对话框。
这样,组框控件添加完成。
如下图 1.3、1.4所示。
按照这样的步骤,完成所有控件的添加。
其中包括按钮、静态文本框、编辑框、组合框、列表框等。
控件添加完成后效果图如图1.6所示。
控件列表见附录1。
图1.4 控件属性设置 图1.5 控件添加完成示意图(2)通过类向导为CCPACalculatorDlg 类添加成员变量。
单击菜单栏的‘查看’中的‘建立类向导’,打开‘MFC ClassWizard ’对话框。
然后,选择‘Member Variables ’选项,选择要添加成员变量的类,再选择要添加成员变量的控制ID ,单击‘添加变量’按钮,输入变量名,选择变量类型,单击确定即可。
然后按照同样的方法为所有的控件添加成员变量。
控件IDC_EDIT_PATHNAME 的成员变量的添加如下图1.7所示。
成员变量列表见附录2。
图1.6 控件添加完成效果图3.4 代码实现(1)添加菜单控制①制作菜单资源。
右键单击‘资源’选项卡上的最顶层文件夹‘GPACalcularor resources ’,选择‘插入’->‘菜单’,单击‘新建’按钮。
这样,就在‘GPACalcularor resources ’文件夹下建立了一个‘Menu ’文件下,内含有一个‘IDR_MAIN_MENU ’资源。
双击‘IDR_MAIN_MENU ’上的虚线框,为其添加文件、帮助两个菜单,再为文件添加一个‘退出’菜单,为帮助添加使用‘说明’、‘关于’两个菜单。
并设置菜单的属性,为其设置ID 和表明。
分别如下:退出‘ID_MENU_ITEM_EXIT ’、关于‘ID_MENU_ITEM_ABOUT ’、使用说明‘ID_MENU_ITEM_MAN ’。
菜单资源如下图1.8所示。
②装载菜单。
选中对话框资源‘IDD_GPACALCULATOR_DIALOG ’,在对话框上右击,从弹出的快捷菜单中选择‘属性’命令,然后弹出属性对话框。
在属性对话框中选择相应的菜单资源。
如下图1.9所示。
图1.7 控件的成员变量添加举例山东建筑大学信电学院课程设计说明书③编写菜单代码。
使用类向导为菜单添加响应函数。
打开类向导,选中退出菜单项的ID ‘ID_MENUITEM_EXIT ’,单击右边‘Message ’框下面的COMMAND ,单击‘Add Function ’为退出菜单添加响应函数。
然后,点击‘Edit Code ’在跳转处添加下面代码:void CGPACalculatorDlg::OnMenuitemExit() { // TODO: Add your command handler code hereDestroyWindow();按同样的步骤为使用说明和关于菜单添加程序代码如下: void CGPACalculatorDlg::OnMenuitemMan() {// TODO: Add your command handler code here图1.8 菜单资源图1.9 装载菜单山东建筑大学信电学院课程设计说明书WinExec("notepad.exe EXPLAIN.HEP",SW_SHOW);}void CGPACalculatorDlg::OnMenuitemAbout(){// TODO: Add your command handler code hereCAboutDlg dlg;dlg.DoModal();}(2)分数存储结构。
分数是由磁盘文件导入的,在程序中应该有相应的内存存储结构来存储分数,当需要用分数来进行计算等操作时,则从这个存储结构中读出。
当磁盘文件内容变化时,则应更新这个存储结构。
①在类选项卡下,点击‘CGPACalculatorDlg’在其中加入如下结构代码。
typedef struct stScore{double dOPoint; //原始分double dSPoint; //标准分double dNum; //学分}stScore;②在文件选项卡下,双击‘Header Files -> StdAfx.h’,在其中加入以下头文件:#include<afxtempl.h>③在类选项卡下,双击‘CGPACalculatorDlg’加入私有对象‘arScore’,用作分数存储。
代码如下:private:CArray<stScore,stScore&>arScore;(3)功能函数①添加GetSDPoint函数。
在‘CGPACalculatorDlg’中进行函数的定义:private:double GetSDPoint(double dPoint);在‘CAbourDlg’中添加函数的代码如下:double CGPACalculatorDlg::GetSDPoint(double dPoint){UpdateData();CArray<double,double&> arOPoint;山东建筑大学信电学院课程设计说明书CArray<double,double&> arSPoint;arOPoint.Add(m_dO1);arOPoint.Add(m_dO2);arOPoint.Add(m_dO3);arOPoint.Add(m_dO4);arOPoint.Add(m_dO5);arOPoint.Add(m_dO6);arOPoint.Add(m_dO7);arOPoint.Add(m_dO8);arSPoint.Add(m_dS1);arSPoint.Add(m_dS2);arSPoint.Add(m_dS3);arSPoint.Add(m_dS4);arSPoint.Add(m_dS5);arSPoint.Add(m_dS6);arSPoint.Add(m_dS7);if(dPoint>=arOPoint[0])return arSPoint[0];for(int i=0;i<arOPoint.GetSize();i++){if(dPoint>=arOPoint[i])return arSPoint[i-1];}return 0;}②添加SpliterString函数。
分散文件是以‘原始分学分’的方式给出的,需要一个功能函数来将这个字符串拆分成两个double型的原始分和学分。
函数定义如下:void SpliterString(CString str,double &a,double &b);函数代码如下:void CGPACalculatorDlg::SpliterString(CString str, double &a, double &b){CString strOne,strTwo;int ifind;str.TrimLeft(' ');str.TrimRight(' ');ifind=str.Find(' ');strOne=str.Left(ifind);山东建筑大学信电学院课程设计说明书strTwo=str.Right(str.GetLength()-ifind-1);a=atof(LPCTSTR(strOne));b=atof(LPCTSTR(strTwo));}③GatherData的添加。