苏 州 市 职 业 大 学
课程设计说明书
名称      《计算机语言C课程设计》     
          设计一个简单计算器       
2011年6月20日至 2011年 6月25日共一周
院  系   计算机工程系   
班  级                    
忘记2011
姓  名                  
系 主 任                   
教研室主任                   
指导教任                   
一、题目说明
在功能上尽量模拟windows操作系统中的计算器,系统界面不做强制要求。
程序开发背景
传统的计算方法有口算、笔算还有就是借助工具。但是一旦碰到计算量稍大的计算式子,口算和笔算往往就不能发挥出优势,一般都回借助工具。而传统的计算器也并不方便随身携带。随着科技的发展,计算机已经逐渐普及,人们的生活中、工作中往往都离不开计算机。如果碰到大量的计算,还要去计算器,这样似乎太过麻烦。所以,在计算机中进行计算器的工作,就会方便得多。因此,本次设计了在计算机操作系统中的计算器。
二、总体设计
2.1.系统开发平台
系统使用的是Microsoft VC++ 6.0软件平台。
2.2.系统流程图
                     
图1系统流程图
三、详细说明
本系统分为两个部分:double jisuan()部分,main()主函数部分。
double jisuan部分首先对程序进行基础设置,以达到能够对输入的表达式进行判断。
main()主函数模块,首先通过printf()语句对一些特殊符号进行解释,然后通过用户自己讲要计算的式子输入程序,来得出结果 
1.double jisuan()函数
规定对优先级别,其过程为:
  while(a[i]!='\0')
{
  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;
    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+1;
  }
  else i=j;
  shu.data[++p].d1=x;
  shu.p].d2=++cnt;
  nibo[++t1]='0'+shu.p].d2;
  nibo[t1+1]='\0';