1、3、以角度、弧度两种方式实现上述部分函数4、具备历史计算的记忆功能5、对不正确的表达式能指出其错误原因二.设计方案:实验要求在Windows XP操作系统的基础上借助于VisualC+6编程工具,设计并实现一个简单计算器的程序设计工作!根据实验的要求,本次实验把计算器分为几个模块,模块之间是相互独立但有相互联系的!他们为实现计算器的功能体现着自己的价值:1. 计算器外观的设计用MFC AppWizard创建一个Dialog Based的对话框。在Dialog上添加和布局控件。2. 基本按键的控制及关联实现基本按纽与字符及字符串的关联和实现与控件的数据交换3. 运用对话框窗口实现各种数制的简单计
2、算分别实现计算器二进制、八进制、十进制、十六进制的简单计算,并能进行数学表达式的计算。4. 实现科学计算功能调用科学计算函数,为计算器添加科学计算函数,包括(反)正弦、(反)余弦、(反)正切、(反)余切、开方、指数等5. 为部分科学计算函数添加角度与弧度两种数值表示形式6. 实现历史计算功能7. 程序容错处理8. 添加其它小功能,优化交互性功能并调整界面。以下是计算类中的一个主过程函数:CString CCalculation:MainPro(CString strExp) if(strExp.IsEmpty() return 表达式不能为空; Macro(&strExp); strExp.M
3、akeLower(); /表达式全部小写 /*给表达式加上保护括号*/ strExp.Insert(0,(); strExp+=) /*/ int pos=strExp.Find( int n=BraCheck(strExp); CString str; str.Format(%d,abs(n); if(n=1) strExp+= else if(n=-1) strExp.Insert(0, else if(n0) return 缺少+str+个右括号 else if(n、十进制-十六进制(结果)。10. 输出非十进制数计算结果时注意什么?注意结果的所要求进制数的格式表示。11. 在进行科学计
4、算时如何满足精度的要求?C+中的double型的有效数字为16位,基本满足了精度的要求,因此所进行的数据都为double型数据的计算。12. 角度与弧度数是如何转换的? 弧度=角度*PI/180。13.内存的动态分配与静态分配适用于哪些情况?动态程序;静态系统14. 如果本实验部分不显式分配内存,如何实现?15.软件容错处理应用于哪些情况? 1该软件开发时考虑的不足2用户用计算器时不规范操作 一、题目:数字交叉游戏 二、目的与要求 1目的:(1)并使学生更加系统地理解和掌握C+语言的函数间参数传递方法、数组和指针的应用等编程技巧。培养学生综合利用C+语言进行科学计算,使学生将所学知识转化为分析
5、和设计简单实际问题的能力,学会查资料和工具书。(2)提高学生建立程序文档、归纳总结的能力。(3)进一步巩固和灵活运用先修课程计算机文化基础有关文字处理、图表分析、数据归整、应用软件之间图表、数据共享等信息技术处理的综合能力。2基本要求:要求用C+语言编程,在VisualC+环境下调试完成;三、设计方法和基本原理 课题功能描述 若某两个数字分别为:1357.8902和53.639742,则在交叉因子0110.110011的控制下,两个新的数字分别为1057.630242和353.8997,即交叉因子为“1”的那位进行交换,而为“0”的那位两个数字不进行交换。现在要求做一个整数最多为4位,小数位最多为6位情况下,要求显示输入随机生成的两个数字以及一个交叉因子,在随机生成的交叉因子控制下实现两个数字的交叉,并将交叉结果输出。问题的解决方案:将读入的两个小于10000的实型数据分别存储到两个整型数组中,数组中每个元素都是09的整数,对于上面给出的例子存储结果如下:135789020 642 使用随机函数生成交叉因子,即如下形式 1 然后在交叉因子控制下完成数据交换。最后将交换后的数组重新整和成为两个实数。四、创新要求 在基本要求达到后,进行创新设计,对随机生成的20个数据,随机选择m对数据进行数据交叉。