资源描述:
《设计一个简单计算器的c语言课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、东华理工大学东华理工大学C语言课程设计报告题目:设计一个简单计算器姓名:地瓜叶学号:?????指导老师:吴志强老师11东华理工大学东华理工大学目录1.设计目的2.内容3.总体设计(有流程图)4.源程序编写(附上了运行图)5.执行结果6.心得体会11东华理工大学东华理工大学一、设计目的设计一个简单计算器,在功能上功能尽量模拟windows操作系统中的计算器,系统界面不做强制要求。全面熟悉、掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函数、指针和文件的操作,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构
2、以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,规范编程思想,为以后在专业课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。二、内容1、程序设计的一般步骤a、确定数据结构b、确定算法c、编程d、调试e、总结资料11东华理工大学东华理工大学2、基本要求a.设计正确,方案合理,能实现相应功能。b.界面友好,使用方便。c.程序精炼,结构清晰。d.设计报告含程序设计说明,用户使用说明,源程序清单及程序框图。e.上机演示。三、总体设计(程序设计组成
3、框图、流程图)四、源程序编写11东华理工大学东华理工大学#include#include#includedoublejisuan(chara[]){inti=1,j,k,m,cnt=0,t1=0,t2=0,t3=0;charnibo[50],zhan2[50];doublex,n,l,z=0,zhan3[20];typedefstruct{doubled1;intd2;}dd;typedefstruct{dddata[50];inttop;}zhan1;zhan1shu;shu.top=0;
4、while(a[i]!=' '){if(a[i]>='0'&&a[i]<='9'){z=0;j=i+1;while(a[j]>='0'&&a[j]<='9'){j++;}j--;for(k=i;k<=j;k++){z=z*10+a[k]-'0';}j=j+1;x=z;if(a[j]=='.'){l=1;11东华理工大学东华理工大学i=j+1;j=i+1;while(a[j]>='0'&&a[j]<='9'){j++;}j--;for(k=i;k<=j;k++){n=pow(0.1,l);l=l+1;x=x+n*(a[k]-'0');}i=j+
5、1;}elsei=j;shu.data[++shu.top].d1=x;shu.data[shu.top].d2=++cnt;nibo[++t1]='0'+shu.data[shu.top].d2;nibo[t1+1]=' ';}elseif(a[i]=='('){zhan2[++t2]=a[i];i++;}elseif(a[i]==')'){j=t2;while(zhan2[j]!='('){nibo[++t1]=zhan2[j];nibo[t1+1]=' ';j--;}t2=j-1;i++;}elseif(a[i]=='+'){whil
6、e(t2>0&&zhan2[t2]!='('){nibo[++t1]=zhan2[t2];nibo[t1+1]=' ';11东华理工大学东华理工大学t2--;}zhan2[++t2]=a[i];i++;}elseif(a[i]=='-'){if(a[i-1]=='$'){a[0]='0';i=0;}elseif(a[i-1]=='('){a[i-1]='0';a[i-2]='(';i=i-2;}else{while(t2>0&&zhan2[t2]!='('){nibo[++t1]=zhan2[t2];nibo[t1+1]=' ';t2--
7、;}zhan2[++t2]=a[i];i++;}}elseif(a[i]=='*'
8、
9、a[i]=='/'){while(zhan2[t2]=='*'
10、
11、zhan2[t2]=='/'
12、
13、zhan2[t2]=='^'
14、
15、zhan2[t2]=='@'){nibo[++t1]=zhan2[t2];nibo[t1+1]=' ';t2--;}zhan2[++t2]=a[i];i++;}elseif(a[i]=='^'
16、
17、a[i]=='@')11东华理工大学东华理工大学{while(zhan2[t2]=='^'
18、
19、zhan2[t2]=='@'){nibo[
20、++t1]=zhan2[t2];nibo[t1+1]=' ';t2--;}zhan2[++t2]=a[i];i++;}}while(t2>0){ni