C++课程设计报告_复数计算器_2015_电信1401_曾立弘_0903140114
复数计算器 实验报告
中南大学高级程序设计实践(C++)课程设计报告题目复数计算器学生姓名指导教师陈丽萍学院信息科学与工程学院专业班级通信工程1301班完成时间 2014年7月5日第一章需求分析与程序设计1.1 需求分析1.1.1程序设计的目的与任务1.复习和巩固C++语言的基础知识,进一步加深对C++语言的理解和掌握。
2.为学生提供独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生独立分析问题、解决问题、查阅资料以及自学能力。
3.学习和掌握C++程序设计方法以及上机调试技巧,为今后学习其它专业课程打好基础。
4.在程序实现过程中,需利用面向对象程序设计理论的基础知识,充分体现出C++语言关于类、继承、封装与多态等核心概念,每一个类应包含数据成员和成员函数,以实现预期的功能,解决实际问题。
1.1.2“复数计算器”程序所能实现的功能1.建立实数类、复数类,复数类由实数类公有继承而来。
2.实现实数、复数信息的初始化。
3.通过选择结构和调用相关函数实现实数的相关运算,包括:两个实数间的加、减、乘、除和一个实数的自增、自减、求平方、二次方根等运算。
4.通过选择结构和调用相关函数实现复数的相关运算,包括:两个复数间的加、减、乘、除、求两个复数的夹角和一个复数的取模、求平方、求共轭复数、求单个复数的向量角等运算。
5.通过调用相关函数实现实数、复数信息的输出,显示在显示屏上。
6.通过多次运用选择和循环结构实现对实数、复数运算的选择,在选择了实数或复数运算的前提下,再实现对各种运算的选择,运算结束后还可以选择继续实现其它运算或退出程序。
1.2 程序设计1.2.1概要设计1.系统中的各个实体及它们之间的关系系统中的实体是实数类对象和复数类对象,它们的关系是复数类对象所属的类是由实数类对象所属的类公有派生而来的。
2.系统的类层次程序中建立了两个类,分别是实数类、复数类,复数类是由实数类公有派生而来的。
3.主程序的流程以及各程序模块之间的层次(调用)关系首先从键盘输入数字1或2或0,输入不同数字则进入不同的并列的小程序模块。
c课程设计计算器报告
c 课程设计计算器报告一、教学目标本课程的教学目标是使学生掌握C语言的基本语法,熟练使用C语言进行程序设计。
具体分为三个部分:1.知识目标:学生需要掌握C语言的基本语法,包括数据类型、运算符、控制结构、函数等。
2.技能目标:学生能够使用C语言编写简单的程序,解决实际问题。
3.情感态度价值观目标:培养学生对计算机科学的兴趣,提高学生解决问题的能力。
二、教学内容教学内容主要包括C语言的基本语法和程序设计的基本方法。
具体安排如下:1.第一章:C语言概述,介绍C语言的历史和发展,理解C语言的特点。
2.第二章:数据类型和运算符,学习C语言的基本数据类型和运算符。
3.第三章:控制结构,学习C语言的条件语句和循环语句。
4.第四章:函数,学习C语言的函数定义和调用。
5.第五章:数组和字符串,学习C语言的数组和字符串操作。
6.第六章:指针,学习C语言的指针概念和应用。
7.第七章:结构体和文件,学习C语言的结构体和文件操作。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法:1.讲授法:讲解C语言的基本语法和概念。
2.案例分析法:通过分析实际案例,让学生理解C语言的应用。
3.实验法:安排实验课程,让学生动手编写C语言程序。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《C程序设计语言》2.参考书:《C Primer Plus》、《C和指针》3.多媒体资料:教学PPT、视频教程4.实验设备:计算机、编程环境五、教学评估本课程的评估方式包括平时表现、作业、考试等。
具体安排如下:1.平时表现:占课程总评的30%,包括课堂参与度、提问回答、小组讨论等。
2.作业:占课程总评的30%,包括课后练习、编程任务等。
3.考试:占课程总评的40%,包括期中考试和期末考试。
评估方式要求客观、公正,能够全面反映学生的学习成果。
我们将根据学生的实际情况,及时给予反馈,帮助学生提高。
六、教学安排本课程的教学进度安排如下:1.每周一次课,每次课2小时。
C课程设计复数计算器
C++课程设计实验报告姓名学号班级合作者学号班级任课教师时间教师指定题目复数计算器评定难易级别 A级实验报告成绩复数计算器程序功能设计1.程序功能的总体结构复数计算器的程序总体功能可设计成如图1所示,可以看出,复数计算器的各种功能都用菜单选项列出,用户可以根据需要选择相应的菜单项,从而执行不同的子程序以完成相应的功能。
2.课程设计要求(1)一开始运行程序,要有详细的菜单选项界面,用户不选择退出就可以反复运算。
(2)可以进行多个操作数的复数运算,输入0+0*i时为止。
(3)编写可以对输入的复数求模的成员函数。
(4)编写具有测试功能的函数,即计算机能够自动出题,并要求用户计算,同时计算机判断用户计算的对错并打分,要求十题为一个单元,每题一个运算符,运算符包括+,-,*三种,参与加减运算实部虚部为一位数。
(5)重载输入输出运算符,对复数的输入既可采用实部虚部分开提示输入,也可直接输入诸如a+i*b或a+ib这种形式,对复数的输出要考虑实部虚部的正负号,通过判断给出的输出结果。
2.程序设计思想1)类的封装程序中将复数形式的数据定义成一个复数类CComplex,重载了加法及减法等运算符,使函数的加减等运算像一般数据一样方便.每个运算符重载都用一个函数去实现。
参考类的定义如下:class CComplex{private:double Real,Image;public:CComplex(double real=0,double image=0) //构造函数{Real=real;Image=image;}friend istream&operator>>(istream&is,CComplex&com); //重载输入friend ostream&operator<<(ostream&os,CComplex&com); //重载输出CComplex operator+(CComplex&com);CComplex operator-(CComplex&com); //减法重载CComplex operator*(CComplex&com); //乘法重载CComplex operator/(CComplex&com); //除法重载int operator==(CComplex&com);int operator!=(CComplex&com);int operator>(CComplex&com);int operator<(CComplex&com);float Module(void); //复数求模};(2)设计的任务要求1在实际应用中,输入复数可能为a+bi, a, bi, -a, -bi, +i. –i. I等形式。
C++课程设计报告(复数计算器)
南京信息工程大学《面向对象程序设计》课程设计实验报告课程名:面向对象程序设计专业:网络工程班级:2班作者:张煜荻、吴辉煌、张一东日期:2011年5~6月实验内容题目:设计一个复数计算器。
要求:1)所设计的复数计算器可以进行+、-、×运算。
2)设计输入重载函数,要求能接收从键盘输入a+b i形式的复数,在程序中可以识别出实部、虚部并进行赋值。
3)设计算器测试程序,对加减法进行测试,要求在两位数以内,对乘法进行测试,乘法要求为一位数的运算。
小组分工程序源码#include<iostream>#include<cmath>#define EPS 1e-5//定义精度为10^-5using namespace std;namespace NameCalculator //定义空间NameCalculator{class Calculator //定义Calculator类{private:double Real,Image; //私有成员:实部Real、虚部Image public:Calculator(double real=0,double image=0) //构造函数{Real=real;Image=image;}int operator==(Calculator &com); //等于重载Calculator operator+(Calculator &com); //加法重载Calculator operator-(Calculator &com); //减法重载Calculator operator*(Calculator &com); //乘法重载Calculator operator*=(Calculator &com);//乘法赋值重载friend istream & operator>>(istream &is,Calculator &com); //输入重载friend ostream & operator<<(ostream &os,Calculator &com); //输出重载};int Calculator::operator==(Calculator &com) //重载等于{if(Real==com.Real && Image==com.Image)return 1;elsereturn 0;}Calculator Calculator::operator+(Calculator &com) //加法重载{Calculator sum;sum.Real=Real+com.Real;sum.Image=Image+com.Image;return sum;}Calculator Calculator::operator-(Calculator &com) //减法重载{Calculator sub;sub.Real=Real-com.Real;sub.Image=Image-com.Image;return sub;}Calculator Calculator::operator*(Calculator &com) //乘法重载{Calculator multi;multi.Real=Real*com.Real-Image*com.Image;multi.Image=Real*com.Image+Image*com.Real;return multi;}Calculator Calculator::operator*=(Calculator &com) //重载乘法赋值{double nReal=Real*com.Real-Image*com.Image;double nImage=Real*com.Image+Image*com.Real;Real=nReal;Image=nImage;return *this;}istream & operator>>(istream &is,Calculator &com) //重载输入{cout<<"请输入复数:";char s[20];is>>s; //用字符串形式接受输入的复数int len=strlen(s);int n=0,sign=1;com.Image=com.Real=0;for(int k=0;k<len;k++){if((s[k]<'0'||s[k]>'9')&&(s[k]!='+'&&s[k]!='-'&&s[k]!='i')){cout<<"输入错误"<<endl;return is;}}for(k=0;k<len;) //检查输入字符串{if(n!=0 &&(s[k]=='-'||s[k]=='+')) //字符是否是符号{com.Real=sign*n;n=0; //将原n*sign值赋给实部,将n清零,准备接受虚部的值}if(s[k]=='-') //字符为负号{sign=-1;k++;}if(s[k]=='+') //字符为正号{sign=1;k++;}if(s[k]=='i') //字符为'i'{if(k!=len-1) //判断字符'i'是否为最后一个字符cout<<"error\n";elsecom.Image=sign*n; //复数对象接受完成,用sign*n为虚部赋值break;}while(s[k]>='0'&&s[k]<='9') //字符在0~9之间,则将字符转换成数值{n=n*10+s[k]-'0';k++;}}if(s[len-1]!='i'&&n!=0) //如果最后一个字符不是'i',则没有虚部{com.Real=n*sign;}return is;}ostream & operator<<(ostream &os,Calculator &com) //重载输出{if(fabs(com.Image)<EPS) //如果虚部为0os<<com.Real; //只输出实部else if((fabs(com.Real)<EPS)) //如果实部为0os<<com.Image<<"i"; //只输出虚部else if(com.Image>0)os<<com.Real<<"+"<<com.Image<<"i";elseos<<com.Real<<com.Image<<"i"; //虚部为正return os;}void Add() //加法运算函数{Calculator num1,num2,sum,zero(0,0);cout<<"加法计算\n"<<"最少输入两个复数,并且以0结束\n";cout<<"第1个复数:";cin>>num1;cout<<"第2个复数:";cin>>num2;sum=num1+num2;cout<<"第3个复数:";cin>>num1;int i=4;while(!(num1==zero)){sum=sum+num1;cout<<"第"<<i<<"个复数:";cin>>num1;i++;}cout<<"加法结果是:"<<sum<<endl;cout<<"请按回车键继续\n";cout.flush();cin.get();cin.get();}void Sub() //减法运算函数{Calculator num1,num2,sub,zero(0,0);cout<<"最少输入两个复数,并且以0结束\n";cout<<"第1个复数:";cout<<"第2个复数:";cin>>num2;sub=num1-num2;cout<<"第3个复数:";cin>>num1;int i=4;while(!(num1==zero)){sub=sub-num1;cout<<"第"<<i<<"个复数:";cin>>num1;i++;}cout<<"减法结果是:"<<sub<<endl;cout<<"请按回车键继续\n";cout.flush();cin.get();cin.get();}void Mul() //乘法运算函数{Calculator num1,num2,mul,zero(0,0);cout<<"乘法计算\n"<<"最少输入两个复数,并且以零结束\n";cout<<"第1个复数:";cin>>num1;cout<<"第2个复数:";cin>>num2;mul=num1*num2;cout<<"第3个复数:";cin>>num1;int i=4;while(!(num1==zero)){mul*=num1;cout<<"第"<<i<<"个复数:";cin>>num1;i++;}cout<<"乘法结果是:"<<mul<<endl;cout<<"请按回车键继续\n";cout.flush();cin.get();}}using namespace NameCalculator;int main() //主函数{char Choise[20];do{system("cls"); //清屏cout<<"1:复数加法\n";cout<<"2:复数减法\n";cout<<"3:复数乘法\n";cout<<"0:退出程序\n\n";cout<<"请选择:";cin>>Choise;if(strcmp(Choise,"1")==0)Add();else if(strcmp(Choise,"2")==0)Sub();else if(strcmp(Choise,"3")==0)Mul();else if(strcmp(Choise,"0")==0){break;}else{cout<<"\n输入错误,按回车键继续\n";cin.get();cin.get();}}while((strcmp(Choise,"0")));return 0;}测试结果实验总结本实验的难点在于:如何让程序识别输入的“复数字符串”。
c简单计算器课程设计报告
c 简单计算器 课程设计报告一、课程目标知识目标:1. 让学生掌握简单计算器的基本功能,包括加、减、乘、除等四则运算。
2. 使学生理解计算器操作规则,如先算乘除后算加减、括号的作用等。
3. 帮助学生掌握计算器上的其他功能键,如清除、取反、百分比等。
技能目标:1. 培养学生运用计算器进行四则运算的能力,提高计算速度和准确性。
2. 培养学生运用计算器解决实际问题的能力,如购物找零、计算面积等。
3. 培养学生通过观察、思考、提问等方式,发现计算器使用过程中的问题,并尝试解决。
情感态度价值观目标:1. 培养学生对待计算器等电子设备的正确态度,爱护设备,遵守使用规范。
2. 培养学生在合作学习中互相帮助、共同进步的精神,增强团队意识。
3. 通过计算器教学,激发学生对数学学科的兴趣,提高学生的自信心和自主学习能力。
本课程针对年级学生的特点,注重培养学生的学习兴趣和实践能力。
课程性质为实践操作类,强调学生在动手实践中掌握知识。
在教学过程中,教师需关注学生的学习需求,及时调整教学策略,确保学生能够达到课程目标。
课程目标分解为具体学习成果,以便于后续教学设计和评估。
在教学结束后,学生应能独立使用计算器完成四则运算,解决实际问题,并在学习过程中培养良好的情感态度和价值观。
二、教学内容1. 计算器基本结构认知:让学生了解计算器各部分名称及其功能,如数字键、运算符号键、等于键、清除键等。
2. 四则运算操作方法:教学加、减、乘、除四则运算的计算器操作方法,以及运算顺序和括号的使用。
- 加法和减法运算- 乘法和除法运算- 混合运算及括号应用3. 计算器其他功能键使用:介绍取反、百分比、开方等特殊功能键的操作方法。
4. 实践应用:设计实际应用场景,让学生运用计算器解决购物找零、计算面积、计算速度等问题。
- 购物找零问题- 长度、面积、体积计算- 速度、时间、路程计算教学内容参考教材相关章节,结合课程目标进行整合。
教学大纲安排如下:第一课时:计算器基本结构认知、四则运算操作方法(加法和减法运算)第二课时:四则运算操作方法(乘法和除法运算)第三课时:四则运算操作方法(混合运算及括号应用)第四课时:计算器其他功能键使用第五课时:实践应用(购物找零问题)第六课时:实践应用(长度、面积、体积计算)第七课时:实践应用(速度、时间、路程计算)教学内容注重科学性和系统性,确保学生能够循序渐进地掌握计算器的使用方法,并在实际应用中巩固所学知识。
c课程设计复数类
c 课程设计复数类一、教学目标本章节的教学目标是使学生掌握复数的基本概念、运算规则及其在实际问题中的应用。
具体包括:1.知识目标:学生能够准确地描述复数的概念,了解复数的四种表示方法,掌握复数的四则运算规则,并能够运用复数解决实际问题。
2.技能目标:学生能够熟练地进行复数的加、减、乘、除运算,能够将实际问题转化为复数问题,并能够运用复数进行问题的求解。
3.情感态度价值观目标:学生能够认识到复数在数学和科学研究中的重要性,培养对复数学习的兴趣和热情。
二、教学内容本章节的教学内容主要包括复数的基本概念、复数的表示方法、复数的四则运算及其在实际问题中的应用。
具体包括:1.复数的基本概念:实数、虚数、复数的概念及其关系。
2.复数的表示方法:代数表示法、几何表示法、极坐标表示法、指数表示法。
3.复数的四则运算:加法、减法、乘法、除法的运算规则及其应用。
4.复数在实际问题中的应用:复数在电路分析、信号处理、流体力学等领域的应用。
三、教学方法为了实现本章节的教学目标,将采用以下教学方法:1.讲授法:通过讲解复数的基本概念、运算规则及其应用,使学生掌握复数的基本知识。
2.案例分析法:通过分析实际问题,引导学生将复数知识应用于解决问题,提高学生的实际应用能力。
3.实验法:通过进行复数的运算实验,使学生熟练掌握复数的运算方法。
4.小组讨论法:通过小组讨论,激发学生的思考,培养学生的合作能力。
四、教学资源为了支持本章节的教学内容和教学方法的实施,将准备以下教学资源:1.教材:选用《高等数学》、《复数与泛函分析》等教材,作为学生学习的基本参考资料。
2.参考书:推荐《复数与复分析》、《复数及其应用》等参考书,供学生深入研究。
3.多媒体资料:制作PPT、微视频等多媒体资料,生动形象地展示复数的概念和运算过程。
4.实验设备:准备计算器、电脑等实验设备,用于进行复数的运算实验。
五、教学评估本章节的评估方式将包括平时表现、作业和考试三个部分,以全面客观地评价学生的学习成果。
c课程设计复数
c 课程设计复数一、教学目标本章的教学目标是使学生掌握复数的基本概念、运算规则及其在实际问题中的应用。
具体包括:1.知识目标:学生能够准确理解复数的概念,掌握复数的四则运算规则,了解复数在数学分析、电路分析等领域的应用。
2.技能目标:学生能够熟练进行复数的四则运算,解决与复数相关的实际问题,如复数在信号处理、流体力学等领域的应用。
3.情感态度价值观目标:学生能够认识到复数是数学中的重要分支,对科学研究和实际应用具有重要意义,激发学生对复数学习的兴趣和好奇心。
二、教学内容本章的教学内容主要包括复数的基本概念、四则运算规则及其在实际问题中的应用。
具体安排如下:1.复数的基本概念:介绍复数的概念,解释实数和虚数的概念,阐述复数的表示方法。
2.复数的四则运算:讲解复数的加法、减法、乘法和除法运算规则,举例说明运算过程。
3.复数在实际问题中的应用:通过具体案例,展示复数在数学分析、电路分析等领域的应用,让学生体会复数在解决实际问题中的重要性。
三、教学方法为了提高学生的学习兴趣和主动性,本章将采用以下教学方法:1.讲授法:教师通过讲解复数的基本概念、运算规则及应用案例,使学生掌握相关知识。
2.讨论法:教师学生分组讨论,让学生共同探讨复数运算的规律,提高学生的合作能力。
3.案例分析法:教师选取实际问题,引导学生运用复数知识进行分析,培养学生的应用能力。
4.实验法:教师学生进行复数实验,让学生通过实践操作,加深对复数运算规则的理解。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,本章将采用以下教学资源:1.教材:选用权威、实用的教材,为学生提供系统的复数知识体系。
2.参考书:推荐学生阅读相关参考书,拓展学生的知识视野。
3.多媒体资料:利用多媒体课件、视频等资料,生动展示复数的概念和运算过程。
4.实验设备:为学生提供复数实验所需的设备,如计算器、电路仿真软件等。
五、教学评估本章的教学评估将采用多元化的评估方式,以全面、客观地评价学生的学习成果。
复数计算器课程设计
复数计算器课程设计-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN目录1 题目内容及设计要求 .......................... 错误!未定义书签。
2 总体设计.............................................. 错误!未定义书签。
总体功能框图.................................. 错误!未定义书签。
类的设计说明 ................................. 错误!未定义书签。
主要算法流程图 ............................. 错误!未定义书签。
3 程序清单及注释................................. 错误!未定义书签。
4 运行结果与分析................................. 错误!未定义书签。
5 总结 .................................................... 错误!未定义书签。
6 参考文献 ............................................ 错误!未定义书签。
1 题目内容及设计要求题目17 复数计算器内容及要求:(1)所设计的复数计算器可以进行+ - * += -= *= ++ -- >= <= == !=运算符,其中>= <=是针对复数的模进行运算。
(2)设计输入重载函数,要求能接收从键盘输入a+bi形式的复数,在程序中可以识别出实部虚部并正确赋值。
(3) 设计计算器测试程序,对加减法进行测试,要求在两位数以内进行,对乘法进行测试,乘法要求为一位数的运算。
(4) 设计记录功能,可以记录下不同用户使用计算器的情况,记录以文件的形式保存在计算机内,开机时要求用户输入用户名,显示该名户以前的记录。
课程设计复数类的设计课程设计
课程设计复数类的设计课程设计内蒙古科技大学本科生课程设计论文题目:C++课程设计——复数类的设计姓名:汤晓峰学号:1167119202专业:通信工程班级:通信11-2班指导教师:刘立新老师目录目录 (1)前言 (2)第一章C++简介 (3)第二章需求分析 (4)第三章设计分析 (7)2.1 功能模块 (8)2.2 流程图 (8)第四章运行及测试结果 (10)第五章课程设计总结 (14)附录(程序源代码) (15)参考文献 (40)前言随着科技的发展和人们生活水平的日益提高,人们在不断追求更加快捷的交通方式以满足人们快节奏的生活方式,航空系统在交通系统中已扮演着一个越来越重要的角色,那么航空售票系统还能像以前一样人工管理吗?我们可以想象那将是一项多么烦重的任务,因此人们会寻求一种更加便捷、高效的方法,这时我们的计算机就会显的格外重要了!当然也离不开计算机语言的编写。
随着计算机技术的飞速发展和普及,人们的生活方式也发生了巨大的改变,计算机在代替和延伸我们的脑力劳动方面发挥着越来越重要的作用。
在交通系统中,有大量的数据需要被处理,而这些工作如果由人来完成几乎是不可能的,但交给计算机处理,就可以既快捷,又高效的完成我们所期待的任务了。
航空售票管理系统可以根据乘客和管理人员的要求,进行方便快捷的信息保存、查询、以及购票、退票和管理等工作。
本文主要介绍了简易航空售票管理系统用C++程序设计语言进行编写和实现的过程。
第一章C++简介C++是一种使用非常广泛的电脑程序设计语言。
它是一种静态数据类型检查的,支持多范型的通用程序设计语言。
C++支持过程化程序设计、数据抽象化、面向对象程序设计、范型程序设计、基于原则设计等多种程序设计风格。
C++语言发展大概可以分为三个阶段:第一阶段从80年代到1995年。
这一阶段C++语言基本上是传统类型上的面向对象语言,并且凭借着接近C语言的效率,在工业界使用的开发语言中占据了相当大份额;第二阶段从1995年到2000年,这一阶段由于标准模板库(STL)和后来的Boost等程序库的出现,泛型程序设计在C++中占据了越来越多的比重性。
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.作业:布置适量的课后作业,检查学生对课堂所学知识的掌握程度。
3《C#计算器程序设计》课程设计报告
case 3: textBox1.Text = (num1 * num2).ToString(); break;
case 4: if (num2 == 0)
{ MessageBox.Show("分母不能为“0”"); break; }
else {textBox1.Text = (num1 / num2).ToString(); break; } }} ysf = 1; //(运算符) num1 = Convert.ToDouble(textBox1.Text);//把第一个数与第二 个数求和在保存到第一个数 button17.Focus(); //(聚焦到等号按钮)}
2. 界面设计........................................................................................................................................... 1 3. 功能实现........................................................................................................................................... 3
1.2 计算器软件的功能图
根据以上需求分析,计算器软件功能如图 1-1 所示。
计算器主界面
显
进
键
清
退
连
示
行
盘
零
格
续
计
四
操
运
键
计
算
则
控
算
功
复数计算器课程设计
复数计算器课程设计一、课程目标知识目标:1. 理解复数的定义,掌握复数的表示方法及其运算规则;2. 学会使用复数计算器进行加减乘除等基本运算;3. 能够将复数运算应用于解决实际问题,如电路分析、流体力学等领域。
技能目标:1. 熟练操作复数计算器,提高计算速度和准确性;2. 能够运用复数知识解决实际问题,培养解决问题的能力;3. 通过小组合作,提高沟通协作能力。
情感态度价值观目标:1. 培养学生对复数知识的兴趣,激发学习热情;2. 培养学生的耐心和细致,提高面对复杂问题的勇气和信心;3. 培养学生的团队意识,增强合作精神。
课程性质:本课程为数学学科的一节实践应用课,旨在帮助学生掌握复数计算器的使用,将理论知识应用于实际问题。
学生特点:学生处于初中阶段,具有一定的数学基础,好奇心强,喜欢探索新知识,但可能对复数概念的理解尚不深入。
教学要求:结合学生特点,注重启发式教学,引导学生自主探究,培养实际应用能力。
在教学过程中,关注学生的个体差异,因材施教,确保每位学生都能达到课程目标。
通过课程学习,使学生能够将复数知识应用于实际问题,提高数学素养。
二、教学内容1. 复数基础知识回顾:复数的定义、实部和虚部、复数的表示方法(代数表示、极坐标表示)。
教材章节:第三章 复数概念与表示方法2. 复数计算器操作方法:介绍复数计算器的基本功能,如复数输入、存储、提取以及加减乘除等运算操作。
教材章节:第四章 复数的计算与计算器应用3. 复数运算规则:总结复数加减乘除运算的法则,以及复数乘方和开方的计算方法。
教材章节:第四章 复数的计算与计算器应用4. 实际问题中的应用:结合教材案例,引导学生将复数知识应用于解决实际问题,如交流电路中的复数阻抗计算。
教材章节:第五章 复数在实际问题中的应用5. 小组合作与讨论:组织学生进行小组合作,探讨复数计算器在生活中的应用,分享学习心得。
教材章节:第六章 复数知识在实际生活中的应用教学进度安排:第一课时:复数基础知识回顾,复数计算器操作方法介绍第二课时:复数运算规则,实际应用案例学习第三课时:小组合作与讨论,总结课程知识,拓展复数在实际生活中的应用三、教学方法1. 讲授法:在复数基础知识回顾环节,采用讲授法对复数的定义、表示方法等基本概念进行梳理和讲解,为学生提供清晰的理论框架。
复数计算器课程设计报告书
目录1 题目容及设计要求 (1)2 总体设计 (1)2.1 总体功能框图............. 错误!未定义书签。
2.2 类的设计说明 (1)2.3 主要算法流程图 (2)3 程序清单及注释 (4)4 运行结果与分析 (21)5 总结 (25)6 参考文献 (25)1 题目容及设计要求题目17 复数计算器容及要求:(1)所设计的复数计算器可以进行+ - * += -= *= ++ -- >= <= == !=运算符,其中>= <=是针对复数的模进行运算。
(2)设计输入重载函数,要求能接收从键盘输入a+bi形式的复数,在程序中可以识别出实部虚部并正确赋值。
(3) 设计计算器测试程序,对加减法进行测试,要求在两位数以进行,对乘法进行测试,乘法要求为一位数的运算。
(4) 设计记录功能,可以记录下不同用户使用计算器的情况,记录以文件的形式保存在计算机,开机时要求用户输入用户名,显示该名户以前的记录。
用户记录用包括:做了多少次加减法、乘法、进行测试的次数,后3次的测试平均分等,在退出计算器程序时用心的用户记录代替原有的记录。
2总体设计2.1 总体功能框图根据题中任务的功能,首先要搞清复数的运算法则,并使用c++语言表达。
复数包含实部与虚部,如何将这两部分表达出来也使关键定义一个复数类complex。
声明所需成员函数和友元函数对各运算符进行重载。
定义各成员函数。
定义主函数,实现对整个程序的控制。
编译、运行并调试2.2类的设计说明class CComplex //定义命名空间NameCComplex{private:double Real,Image;public:CComplex(double real=0,double image =0) //构造函数{Real=real;Image=image;}friend istream & operator>>(istream &is,CComplex & ); //重载输入friend ostream & operator<<(ostream &os,CComplex &); //重载输出CComplex operator+(CComplex &); //加法重载CComplex operator-(CComplex &); //减法重载CComplex operator*(CComplex &); //乘法重载CComplex operator+=(CComplex &); //加法赋值重载CComplex operator-=(CComplex &); //减法赋值重载CComplex operator*=(CComplex &); //乘法赋值重载CComplex operator++(); //自加CComplex operator--(); //自减double mod (void); //求复数的模int operator>(CComplex &);int operator<(CComplex &);int operator!=(CComplex &);int operator==(CComplex &);};2.3主要算法流程图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中南大学高级程序设计实践(C++)课程设计报告题目复数计算器学生姓名曾立弘指导教师陈丽萍学院信息科学与工程学院专业班级电子信息工程 1401 班完成时间2015年6月8日星期一目录第一章需求分析 (1)第二章概要设计 (2)第三章详细设计 (4)第四章调试分析 (21)第五章测试结果 (25)第六章课程设计总结 (36)第七章参考文献 (37)第八章附录 (37)第一章需求分析1.1程序设计的任务1.1.1编程目的1.本次程序设计的目的运用面向对象程序设计知识,利用C++语言设计和实现一个复数计算器,要求具备如下主要功能:(1)建立实数类、复数类(2)实现实数、复数信息的初始化(3)实现实数的加、减、乘、除、自增、自减、求平方、二次方根等操作(4)实现复数的加、减、乘、除、取模、求平方、求共轭复数、求单个复数的向量角、求两个复数的夹角等运算(5)实现实数、复数信息的输出1.1.2编程要求在实现过程中,需利用面向对象程序设计理论的基础知识,充分体现出C++语言关于类、继承、封装与多态等核心概念,每一个类应包含数据成员和成员函数。
1.1.3数据范围数据输入的形式为float型,输出形式亦是float型,数据(实数、复数的实部、虚部)范围是-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38。
1.2本程序能实现的功能1.2.1实数类(Complex)所实现的功能:实数的加法运算、减法运算、乘法运算、除法运算、前置自增运算、后置自增运算、前置自减运算、后置自减运算、求平方运算、求平方根运算;1.2.2复数类(Complex1)所实现的功能:复数的加法运算、减法运算、乘法运算、除法运算、模长运算、求平方运算、共轭复数运算、求单个复数的向量角运算、求两个复数的夹角运算。
1.2.3主函数所能实现的功能1.提供给操作者操作数据的类型(实数还是复数)的标识;2.操作者选择数据类型后,提供运算类型操作的标识;3.运用指针调用两个类的各成员函数分别完成各项计;第二章概要设计2.1构成部分2.1.1系统由三部分构成:实数类(Complex)、复数类(Complex1)、主函数main。
2.1.2.构成部分关系复数类(Complex1)由实数类(Complex)派生而来,其中两者成员函数中的enter (输入数据)函数是虚函数,用以实现多态性。
主函数main通过指针调用实数类(Complex)、复数类(Complex1)分别完成实数运算、复数运算。
2.1.3.类层次实数类是父类,复数类是子类。
2.2主程序流程以及程序模块之间的调用关系如图2.2—1所示:图2.2--1主程序流程以及程序模块之间的调用关系图注:图2.2--1中没有画出1.flag=0时退出系统;2.flag不等于0,1,2时出现错误提示语句的选择结构;3.w,v在选择范围之外时出现错误提示语句的选择结构。
4.特殊处理:除法运算分母为0;求二次方根数为负数;求单个复数夹角时判断象限的过程。
第三章详细设计3.1类层次中各个类的描述3.1.1.实数类(Complex)私有部分仅数据:float型数据real;公共部分包括12个成员函数,分别是:类的构造函数:Complex()实数加法运算函数:Complex operator+(Complex &c1)实数减法运算函数:Complex operator-(Complex &c1)实数乘法运算函数:Complex operator*(Complex &c1)实数除法运算函数:Complex operator/(Complex &c1)实数前置自增函数:Complex operator++()实数后置自增函数:Complex operator++(int)实数前置自减函数:Complex operator--()实数后置自减函数:Complex operator--(int)实数求平方根函数:float RootOfTwo()实数求平方函数:float Square()实数输入数据函数:virtual void enter()3.1.2.复数类(Complex1)私有部分仅数据成员float型数据real和float型数据imag,二者分别代表复数的实部和虚部;公共部分包含11个成员函数,分别是:类的构造函数:Complex1()复数加法运算函数:Complex1 operator+(Complex1 &c1)复数减法运算函数:Complex1 operator-(Complex1 &c1)复数乘法运算函数:Complex1 operator*(Complex1 &c1)复数除法运算函数:Complex1 operator/(Complex1 &c1)复数求模长函数:float Length()复数求平方函数:Complex1 Square1()求共轭复数函数:Complex1 Conjugate()复数求角度函数:float Angle1()复数间求角度函数:float Angle2(Complex1 &c1)复数输入数据函数:void enter()3.2类中各成员函数的定义3.2.1实数类(Complex)1 类的构造函数函数体部分:Complex(){};2实数加法运算函数函数体部分Complex operator+(Complex &c1){Complex c;cout<<"the result is: "<<endl;c.real=real+c1.real;cout<<real<<"+"<<c1.real<<"="<<c.real<<endl;return c;}3实数减法运算函数函数体部分Complex operator-(Complex &c1){Complex c;cout<<"the result is: "<<endl;c.real=real-c1.real;cout<<real<<"-"<<c1.real<<"="<<c.real<<endl;return c;}4实数乘法运算函数函数体部分Complex operator*(Complex &c1){Complex c;c.real=real*c1.real;cout<<"the result is: "<<endl;cout<<real<<"*"<<c1.real<<"="<<c.real<<endl;return c;}5实数除法运算函数函数体部分Complex operator/(Complex &c1){Complex c;cout<<"the result is: "<<endl;c.real=real/c1.real;cout<<real<<"/"<<c1.real<<"="<<c.real<<endl;return c;}6实数前置自增函数函数体部分Complex operator++(){cout<<"the result is: "<<endl;cout<<"++"<<real;++real;cout<<"="<<real<<endl;return *this;}7实数后置自增函数函数体部分Complex operator++(int){Complex temp(*this);cout<<"the result is: "<<endl;cout<<real<<"++";real++;cout<<"="<<real-1<<endl;cout<<real<<endl;return temp;}8实数前置自减函数函数体部分Complex operator--(){cout<<"the result is: "<<endl;cout<<"--"<<real;--real;cout<<"="<<real<<endl;return *this;}9实数后置自减函数函数体部分Complex operator--(int){Complex temp(*this);cout<<"the result is: "<<endl;cout<<real<<"--";real--;cout<<"="<<real+1<<endl;cout<<real<<endl;return temp;}10实数求平方根函数函数体部分float RootOfTwo(){Complex c;if(real<0){cout<<"the number is wrong!!!"<<endl;}else{cout<<"the result is: "<<endl;c.real=sqrt(real);cout<<"sqrt"<<real<<"="<<c.real<<endl;}return c.real;}11实数求平方函数函数体部分float Square(){Complex c;cout<<"the result is: "<<endl;c.real=real*real;cout<<"square"<<real<<"="<<c.real<<endl;return c.real;}12实数输入数据函数(虚函数)函数体部分virtual void enter(){cin>>real;}3.2.2复数类(Complex1)1.类的构造函数函数体部分Complex1(){};2. 复数加法运算函数函数体部分Complex1 operator+(Complex1 &c1){Complex1 c;cout<<"the result is: "<<endl;c.real=real+c1.real;c.imag=imag+c1.imag;cout<<"("<<real<<"+"<<imag<<"j"<<")"<<"+"<<"("<<c1.real<<"+"<<c1.imag<<"j"<<")"<<"="<<"("<<c.real<<"+"<<c.imag<<"j"<<")"<<endl;return c;}3复数减法运算函数函数体部分Complex1 operator-(Complex1 &c1){Complex1 c;cout<<"the result is: "<<endl;c.real=real-c1.real;c.imag=imag-c1.imag;cout<<"("<<real<<"+"<<imag<<"j"<<")"<<"-"<<"("<<c1.real<<"+"<<c1.imag<<"j"<<")"<<"="<<"("<<c.real<<"+"<<c.imag<<"j"<<")"<<endl;return c;}4复数乘法运算函数函数体部分Complex1 operator*(Complex1 &c1){Complex1 c;cout<<"the result is: "<<endl;c.real=real*c1.real-imag*c1.imag;c.imag=real*c1.imag+imag*c1.real;cout<<"("<<real<<"+"<<imag<<"j"<<")"<<"*"<<"("<<c1.real<<"+"<<c1.imag<<"j"<<")"<<"="<<"("<<c.real<<"+"<<c.imag<<"j"<<")"<<endl;return c;}5.复数除法运算函数函数体部分Complex1 operator/(Complex1 &c1){Complex1 c;cout<<"the result is: "<<endl;c.real=(real*c1.real+imag*c1.imag)/(c1.real*c1.real+c1.imag*c1.imag);c.imag=(imag*c1.real-real*c1.imag)/(c1.real*c1.real+c1.imag*c1.imag);cout<<"("<<real<<"+"<<imag<<"j"<<")"<<"/"<<"("<<c1.real<<"+"<<c1.imag<<"j"<<")"<<"="<<"("<<c.real<<"+"<<c.imag<<"j"<<")"<<endl;return c;}6.复数求模长函数函数体部分float Length(){float x;cout<<"the result is: "<<endl;x=sqrt(real*real+imag*imag);cout<<"|"<<real<<"+"<<imag<<"j"<<"|"<<"="<<x<<endl;return x;}7.复数求平方函数函数体部分Complex1 Square1(){Complex1 c;cout<<"the result is: "<<endl;c.real=real*real-imag*imag;c.imag=real*imag+imag*real;cout<<" the square of "<<"("<<real<<"+"<<imag<<"j"<<")"<<" is "<<"("<<c.real<<"+"<<c.imag<<"j"<<")"<<endl;return c;}8.求共轭复数函数函数体部分Complex1 Conjugate(){Complex1 c;cout<<"the result is: "<<endl;c.real=real;c.imag=imag*(-1);if(c.imag>=0){cout<<"conjugate complex number of"<<"("<<real<<"+"<<imag<<"j"<<")"<<" is "<<"("<<c.real<<"+"<<c.imag<<"j"<<")"<<endl;}if(c.imag<0){cout<<"conjugate complex number of"<<"("<<real<<"+"<<imag<<"j"<<")"<<" is "<<"("<<c.real<<c.imag<<"j"<<")"<<endl;}return c;}8.复数求角度函数函数体部分float Angle1(){float y;cout<<"the result is: "<<endl;y=atan((imag)/(real))/i*180;if(real==0&&imag!=0){cout<<"the angle of"<<"("<<real<<"+"<<imag<<"j"<<")"<<" is "<<90<<endl;}if(real>0){cout<<"the angle of"<<"("<<real<<"+"<<imag<<"j"<<")"<<" is "<<y<<endl;}if(real<0&&imag>0){cout<<"the angle of"<<"("<<real<<"+"<<imag<<"j"<<")"<<" is "<<y+180<<endl;}if(real<0&&imag<0){cout<<"the angle of"<<"("<<real<<"+"<<imag<<"j"<<")"<<" is "<<y-180<<endl;}return y;}9.复数间求角度函数函数体部分float Angle2(Complex1 &c1){float z,r,s,t;cout<<"the result is: "<<endl;r=(real*c1.real+imag*c1.imag);s=sqrt(real*real+imag*imag);t=sqrt(c1.real*c1.real+c1.imag*c1.imag);z=acos(r/(s*t))/i*180;cout<<"the angle between"<<" ("<<real<<"+"<<imag<<"j"<<") "<<"and"<<" ("<<c1.real<<"+"<<c1.imag<<"j"<<") "<<" is "<<z<<endl;return z;}10.复数输入数据函数(虚函数)函数体部分void enter(){cin>>real;cin>>imag;cout<<endl;}3. 3主程序和重要模块的算法3.3.1主程序和重要模块具体代码如下:int main() //主函数{int flag,w,v;Complex grad1,grad2;Complex *pt1,*pt2;Complex1 *pm1,*pm2;Complex1 revd1,revd2;cout<<"姓名:曾立弘"<<endl;cout<<"专业:电气信息工程"<<endl;cout<<"班级:1401班"<<endl;cout<<"学号:0903140114"<<endl;while(flag!=0) //while循环,flag=0时终止循环{pt1=&grad1;pt2=&grad2;cout<<"Please choose the type of the numbers:"<<endl;cout<<"'0'---------------------------------exit system"<<endl;cout<<"'1'---------------------------------real number"<<endl;cout<<"'2'-------------------------------plural number"<<endl;cin>>flag;if(flag==1) //条件语句:如果flag=1,则进行实数运算{cout<<"please choose the operation of the numbers:"<<endl; cout<<"'3'---------------------------------'+'"<<endl;cout<<"'4'---------------------------------'-'"<<endl;cout<<"'5'---------------------------------'*'"<<endl;cout<<"'6'---------------------------------'/'"<<endl;cout<<"'7'---------------------------------'++'"<<endl;cout<<"'8'---------------------------------'--'"<<endl;cout<<"'9'---------------------------------'++(int)'"<<endl;cout<<"'10'--------------------------------'--(int)'"<<endl;cout<<"'11'--------------------------------'root of two'"<<endl; cout<<"'12'--------------------------------'square'"<<endl; cin>>w;if(w==3){cout<<"please enter first number: ";pt1->enter();cout<<endl;cout<<"please enter second number: ";pt2->enter();cout<<endl;pt1->operator+(grad2);}if(w==4){cout<<"please enter first number: ";pt1->enter();cout<<endl;cout<<"please enter second number: ";pt2->enter();cout<<endl;pt1->operator-(grad2);}if(w==5){cout<<"please enter first number: ";pt1->enter();cout<<endl;cout<<"please enter second number: ";pt2->enter();cout<<endl;pt1->operator*(grad2);}if(w==6){cout<<"please enter first number: ";pt1->enter();cout<<endl;cout<<"please enter second number: ";pt2->enter();cout<<endl;pt1->operator/(grad2);}if(w==7){cout<<"please enter the number: ";pt1->enter();pt1->operator++();}if(w==8){cout<<"please enter the number: ";pt1->enter();pt1->operator--();}if(w==9){cout<<"please enter the number: ";pt1->enter();grad1++;}if(w==10){cout<<"please enter the number: ";pt1->enter();grad1--;}if(w==11){cout<<"please enter the number: ";pt1->enter();pt1->RootOfTwo();}if(w==12){cout<<"please enter the number: ";pt1->enter();pt1->Square();}if(w!=3&&w!=4&&w!=5&&w!=6&&w!=7&&w!=8&&w!=9&&w!=10&&w!=11& &w!=12){cout<<"please choose correct option!"<<endl;} //出错提示}pt1=&revd1;pt2=&revd2;pm1=&revd1;pm2=&revd2;if(flag==2) //条件语句:如果flag=1,则进行实数运算{cout<<"please choose the operation of the numbers:"<<endl;cout<<"'3'---------------------------------'+'"<<endl;cout<<"'4'---------------------------------'-'"<<endl;cout<<"'5'---------------------------------'*'"<<endl;cout<<"'6'---------------------------------'/'"<<endl;cout<<"'7'---------------------------------'Length'"<<endl; cout<<"'8'---------------------------------'Square1'"<<endl; cout<<"'9'---------------------------------'Conjugate'"<<endl; cout<<"'10'--------------------------------'Angle1'"<<endl; cout<<"'11'--------------------------------'Angle2'"<<endl; cin>>v;if(v==3){cout<<"please enter first number: ";pt1->enter();cout<<endl;cout<<"please enter second number: ";pt2->enter();cout<<endl;pm1->operator+(revd2);}if(v==4){cout<<"please enter first number: ";pt1->enter();cout<<endl;cout<<"please enter second number: ";pt2->enter();cout<<endl;pm1->operator-(revd2);}if(v==5){cout<<"please enter first number: ";pt1->enter();cout<<endl;cout<<"please enter second number: ";pt2->enter();cout<<endl;pm1->operator*(revd2);}if(v==6){cout<<"please enter first number: ";pt1->enter();cout<<endl;cout<<"please enter second number: ";pt2->enter();cout<<endl;pm1->operator/(revd2);}if(v==7){cout<<"please enter the number: ";pt1->enter();cout<<endl;pm1->Conjugate();}if(v==8){cout<<"please enter the number: ";pt1->enter();cout<<endl;pm1->Square1();}if(v==9){cout<<"please enter the number: ";pt1->enter();cout<<endl;pm1->Conjugate();}if(v==10){cout<<"please enter the number: ";pt1->enter();cout<<endl;pm1->Angle1();}if(v==11){cout<<"please enter first number: ";pt1->enter();cout<<endl;cout<<"please enter second number: ";pt2->enter();cout<<endl;pm1->Angle2(revd2);}if(v!=3&&v!=4&&v!=5&&v!=6&&v!=7&&v!=8&&v!=9&&v!=10&&v!=11) {cout<<"please choose correct option!"<<endl;} //出错提示}if(flag!=1&&flag!=2&&flag!=0){cout<<"please choose correct option!"<<endl;} //出错提示if(flag!=0){cout<<"\n";cout<<"Please carry out the next operation:"<<endl;//继续运算提示cout<<"\n";}}cout<<"Welcome next time!"<<endl;return 0;}3.4函数调用关系图3.4.1函数调用关系图如图3.4—1所示第四章调试分析4.1调试过程遇到的问题及解决方法的得出过程4.1.1问题及分析过程1. 对输出结果的界面没有太注意,导致输出结果不是很美观;2. 对字母的拼写错误,导致前面定义的变量到后面编译器不认识;对固有写法的拼写错误,如将运算符重载函数写为operetor,导致运算符重载不成功。