计算器c语言报告

时间:2026.4.14

题目一:计算器

1.实验目的和意义:

利用c语言编写简易计算器,使我们更加熟练的掌握c语言及软件开发的基本步骤。该课题设计对学生来说是对这一学期有关c语言学习的一个评估是将c语言应用于生活中提高学生的动手能力。该课题有利于让学生将课本上学习的零散的知识融会贯通、综合运用、强化知识体

2.实验内容:

了解用户需求,

小组讨论算法,

编写程序,

调试程序,

漏洞修复及报告设计

3.小组成员分工

小组讨论算法: 全体成员

编写程序:    樊义,高杰林

调试程序:    曹仲生

漏洞修复及报告设计 :    陈伟杰

4.设计要点:

字符串内提取数字,加减乘除优先级,能够识别简单的错误算式

5.源程序:

//不包含括号,纠错能力不够,

#include "stdio.h"

double z(char c[100],int *i)                                         

{

      int w=0,d=0;

      double s=0;

        while(c[*i]>='0'&&c[*i]<='9')

      {w++;*i=*i+1;}

        if(c[*i]=='.')

      {

           *i=*i+1;

           while(c[*i]>='0'&&c[*i]<='9')

        {w++;d++;*i=*i+1;}

      }

      while(w>0)

      {

      int t=1;

      for(int tem=w;tem>1;tem--)

           t=t*10;

    if(w>d&&d>0)

              s=s+t*(c[*i-w-1]-'0');

    else

                s=s+t*(c[*i-w]-'0');

      w--;

      }

      //printf("整数型num=%3.5f\t",s);

        if(d>0)

      for(int temp=0;temp<d;temp++)

      {s=s/10.0;printf("小数型num=%3.5f\t",s);}

      //printf("函数内%d\t",*i);

      //printf("小数型num=%3.5f\t",s);

      return s;

}

     

void main()

{

start:

      char c[100],a[100];

      double s[100],num;

      int i=0,j=0,k=0;

      printf("输入需要运算的式子(仅加减乘除,且不包含括号,负数,不需输入等号):");

reput: scanf("%s",c);

      i=0,j=0,k=0;

      int *p=&i;

done:  switch(c[i])

      {

      case '0':

           case '1':

                 case '2':

                      case '3':

                            case '4':

                                  case '5':

                                       case '6':

                                             case '7':

                                                  case '8':

                                                        case '9':{num=z(c,p);goto done;}

      case '*':{i++;num=num*z(c,p);goto done;}

    case '/':{i++;num=num/z(c,p);goto done;}

    case '+':{s[j]=num;a[k]=c[i];j++;i++,k++;if(c[i]>='0'&&c[i]<='9')goto done;else {printf("输入错误!请重输:");num=0;goto reput;}}

    case '-':{s[j]=num;a[k]=c[i];j++;i++,k++;if(c[i]>='0'&&c[i]<='9')goto done;else {printf("输入错误!请重输:");num=0;goto reput;}}

      case '\0':if(i!=0){s[j]=num;a[k]=c[i];break;}else printf("输入错误!请重输:");num=0;goto reput;

      default:printf("输入错误!请重输:");num=0;goto reput;

      }

      //for(int n=0;n<j;n++)

      //       printf("%f%c",s[n],a[n]);

      //printf("%f\n",s[j]);

    if(a[k]=='\0')

      {j=0;k=0;num=s[0];//printf("已执行!");

add:   switch(a[k])

         {

          case '+':{num=num+s[++j];k++;goto add;}

          case '-':{num=num-s[++j];k++;goto add;}

           default:break;

         }

      }

      printf("式子的结果为:%f\n",num);

      printf("是否继续计算<y/n>.......");

      char tmp;

      scanf("%s",&tmp);

      if(tmp=='y')

           goto start;

}

 6.小结:


第二篇:计算机C语言本科实验报告


本科实验报告

课程名称:    程序设计技术             

实验项目:基本数据类型及运算(实验一)

实验地点:    计算机学院软件实验室     

专业班级:  计科1101    学号:2011001491

学生姓名:        李康达                  

指导教师:        段利国               

20##年 3 月16日

一、实验目的和要求

1.了解Windows环境下C语言的运行环境,了解所用的计算机系统的基本操作方法,学会独立使用该系统。

2.了解在该系统上如何编辑、编译、连接和运行一个C程序。

3.通过运行简单的C程序,初步了解C源程序的特点。

4.通过运行简单C程序, 掌握C语言的基本数据类型和运算符。

二、实验内容和原理

1.编程计算下面算术表达式的值。

(1)x+a%3*(x+y)%2/4 (设x=2.5,a=7,y=4.7)

(2)(float)(a+b)/2+(int)x%(int)y(设a=2,b=3,x=3.5,y=2.5)

先自己分析,再试着用程序求解,看得到的结果是否一致。

2.写出下面表达式运算后a的值,设原来a=10。设a和n已定义成整型变量。

(1)a+=a                         (2)a-=2

(3)a*=2+3                       (4)a/=a+a

(5)a%=(n%=2),n的值等于5     (6)a+=a-=a*=a

先自己分析,再试着用程序求解,看得到的结果是否一致。

三、主要仪器设备

PC机+C语言编程环境

四、实验结果与分析

 1.(1):  分析:“% ,/,*”的优先级相同,按先后顺序来计算。

      #include<stdio.h>

main()

{int a=7;float x=2.5,y=4.7,z;

      z=x+(int)(a%3*(x+y))%2/4;

         printf("%f",z);

         getch(); 

}

结果:

  (2):分析:#include<stdio.h>

main()

{ int a=2.0,b=3.0;float x=3.5,y=2.5,z;

              z=(float)(a+b)/2+(int)x%(int)y;

              printf("%f",z);

               getch();

}

结果:

2:#include<stdio.h>

main()

{ int a,n=5;

      a=10;a+=a;printf("%4d",a);

      a=10;a-=2;printf("%4d",a);

      a=10;a*=2+3;printf("%4d",a);

      a=10;a/=a+a;printf("%4d",a);

      a=10;a%=(n%=2);printf("%4d",a);

      a=10;a+=a-=a*=a;printf("%4d",a);

      getch();

}

 结果:

更多相关推荐:
c语言报告

课程设计说明书设计名称设计题目设计时间20xx年6月18日6月22日学院信息与控制工程学院专业信息管理与信息系统班级姓名仇睿指导教师董洁20xx年6月21日目录一设计目的1二课程设计的内容1三课程设计的要求与数...

c语言课程设计报告

C语言程序设计课程设计学生姓名:学号:系(院):专业:设计(论文)题目:学生选课系统管理完成日期:20##年6月指导教师:目录一、实验目的二、实验内容三、总体设计四、详细设计五、运行结果六、课程设计体会一、实验…

C语言综合设计报告

昆明理工大学《程序设计基础》课程综合设计实践教学课题报告课程名称:C程序设计基础课题名称:C语言练习函数调用演示。学号:##姓名:##学院:电力工程班级:电自111教师:##昆明理工大学计算中心20##年5月3…

c语言实验报告

四川师范大学计算机科学学院C语言程序设计实验手册20xx年2月年级20xx级专业电子商务班级04班姓名罗桂清学号20xx110438指导教师廖雪花1C语言程序设计实验课程简介课程名称C语言程序设计实验课程性质专...

c语言报告

实验报告高级语言程序设计20xx20xx学年第二学期实验名称C语言程序设计综合实验学号姓名XXXXXXXXXX指导教师XXXXX报告时间20xx5311高级语言程序设计实验报告实验名称C语言程序设计综合实验一实...

C语言万年历报告

课程设计评分表课程设计题目:万年历设计C语言课程设计之万年历实验报告分享者:##一、实验题目:万年历设计二、试验时间:20##年12月28日至20##年1月5日三、实验地点:四、实验目的:本次课程设计的主要目的…

c语言实践报告

实验报告二级学院信息与工程学院系别计算机科学与技术系专业信息管理与信息系统课程名称高级语言程序设计班级姓名实验名称电话订餐信息处理实验目的题目要求一个小饭馆的生意非常红火要想用餐必须提前一天打电话预订假设我们是...

c语言报告五子棋

青岛理工大学C语言程序设计题目游戏五子棋指导教师李兰姓名王鹏学号20xx07127班级计算094专业地点二号实验楼第六机房时间1一内容游戏五子棋在这个小游戏中实现了两人对战的游戏模式没有添加禁手规则另外考虑到落...

C语言计算器程序设计报告

C语言集中上机实验报告一、需求分析(1)制作一个计算器,能够计算四则混合运算以及乘方和开方,并显示出正确的结果。(2)程序能根据运算符的高低进行运算(开放符号置左置右不影响正常运算)(3)可以输入括号二、设计思…

C语言专周报告

成都工业学院通信工程系微电子技术专周报告姓名蹇岚班级1306161学号11导师王飞一设计题目职工工资管理小软件二实习目的1通过这次专题实习可以巩固和加深对所学相关知识点的理解2进一步熟悉基本的流程控制结构实现分...

c语言报告

教学管理系统20xx年7月21日C语言课程设计报告机房名称时间20xx年7月11日至7月22日学院计算机与通信工程学院专业班级姓名学号指导教师

C语言项目设计报告

电子科技大学成都学院课程设计报告电子科技大学成都学院电子工程系课程设计报告课程名称C语言程序设计能力教程设计题目万年历指导教师组杨剑学生学号1140810429学生姓名王玲琳电子工程系制20xx年12月电子科技...

c语言报告(46篇)