- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UML与面向对象实验报告--信息101班--刘敏华.doc
UML与面向对象实验报告
信息101班 16号 刘敏华
题目:
请用C++,Java,C#,或VB,.NET任意一种面向对象语言实现一个计算器控制台程序,要求输入两个数和运算符号,得到结果。
问题处理:
看到这个问题,首先想到的是可以通过设立四个变量A,B,C,D来分别表示两个数字,运算符号及运算结果,然后通过if语句来判断用户输入的运算符号,从而进行数学计算,另外在计算中需要将用户输入的数字在字符型与数值型之间进行转换来实现计算和显示。
这样可以写出如下的代码:
class Program
{
static void Main(string[] args)
{
Console.WriteLine(请输入第一个数字);
int A = Convert.ToInt32(Console.ReadLine( )); //输入字符串转化为整形
Console.WriteLine(请输入第二个数字);
int B = Convert.ToInt32(Console.ReadLine( );
Console.WriteLine(请输入运算符);
string C = Console.ReadLine( );
string D = ;
if (C == +)
D = Convert.ToString(A + B);
if (C == -)
D = Convert.ToString(A - B);
if (C == *)
D = Convert.ToString(A * B);
if (C == /)
D = Convert.ToString(A / B);
Console.WriteLine (运算结果是: + D);
}
}
但是对代码进行仔细分析后,就会发现里面存在着许多明显的问题:
代码里面的命名很不规范,A,B,C,D让人看起来一下子很难理解代码代表的含义,代码标识符应该采用英文单词或其组合,应当直观且可以拼读,可望文知意,用词应当准确。
在代码里面,If判断语句用了四次,这样会导致每个条件都必须进行判断,这样下来,就会导致计算机做许多的无用功。
进行除法运算时,没有判断字符是否为0,如果是0就会导致不符合运算规则,导致计算错误。
为了解决这些问题,可以采取以下措施:
关于命名不规范的问题,可以采用新的命名,数字可以分别用NumberA和NumberB来表示,运算符号则可以用strOperate来表示,运算的结果可以用str
针对运算符的判断,可以采用switch开关语句来进行判断,这样就会少做许多的无用功
可以采用if语句来判断是否为0,如果是则提示错误。
经过修改,可以得到下面的结果:
class Program
{
static void Main(string[] args)
{
Console.WriteLine(请输入第一个数字);
Int NumberA = Convert.ToInt32(Console.ReadLine( ));
Console.WriteLine(请输入第二个数字);
int NumberB = Convert.ToInt32(Console.ReadLine( );
Console.WriteLine(请输入运算符);
string strOperate = Console.ReadLine( );
string strResult = ;
switch(strOperate)
{ {
Case +:
strResult = Convert.ToString(NumberA + NumberB);
break;
case -:
strResult = Convert.ToString(NumberA - NumberB);
break;
case *:
strResult = Convert.ToString(NumberA * NumberB);
break;
case /:
if (strNumberB != 0)
strResult=Convert.ToS
您可能关注的文档
- OA系统方案——协众OA.doc
- opengl学习指导实验 计算机图形学上机.doc
- Oracle测试报告.doc
- Part IV Realism - Harriet Beecher Stowe.doc
- Part IV Realism - Jack London.doc
- Part V Twentieth-century Literature - Ezra Pound.doc
- Part V Twentieth-century Literature- William Faulkner.doc
- Part V Twentieth-century Literature.doc
- PB 面向对象程序设计实验指导书.doc
- PC控制系统设计的要点1.doc
最近下载
- 肉牛生产性能测定技术规范-编制说明.pdf VIP
- 中医药治疗乙型肝炎的优势及存在的问题.docx VIP
- 高危新生儿眼病筛查分类管理专家共识(2024).pptx VIP
- 24J306国家建筑标准设计图集.docx
- 汽车轮毂结构优化与轻量化设计研究.docx VIP
- 生物质呋喃基新材料呋喃二甲酸(FDCA)项目可行性研究报告写作模板-申批备案.doc
- 2025年搬运机器人行业研究报告及未来五至十年行业预测分析报告.docx
- FDCA行业动态报告:FDCA发展潜力巨大,下游制成PEF替代空间广阔.docx
- 学前儿童美术教育与活动指导第4版全套教学课件.pptx
- 预算编制服务投标方案(技术标).pdf
文档评论(0)