C语言程序设计设计报告.docx
《C语言程序设计设计报告.docx》由会员分享,可在线阅读,更多相关《C语言程序设计设计报告.docx(9页珍藏版)》请在冰豆网上搜索。
C语言程序设计设计报告
RevisedbyLiuJingonJanuary12,2021
C语言程序设计设计报告
中南大学
本科生课程设计(实践)任务书、设计报告
(C++语言程序设计)
题目
计算器的设计
学生姓名
文杨滔
指导教师
刘雄鹰
学院
机电工程学院
专业班级
车辆一班
学生学号
计算机基础教学实验中心
2016年6月30日
计算器的设计
摘要:
为提高学生所学C++语言程序设计基础综合运用、设计、编程及动手能力,使学生能够在已学的基础上自学地提高扩展自我知识的技能,掌握自我表达、书写组织和总结。
特要求用MicrosoftVisualStudio2010完成CLR窗体应用程序。
自己选择一个计算窗口应用程序。
完成系统需求分析,即功能和数据需求,并进行系统设计即功能模块设计、界面设计以及编程。
系统调试完后编写设计报告。
关键词:
MicrosoftVisualStudio2010CLR窗体应用程序计算窗口
1计算器系统开发设计思想
根据课程设计的要求,我们的目的是用MicrosoftVisualStudio2010完成CLR窗体应用程序,设计出一个计算或绘图类窗口应用程序,要求:
功能:
1)用窗体及控件进行数据的输入和输出
2)输入方便和可靠。
3)结果正确。
界面设计
1)使用方便
2)操作简单
3)美观
通过本课程设计,提高我们所学C++语言程序设计基础综合运用、设计、编程及动手能力,能够在已学的基础上自学地提高扩展自我知识的技能,掌握自我表达、书写组织和总结。
初步培养通过面向对象的思想解决问题的能力,熟悉软件开发过程,增强对相关专业知识的感性认识,掌握基本软件开发技能,提高应用所学知识在实践中发现问题、分析问题和解决问题的能力。
2计算器系统功能及系统设计介绍
使用VisualStudio可以制作出很多软件,今天我使用VisualStudio制止小型计算器,制作成功后可以把自己制作计算器放在桌面上供自己使用;更可以根据自己的需求制作各种各样的计算器。
我今天制作的是简单的计算器,复杂的可以在简单的基础上开发。
我选择的题目是设计一个科学计算器(包括三角函数、指数函数等等基本函数计算)的窗体应用程序。
系统功能模块:
系统设计过程:
a)创建项目:
在MicrosoftVisualStudio2010C#中,建立一个新工程,创建一个新的对话框。
b)计算机界面设计:
1.向Form1中添加一个textbox和21个button按钮;
2.修改button按钮的text属性,如图所示:
c)数字键及小数点代码设计:
privatevoidbutton1_Click(objectsender,EventArgse)
{
textBox1.Text=textBox1.Text+"1";
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
textBox1.Text=textBox1.Text+"2";
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
textBox1.Text=textBox1.Text+"3";
}
privatevoidbutton4_Click(objectsender,EventArgse)
{
textBox1.Text=textBox1.Text+"4";
}
privatevoidbutton5_Click(objectsender,EventArgse)
{
textBox1.Text=textBox1.Text+"5";
}
privatevoidbutton6_Click(objectsender,EventArgse)
{
textBox1.Text=textBox1.Text+"6";
}
privatevoidbutton7_Click(objectsender,EventArgse)
{
textBox1.Text=textBox1.Text+"7";
}
privatevoidbutton8_Click(objectsender,EventArgse)
{
textBox1.Text=textBox1.Text+"8";
}
privatevoidbutton9_Click(objectsender,EventArgse)
{
textBox1.Text=textBox1.Text+"9";
}
privatevoidbutton10_Click(objectsender,EventArgse)
{
textBox1.Text=textBox1.Text+"0";
}
privatevoidbutton11_Click(objectsender,EventArgse)
{
textBox1.Text=textBox1.Text+".";
}
d)加减乘除算法的实现:
“+”将控件名为button12更名为“+”,并输入以下程序:
privatevoidbutton12_Click(objectsender,EventArgse)
{
Buttonbtn=(Button)sender;
textBox1.Text=textBox1.Text+btn.Text;
}
“-”将控件名为button13更名为“-”,并输入以下程序:
privatevoidbutton13_Click(objectsender,EventArgse)
{
Buttonbtn=(Button)sender;
textBox1.Text=textBox1.Text+btn.Text;
}
“*”将控件名为button14更名为“x”,并输入以下程序:
privatevoidbutton14_Click(objectsender,EventArgse)
{
Buttonbtn=(Button)sender;
textBox1.Text=textBox1.Text+btn.Text;
}
“/”将控件名为button15更名为“/”,并输入以下程序:
privatevoidbutton15_Click(objectsender,EventArgse)
{
Buttonbtn=(Button)sender;
textBox1.Text=textBox1.Text+btn.Text;
}
e)三角函数等基本初等函数算法的实现:
“sinx”将控件名为button16更名为“sin”,并输入以下程序:
privatevoidbutton16_Click(objectsender,EventArgse)
{
Buttonbtn=(Button)sender;
textBox1.Text=textBox1.Text+btn.Text;
}
“cosx”将控件名为button17更名为“cos”,并输入以下程序:
privatevoidbutton17_Click(objectsender,EventArgse)
{
Buttonbtn=(Button)sender;
textBox1.Text=textBox1.Text+btn.Text;
}
“tanx”将控件名为button18更名为“tan”,并输入以下程序:
privatevoidbutton18_Click(objectsender,EventArgse)
{
Buttonbtn=(Button)sender;
textBox1.Text=textBox1.Text+btn.Text;
}
“lgx”将控件名为button19更名为“lg”,并输入以下程序:
privatevoidbutton19_Click(objectsender,EventArgse)
{
Buttonbtn=(Button)sender;
textBox1.Text=textBox1.Text+btn.Text;
}
f)显示结果的算法实现
将控件名为button20更名为“=”,并输入以下程序:
privatevoidbutton20_Click(objectsender,EventArgse)
{
try
{
doubled_result;
strings_txt=textBox1.Text;
intspace=s_txt.IndexOf('');
strings1=s_txt.Substring(0,space);
charoperation=Convert.ToChar(s_txt.Substring((space+1),1));
strings2=s_txt.Substring(space+3);
doublearg1=Convert.ToDouble(s1);
doublearg2=Convert.ToDouble(s2);
switch(operation)
{
case'+':
d_result=arg1+arg2;
break;
case'-':
d_result=arg1-arg2;
break;
case'x':
d_result=arg1*arg2;
break;
case'/':
if(arg2==0)
{
//MessageBox.Show("错误");
thrownewApplicationException();
}
else
{
d_result=arg1/arg2;
}
break;
default:
thrownewApplicationException();
}
textBox1.Text=d_result.ToString();
}
catch
{
doubled;
doublepi=Math.PI;
strings_txt=textBox1.Text;
intspace=s_txt.IndexOf('',1);
charoperation=Convert.ToChar(s_txt.Substring((0),1));
strings2=s_txt.Substring(space+1);
doublearg2=Convert.ToDouble(s2);
doublea=arg2*pi/180;
switch(operation)
{
case's':
textBox1.Text=d.ToString();
break;
case'c':
textBox1.Text=d.ToString();
break;
case't':
textBox1.Text=d.ToString();
break;
case'l':
textBox1.Text=d.ToString();
brea