信息工程学院
综合实训报告
姓 名: 明瑶
学 号: 201104410210 05
专业及年级: 2011级网络工程
实 训 地 点: R328
指 导 教 师: 王智慧
4年 月 日
目录
一、实验目的 2
二、实训准备 2
三、实训要求 2
四、实训容及过程 2
(一)打开Microsoft Visual C++ 2
(二)点击文件—>新建 2
(三)进入编写C语言环境 3
(四)先声明主函数还有变量 3
(五)程序的实现 4
1,计算机程序加、减、乘、除的实现 5
2,阶乘的实现 5
(六)主函数 6
(七)程序运行结果 6
、减、乘、除结果测试 ................................................................................................ 7
………………………………………………………………………………………..7
五、实训结果 8
六、实训总结及体会 8
一、实验目的
用C语言编写计算器,并且能够实现表达式的计算,其中包含低级,中级和高级的运算符号以及阶乘的实现。熟练地运用Microsoft Visual C++ ,。
二、实训准备
熟悉C语言程序的编写规则、简易计算器的编辑过程、各种运算符号的优先级和计算过程。
三、实训要求
通过所学知识和实训的操作过程,更加熟练C语言的编译环境、程序的编写规则和计算表达式中函数调用的过程。计算器包含基本的加、减、乘和除、阶乘等运算。
四、实训容及过程
(一)打开Microsoft Visual C++
图1
(二)点击文件—>新建
图2
(三)进入编写C语言环境
图3
(四)先声明头部函数还有变量
图4
(五)程序的实现
图5
1,计算机程序加、减、乘、除的实现:
d2=strtod(save1,&save2);
switch(ch)
{
case '*':sprintf(op,"%.32g",d1*d2);break;
case '/':sprintf(op,"%.32g",d1/d2);break;
case '+':sprintf(op,"%.16g",d1+d2);break;
case '-':sprintf(op,"%.16g",d1-d2);
}
图6
2,阶乘的实现
double factorial(double d)//factorial意为“阶乘”
void scissor(char* s,char* carriage,int* start)//scissor意为“用剪刀剪”
{
int sta,end;
for(sta=*start-1;(s[sta]>='0'&&s[sta]<='9')||s[sta]=='.';sta--);
if(sta!=0||s[*start]=='!') //处理式子是-2+3或-2!的特殊情况
sta++;
if(s[*start]=='!')//'!'是单目运算符
end=*start;
else
{
for(end=*start+1;(s[end]>='0'&&s[end]<='9')||s[end]=='.';end++);
if((s[end-1]=='*'||s[end-1]=='/')&&(s[end]=='+'||s[end]=='-'))//处理式子是2*-2等的特殊情况
(六)主函数
图8
(七)程序运行结果
图9
、减、乘、除结果测试:
图10
:
图11
五、实训结果
通过近几周的实训,我又重新学****了C语言,对它所有的编程语句和格式、怎么定义和使用变量、怎么定义和使用函数、怎么定义和使用类有了进一步的理解,但是对于C语言的灵魂---指针,还是运用不够熟练,日后还需要好好练****br/>六、实
实训一计算器编程的实现 来自淘豆网www.taodocs.com转载请标明出处.