《计算器实验报告》word版.doc

上传人:jian****018 文档编号:9128350 上传时间:2020-04-03 格式:DOC 页数:4 大小:23KB
返回 下载 相关 举报
《计算器实验报告》word版.doc_第1页
第1页 / 共4页
《计算器实验报告》word版.doc_第2页
第2页 / 共4页
《计算器实验报告》word版.doc_第3页
第3页 / 共4页
点击查看更多>>
资源描述
实 验 报 告课程名称:计算机软件基础学期:20011-2012学年第二学期成绩: 姓名:考号:实验名称:计算器 实验要求: 必作实验学时:2学时实验编号:3实验日期: 第2周完成日期:学院:机电工程学院专业 :年级: 2011级一、实验目的:1熟练掌握计算器的计算过程;本试验旨在帮助我们复习与巩固计算器的计算过程是如何实现的;二、实验内容: 编写并调试计算器的程序,介绍程序所能够达到的功能.程序如下:int main()char a80,*p,op;/定义char型数组a,指针变量*p,char型变量opint n=0,i;/定义整型变量n,i。n赋值0int data1,data2;/定义整型变量data1,data2float output;定义浮点型变量outputscanf(%s,a);/按字符串格式从键盘输入到变量ap=&a0;/数组a的首元素地址赋给指针变量pwhile(*p !=0 & *p =0)/while条件循环,条件:*p指向的数组元素不是空字符并且小于等于9并且大于等于0p+;n+;/p移到下一地址,n+1data1=0;/data1赋值0for(i=0;in;i+)/for条件循环,条件:inp-;/p移到上一地址data1+=(*p-0)*pow(10,i);/赋值data1,p指向的值转换成整数乘以10的i次幂p=p+n;op=*(p+);n=0;while(*p !=0 & *p =0)p+;n+;data2=0;for (i=0;in;i+)p-;data2+=(*p-0)*pow(10,i);switch(op)case +:output=data1+data2;break;case -:output=data1-data2;break;case *:output=data1*data2;break;case /:output=(float)data1/data2;break;default:printf(wrong operatorn);return 0;printf(%5.2f,output);输入1+1;输出2;三、实验环境:Windows XP CT6.0;四、实验过程: 1)输入数据及运算符号首先输入运算符号a 80 实现语句scanf(%s,a);然后输入运算的数据;2)数据的计算,使用选择结构switch函数; 对于数据的四则运算进行处理switch(op)case +:output=data1+data2;break;case -:output=data1-data2;break;case *:output=data1*data2;break;case /:output=(float)data1/data2;break;default:printf(wrong operatorn);return 0;printf(%5.2f,output);五、在实验中遇到的问题及解决方法:在实验中此语句(case *:output=data1*data2;break;)运行不正确,因此在输出结果时没能够做出正确的运算内容;经过分析发现(break)忘记在后方加入,当其将break加入后结果就能正常的运行了;在实验期间我还遇到其他很多类似的内容,不是忘加“,”就是有的忘记加“;”但最总实验还是成功的编写正确了。 解决问题的方法:通过问指导老师和上网搜素进行的解决。六、实验总结:1)当我们在编写程序中,我们需要处处仔细切还要认真的一步步静下心来编写每一步,否则我们会问题连连不断的出现;总之认真出结果仔细内容对。3体会和收获。 让我们了解到计算器是如何进行当我们输入一些数一步步往下运行的;C语言的编写于运行是自己对编写程序过程中,要仔细每一步的编写,分号的应用。 做到条理清晰分明。遇到问题要学会查找解决的方法(同学间的互相探讨,向指导老师求解等)七、原程序:int main()char a80,*p,op;/定义char型数组a,指针变量*p,char型变量opint n=0,i;/定义整型变量n,i。n赋值0int data1,data2;/定义整型变量data1,data2float output;定义浮点型变量outputscanf(%s,a);/按字符串格式从键盘输入到变量ap=&a0;/数组a的首元素地址赋给指针变量pwhile(*p !=0 & *p =0)/while条件循环,条件:*p指向的数组元素不是空字符并且小于等于9并且大于等于0p+;n+;/p移到下一地址,n+1data1=0;/data1赋值0for(i=0;in;i+)/for条件循环,条件:inp-;/p移到上一地址data1+=(*p-0)*pow(10,i);/赋值data1,p指向的值转换成整数乘以10的i次幂p=p+n;op=*(p+);n=0;while(*p !=0 & *p =0)p+;n+;data2=0;for (i=0;in;i+)p-;data2+=(*p-0)*pow(10,i);switch(op)case +:output=data1+data2;break;case -:output=data1-data2;break;case *:output=data1*data2;break;case /:output=(float)data1/data2;break;default:printf(wrong operatorn);return 0;printf(%5.2f,output);
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!