C语言课程设计-计算器软件_第1页
C语言课程设计-计算器软件_第2页
C语言课程设计-计算器软件_第3页
C语言课程设计-计算器软件_第4页
C语言课程设计-计算器软件_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

安徽师范大学《C语言》课程设计报告题目计算器软件学号姓名年级专业同组人员指导教师完成日期2010年6月20日目录问题描述 基本要求程序设计流程图。程序设计内容。程序设计截图。程序设计分析。程序设计心得。程序设计评定。一、问题描述 本程序设计是一个将数学问题与C语言程序设计结合的程序设计问题。能够实现用用C语言编程让计算机模拟计算器的实验,可以改变计算数值,计算出不同的结果。计算器是一种很常用的计算工具,他在日常生活中给了我们很大方便。“计算器”是一种关于多种控件的应用的比较复杂的程序,它包含对字符串的处理,多模块程序设计,数学函数的使用。所以它所需要的知识点较多,必须对各方面都有所了解。计算器的主要功能就是运算,但是任何一个数值的输入都是以字符的形式进行的,但是字符是无法参与运算的,不许转换成整形变量。二、基本要求能够实现加减乘除功能;要求单字符输入,即输入的数字或符号不需要按回车键;具有一定的容错能力;按回车键或等号键则显示计算结果。三、程序设计流程图。程序开始程序开始输入运算式输入运算式判断运算符判断运算符若为“若为“/”若为“若为“+”、“-”、“*”,直接计算被除数是否为零被除数是否为零 否得出结果得出结果 输出“Error输出“Error”程序结束程序结束四、程序设计内容。#include<stdio.h>#include<string.h>#defineN50voidmain(void){intinti=0,intj=0;doubledoux[N]={0},dousum=0;charcharx[N],chary[2*N];printf("Pleaseinput:");scanf("%s",chary);while(inti<strlen(chary)){switch(chary[inti]){case'0':doux[(int)(inti/2)]=0;break;case'1':doux[(int)(inti/2)]=1;break;case'2':doux[(int)(inti/2)]=2;break;case'3':doux[(int)(inti/2)]=3;break;case'4':doux[(int)(inti/2)]=4;break;case'5':doux[(int)(inti/2)]=5;break;case'6':doux[(int)(inti/2)]=6;break;case'7':doux[(int)(inti/2)]=7;break;case'8':doux[(int)(inti/2)]=8;break;case'9':doux[(int)(inti/2)]=9;break;case'+':charx[inti/2]='+';break;case'-':charx[inti/2]='-';break;case'*':charx[inti/2]='*';break;case'/':charx[inti/2]='/';break;}inti++;}inti=0;while(inti<strlen(charx)){if(charx[inti]=='-'){doux[inti+1]=0-doux[inti+1];}elseif(charx[inti]=='*'){doux[inti+1]=doux[inti+1]*doux[inti];doux[inti]=0;}elseif(charx[inti]=='/'){if(doux[inti+1]==0){intj=1;break;}doux[inti+1]=doux[inti]/doux[inti+1];doux[inti]=0;}else{;}inti++;}if(intj==1){printf("Error\n");}else{for(inti=0;inti<N;inti++){dousum+=doux[inti];}printf("%lf\n",dousum);}system("pause");}五、程序设计截图。输入正确计算公式屏幕显示:容错能力屏幕显示:六、程序设计分析。1.文件名#include<stdio.h>#include<string.h>#defineN50/*宏定义*/2.头文件voidmain(void)/*空类型*/3.定义变量intinti=0,intj=0;doubledoux[N]={0},dousum=0;/*定义数值变量*/ charcharx[N],chary[2*N];/*定义数组变量*/4文件主体while(inti<strlen(chary)){switch(chary[inti]){case'0':doux[(int)(inti/2)]=0;break;/*定义计算数值*/case'1':doux[(int)(inti/2)]=1;break;case'2':doux[(int)(inti/2)]=2;break;case'3':doux[(int)(inti/2)]=3;break;case'4':doux[(int)(inti/2)]=4;break;case'5':doux[(int)(inti/2)]=5;break;case'6':doux[(int)(inti/2)]=6;break;case'7':doux[(int)(inti/2)]=7;break;case'8':doux[(int)(inti/2)]=8;break;case'9':doux[(int)(inti/2)]=9;break;case'+':charx[inti/2]='+';break;/*定义计算符号*/case'-':charx[inti/2]='-';break;case'*':charx[inti/2]='*';break;case'/':charx[inti/2]='/';break;}inti++;}inti=0;while(inti<strlen(charx)){if(charx[inti]=='-')/*运算符号转换*/{doux[inti+1]=0-doux[inti+1];}elseif(charx[inti]=='*'){doux[inti+1]=doux[inti+1]*doux[inti];doux[inti]=0;}elseif(charx[inti]=='/'){if(doux[inti+1]==0){intj=1;break;}doux[inti+1]=doux[inti]/doux[inti+1];doux[inti]=0;}else{;}inti++;}if(intj==1){printf("Error\n");/*容错*/}else{for(inti=0;inti<N;inti++){dousum+=doux[inti];}printf("%lf\n",dousum);/*输出结果*/}system("pause");/*程序结束*/}七、程序设计心得回顾起此次课程设计,我们有很多的感慨,自从拿到题目到完成整个编程,从理论到实践的过程中,可以学到很多很多的的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识,加深了对C语言的学习理解。通过这次课程设计懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,还要把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的的能力。此次,应用程序的设计和创建,经历了平时在课堂中和考试中,决不会有的重重难题和问题。而这些问题,又都是课本上很少提到的、更深一层的知识领域和应用领域。这些问题,并不是我们平时只靠课本,就可以轻易解决的。所以,锻炼了我们面对难题,自己思索,自己探索,自己查资料发现问题、解决问题的独断能力。当然,此次任务的完成,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论