- 4
- 0
- 约5.76千字
- 约 6页
- 2017-05-08 发布于四川
- 举报
UML与面向对象实验报告_信息101班_刘敏华
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
您可能关注的文档
- STP3034_00青黛生产工艺验证方案.doc
- SZ_HYB_ZTB_24技术标.docx
- S_6_2正文、结论、参考文献等标准格式.doc
- S段雷达和X雷达的区别.doc
- system集成项目的管理有用举例.doc
- system理论专业培养的方案20100412.doc
- tb推进xx系统学习型机关建设几点思考60.doc
- TCDD的产生、危害和其治理.docx
- TC6标准化体系表[物流].doc
- tcl内训教材_客户关系管理与客情维护.doc
- 2026年及未来5年内中国液体氩气行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国黄铜合页行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国竹工艺家具行业投资前景及策略咨询研究报告.docx
- 2025年中国微机数显自动分析仪市场调查研究报告.docx
- 2026年及未来5年内中国微尘白色粉笔行业投资前景及策略咨询研究报告.docx
- 2025年中国微电脑型压胶机市场调查研究报告.docx
- 2026年及未来5年内中国数字化等功游泳训练测试系统行业投资前景及策略咨询研究报告.docx
- 2025年中国圆形花瓶市场调查研究报告.docx
- 2026年及未来5年内中国植物纤维静淀过滤器行业投资前景及策略咨询研究报告.docx
- 2025年中国超音波手套机市场调查研究报告.docx
最近下载
- 2024年山东化工职业学院单招英语考试模拟试题及答案解析.docx VIP
- 农业生态学课件.pptx VIP
- 七十岁驾照换证三力测试题库(含答案).docx VIP
- 投入产出分析(第三版)第二章 全国实物型投入产出模型.ppt VIP
- 2025河南省中考物理试题含答案解析.pdf
- 全季酒店施工方.doc VIP
- 2026年湖南铁道职业技术学院单招职业技能测试题库推荐.docx VIP
- 2026广东新高考地理得分技巧精讲试卷(附答案解析).docx VIP
- 2023年山东化工职业学院单招英语考试模拟试题及答案解析.docx VIP
- 华中农业大学《大学语文》课件-第1-2章中国古代文学之先秦文学.ppt VIP
原创力文档

文档评论(0)