optimizeForBrowser/>
Voidcdrawview:
:
onellipse()
{
m_Line=false;
m_Rectangle=false;
m_Ellipse=true;
三,计算器
我还还做了一个简单的计算器。
就是简单的一个加法计算器。
问题是用面向对象程序设计方法设计一个简单的计算器程序,该程序能完成简单的整数的加减乘除运算。
我主要是用C++里面的循环结构,各种运算符,函数,控制语句,数据类型以及VB里面的基础知识,来编出一个简单的加法计算器。
运行结果还不错。
程序代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceshangjiyi
{
///
///此示例演示计算机两个数的加减乘除取余
///
classProgram
{
staticvoidMain(string[]args)
{
intfirst;//第一个操作数
intsecond;//第二个操作数
stringmyOprator;//运算符
intresult;//计算结果
//输入参与计算操作数和运算符
Console.WriteLine("我是第一个简单的计算器,可以实现两个整数的加减乘除取余");
Console.Write("请输入第一个操作数:
");
first=int.Parse(Console.ReadLine());
Console.Write("请输入第二个操作数");
second=int.Parse(Console.ReadLine());
Console.Write("请输入运算符(+-*%):
");
myOprator=Console.ReadLine();
//计算,并输出运算符
if(myOprator=="+")//加法
{
result=first+second;
Console.WriteLine("加上等于",first,second,result);
}
elseif(myOprator=="-")//减法
{
result=first-second;
Console.WriteLine("减去等于",first,second,result);
}
elseif(myOprator=="*")//乘法
{
result=first*second;
Console.WriteLine("乘以等于",first,second,result);
}
elseif(myOprator=="%")//取余
{
result=first%second;
Console.WriteLine("除以等于",first,second,result);
}
else
{
Console.WriteLine("对不起,我不认识你的运算符!
");
}
Console.ReadLine();
}
}
}
利用C++系统中的各种运算符,输入需要运算的数字,会有提示:
请输入第一个操作数,请输入第二个操作数。
然后选择四则混合运算中的加减乘除。
如果输入的运算符不在+-*%这四个运算符中,那么系统会提示"对不起,我不认识你的运算符!
"
这是面向对象里面的加法计算器,在NUMBER1,NUMBER2,NUMBER3中输入想要计算的数字,点击ADD,就可以计算出它们的和。
上面两个图是加法运算器的截图,程序也好理解。
四:
对话框
MFC有对话框模版,直接用鼠标单击就可以创建一个对话框,在。
NET中,没有专门的对话框模版,可以把窗体的属性设置为”FixedDialog”来把窗口设置为对话框,窗体与对话框有相同之处,对话框就是特殊的窗体。
程序代码:
#using
#using
#using
UsingnamespaceSystem:
:
ComponentModel:
UsingnamespaceSystem:
:
Windows:
:
Forms;
UsingnamespaceSystem:
:
Drawing
xmlversion="1.0"encoding="UTF-8"standalone="yes"?
>
-footnotesxmlns:
ve="http:
//schemas.openxmlformats.org/markup-compatibility/2006"xmlns:
o="urn:
schemas-microsoft-com:
office:
office"xmlns:
r="http:
//schemas.openxmlformats.org/officeDocument/2006/relationships"xmlns:
v="urn:
schemas-microsoft-com:
vml"xmlns:
wp="http:
//schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"xmlns:
w10="urn:
schemas-microsoft-com:
office:
word"xmlns:
w="http:
//schemas.openxmlformats.org/wordprocessingml/2006/main"xmlns:
wne="
-footnotew:
type="separator"w:
id="-1">
-pw:
rsidR="00F35DB2"w:
rsidRDefault="00F35DB2"w:
rsidP="0095340F">
-r>
separator/>
r>
p>
footnote>
-footnotew:
type="continuationSeparator"w:
id="0">
-pw:
rsidR="00F35DB2"w:
rsidRDefault="00F35DB2"
AcceptButton=ResultBtn;
Application:
:
Run(newCalculatorDlg());
五,向导
向导就是用户在操作中一步一步的选择,就像下载某个软件会有一步步的提示。
便于用户完成。
用户注册时,需要选择自己的基本信息,譬如喜欢那种球类,月工资多少,居住地等等。
这需要编程人员的对用户的了解程度而定。
我这里只做了一个简单的面向对象设计向导,比较粗糙。
主要是根据朱世华老师的上课教学还有孙鑫老师的C++视频学的的,当然结果是非常粗糙的。
程序代码:
#include
#include
#include
#include
using namespace std;
typedef struct tagEmpNode
{
string _ID;
string _name;
double _pay;
tagEmpNode *_next;
tagEmpNode();
tagEmpNode(const tagEmpNode& node);
}EmpNode,*PEmpNode;
typedef PEmpNode EmpList;
class EmpSys
{
private:
EmpList m_head,m_rear;
unsigned int m_size;
public:
EmpSys();
EmpSys(const EmpSys& old);
~EmpSys();
boolReadData(istream& in);
boolInsert(EmpNode& newNode);
boolDelete(PEmpNode delNode);
doubleFindByName(const string& name);
doubleFindByID(const string& id);
PEmpNodeGetByName(const string& name);
PEmpNodeGetByID(const string& id);
boolAccendingByPay();
newSys.PrintList(cout);
system("pause");
break;
case 4:
newSys.DecendingByPay();
newSys.PrintList(cout);
system("pause");
break;
case 5:
cout<<"请选择你的职业:
";
cin>>name;
cout<<"工程师:
"<"<system("pause");
break;
case 6:
cout<<"请选择您的爱好:
";
cin>>ID;
cout<<"ID:
"<<篮球<<"\t网球:
"<system("pause");
break;
case 7:
cout<<"请选择您的薪金水平:
";
cin>>name;
pTemp=newSys.GetByName(name);
cout<<"ID"<_ID<<"\t姓名:
"<_name<<"\t工资:
"<_pay<newSys.Delete(pTemp);
system("pause");
break;
case 8:
break;
case 0:
working=false;
default:
system("pause");
}
}
return 0;
}
这是选择薪金水平的向导。
这是选择注册用户的体育爱好的向导。
一共包括篮球,足球,网球,游泳四大类体育活动
这是用户选择职业的向导,只设置了工程师,老师,经理三个职业。
还有一个框是用来填工作地点的。
也比较粗糙
报告心得:
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,面向对象设计技术显得更加重要,在生网络系统中中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握面向对象设计是十分重要的。
回顾起此次面向对象设计,至今我仍感慨颇多,的确,在做鼠标绘图,菜单,对话框,属性页,向导,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说C++技术比较薄弱。
通过这次课程设计之后,一定把以前所学过的知识重新温故。
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在朱世华老师的辛勤指导下,终于游逆而解。
同时,在朱世华老师的身上我学得到很多实用的知识,在次我表示感谢!
同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!