C语言计算器的编写课程设计Word文档格式.docx

上传人:b****4 文档编号:18163772 上传时间:2022-12-13 格式:DOCX 页数:12 大小:63.52KB
下载 相关 举报
C语言计算器的编写课程设计Word文档格式.docx_第1页
第1页 / 共12页
C语言计算器的编写课程设计Word文档格式.docx_第2页
第2页 / 共12页
C语言计算器的编写课程设计Word文档格式.docx_第3页
第3页 / 共12页
C语言计算器的编写课程设计Word文档格式.docx_第4页
第4页 / 共12页
C语言计算器的编写课程设计Word文档格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

C语言计算器的编写课程设计Word文档格式.docx

《C语言计算器的编写课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言计算器的编写课程设计Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。

C语言计算器的编写课程设计Word文档格式.docx

4.1运行程序进入计算器界面............11

第5章课程设计心得....................12

第1章课程设计内容及要求

1.1内容

编写C语言程序,设计一个简单计算器

1.2要求

运用相关知识,查阅相关资料,编写一个简单的计算器。

第2章系统设计流程图

2.1系统流程图

2.1系统流程图

2.2主要功能表

2.2主要功能表

序号

文件名

主要功能

备注

1

+

加法

两个操作数

2

减法

3

*

乘法

4

/

除法

5

#

开方

一个操作数

6

^

乘方

7

Enter

等于

8

Tab

清零

9

q

退出

第3章系统测试

程序的调试是指对程序的差错和排错,为了便于差错、阅读,在设计该程序的过程中我们采用了结构化程序方法编辑,添加了尽可能多的注释,这就为接下来的调试过程带来了很多方便。

经过仔细检查之后进行上机调试。

进行编译,如果在编译和连接过程中发现错误,屏幕上显示了出错信息,根据提示找到出错的位置,加以改正,在进行编译……如此反复,直到顺利通过编译和连接为止。

在本次实习过程中碰到的编译、连接的错误主要有:

缺少变量定义、定义为置不正确、语法错误、转义字符漏用、逻辑错误等。

3.1系统测试

系统测试结果如下:

3.2调试

根据电脑所给的提示出现语法错误,缺少变量的定义大多的语法错误在通过书本参考下能够修改。

主要是平时看书不仔细、不太注意而产生的,如没有注意具体数据使用是有一定的范围限定;

过分重视分号的重要性而在for、if、while语句中画蛇添足加分号;

在使用文件的时候忘记将文件先打开,对打开的方式与使用的情况不太注意而造成不匹配;

还有漏掉形参的定义是值不能传递等等。

这些语法错误有信息框的提示一般是能够排除的。

另外还有部分注释的位置也错了,最重要的是逻辑上的错误,一般电脑不容易发现。

所以更对程序仔细的检查。

经认真修改之后重新保存文件。

第4章使用

4.1运行程序进入计算器界面

打开软件

进入界面

运行结果

第5章 课程设计心得

用C语言来编程的技巧,以及对C也有了更加深刻的认识。

我希望在以后的学习中能有更多这样的机会,让我们能够进行实践操作,从而在实际操作中不断提高我们的综合能力。

源代码:

#include<

stdio.h>

math.h>

malloc.h>

doublejisuan(chara[])

{

inti=1,j,k,m,cnt=0,t1=0,t2=0,t3=0;

charnibo[50],zhan2[50];

doublex,n,l,z=0,zhan3[50];

typedefstruct{

doubled1;

intd2;

}dd;

typedefstruct

dddata[50];

inttop;

}zhan1;

zhan1*shu;

shu=(zhan1*)malloc(sizeof(zhan1));

shu->

top=0;

while(a[i]!

='

\0'

if(a[i]>

0'

&

a[i]<

9'

){

z=0;

j=i+1;

while(a[j]>

a[j]<

{j++;

}

j--;

for(k=i;

k<

=j;

k++)

{

z=z*10+a[k]-'

;

}

j=j+1;

x=z;

if(a[j]=='

.'

l=1;

i=j+1;

n=pow(0.1,l);

l=l+1;

x=x+n*(a[k]-'

);

}

elsei=j;

shu->

data[++shu->

top].d1=x;

data[shu->

top].d2=++cnt;

nibo[++t1]='

+shu->

top].d2;

nibo[t1+1]='

elseif(a[i]=='

('

zhan2[++t2]=a[i];

i++;

)'

j=t2;

while(zhan2[j]!

nibo[++t1]=zhan2[j];

t2=j-1;

+'

while(t2>

0&

zhan2[t2]!

nibo[++t1]=zhan2[t2];

t2--;

-'

if(a[i-1]=='

$'

a[0]='

i=0;

elseif(a[i-1]=='

a[i-1]='

a[i-2]='

i=i-2;

else

){

*'

||a[i]=='

/'

while(zhan2[t2]=='

||zhan2[t2]=='

^'

#'

while(t2>

0)

nibo[++t1]=zhan2[t2];

j=1;

t3=0;

while(j<

=t1)

if(nibo[j]>

nibo[j]!

for(i=1;

i<

=shu->

top;

i++)

if((int)(nibo[j]-'

)==shu->

data[i].d2)

m=i;

break;

zhan3[++t3]=shu->

data[m].d1;

elseif(nibo[j]=='

zhan3[t3-1]=zhan3[t3-1]+zhan3[t3];

t3--;

zhan3[t3-1]=zhan3[t3-1]-zhan3[t3];

zhan3[t3-1]=zhan3[t3-1]*zhan3[t3];

zhan3[t3-1]=zhan3[t3-1]/zhan3[t3];

zhan3[t3-1]=pow(zhan3[t3-1],zhan3[t3]);

zhan3[t3]=sqrt(zhan3[t3]);

j++;

returnzhan3[t3];

voidmain()

for(;

charx,a[50];

doublejieguo;

inti=0;

a[0]='

printf("

功能:

实现+,-,*,\,^(乘方),#(开方),(,),(负数),小数,混合运算\n"

printf("

请输入表达式\n\n"

scanf("

%c"

&

x);

if(x=='

q'

)break;

while(x!

\n'

a[++i]=x;

scanf("

a[i+1]='

jieguo=jisuan(a);

\n"

结果为:

%lf"

jieguo);

\n\n\n"

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1