简单计算器C语言课程设计报告书

C语言课程设计报告书

题 目:  简单计算器

院  系:

班  级:

学  号:   

姓  名:    

一、课程设计目的

1. 巩固和加深C语言课程的基本知识的理解和掌握

2. 掌握C语言编程和程序调试的基本技能

3. 利用C语言进行基本的软件设计

4. 掌握书写程序设计说明文档的能力

5. 提高运用C语言解决实际问题的能力

二、课程设计的基本过程

课程设计的基本过程包括5个步骤,即功能需求,总体设计,详细设计,程序测试,结论。每个步骤都有其特定的任务。

2.1 【功能需求】

 功能概述:该软件为用户提供一个在windows系统上运行的简单计算器,能进行简单的加、减、乘、除四则运算和一些常用特殊运算,包括余弦运算、正弦运算、正切运算、绝对值、平方根运算、以e为底的指数运算、以10为底的对数运算。

2.2 【总体设计】

2.2.1 系统模块机构框图

简单计算器C语言课程设计报告书

2.2.2 功能模块框图

简单计算器C语言课程设计报告书 

2.2.3 系统流程图

简单计算器C语言课程设计报告书

2.2.4 界面设计

系统主界面

四则运算界面

特殊运算界面

2.3【详细设计】

基于系统需求分析与系统总体设计的结论,本系统采用Visual C++实现各模块的功能。下面按照模块的划分来分别阐述系统的详细设计和实现过程。

2.3.1 模块描述

(1)显示界面模块为系统提供类似于菜单的功能,让用户输入要操作的运算类型的数字代码,并进入相应的功能执行程序,显示相应界面。

(2)数学计算模块中,根据用户选择的运算类型和运算符号,自动调用相应的函数,运行相关程序,进行计算,并显示结果。

(3)退出程序模块。根据用户的需要,选择是否退出程序。

2.3.2 系统头文件

#include      /* I/Q函数 */

#include       /* 数学函数的定义 */

#include      /*屏幕操作函数*/

#include     /*库函数*/

2.3.3 函数声明

(1)主函数main()

功能:计算器功能选择界面

输入:用户输入运算类型、退出程序的相应数字代码(1 四则运算,2 特殊运算,3 退出程序)

处理: 根据用户输入的数字代码,跳转到相关功能函数

输出:显示相应界面或退出程序

程序清单(a)

void main()

{

char h;

int a;

double b;

do

{

printf("          简单计算器          \n");

printf("******************************\n");

printf("      请输入要进行的运算      \n");

printf("------------------------------\n");

printf("         1 四则运算           \n");

printf("         2 特殊运算           \n");

printf("         3 退出程序           \n");

h=getche();

switch(h)             /*判断用户想要进行的操作*/

{

case'1':       /*输入1则调用四则运算函数*/

a=size();                 

printf("结果是: %d",a);

break;

case'2':       /*输入2则调用特殊运算函数*/

b=teshu();

printf("结果是:%f",b);

break;

case'3':               /*输入3则退出程序*/

break;

}

}while(h!='3');

}

(2)自定义函数size()

功能:进行简单的加、减、乘、除四则运算

输入:用户输入要计算的数字和运算符号(+、-、* 、/)

处理:根据用户输入的运算符号,跳转到相关运算函数,并调用

输出:运算结果和是否需要继续运算(y/n)

程序清单(b)

int size()        /*定义四则(size)运算函数*/

{

int n,m;

int c;

char l;

int d;

do

{

printf("\n请输入第一个要计算的数并按Enter结束:");

scanf("%d",&m);

      printf("\n请输入第二个要计算的数并按Enter结束:");

scanf("%d",&n);

printf("\n请选择运算符号[\t+\t-\t*\t/\t]:");

l=getche();            /*得到运算符号*/

switch(l)

{

case'+':                /*加法运算*/

              c=m+n;

              printf("\n\n\t结果是 %d\n",c);

              printf("\n");

              break;

case'-':                /*减法运算*/

              c=m-n;

              printf("\n\n\t结果是 %d\n",c);

              printf("\n");

              break;

           case'*':                /*乘法运算*/

              c=m*n;

              printf("\n\n\t结果是 %d\n",c);

              printf("\n");

              break;

           case'/':                /*除法运算*/

               c=m/n;

               printf("\n\n\t结果是 %d\n",c);

               printf("\n");

               break;

}

for(d=0;d<=999999;d++)

{

printf("\t 是否继续?(y/n):");  /*是否继续运算*/

l=getche();            /*得到输入的值*/

printf("\n");

if(l=='y')      /*如果得到的是y,则重复运算步骤,达到无限运算的作用*/

{

printf("\n请输入下一个要计算的数并按Enter结束:");

scanf("%d",&n);

printf("\n请选择运算符号[\t+\t-\t*\t/\t]:");

l=getche();

switch(l)

{

case'+':               /*加法运算*/

                c=c+n;

                printf("\n\n\t结果是 %d\n",c);

printf("\n");

                 break;

case'-':                /*减法运算*/

                 c=c-n;

                 printf("\n\n\t结果是 %d\n",c);

printf("\n");

                  break;

case'*':                  /*乘法运算*/

                  c=c*n;

                  printf("\n\n\t结果是 %d\n",c);

                  printf("\n");

                  break;

case'/':                 /*除法运算*/

                   c=c/n;

                  printf("\n\n\t结果是 %d\n",c);

                  printf("\n");

                  break;

}

}

else

{

exit(l);        /*如果得到的是n,则退出程序*/

}

}

}while(l!='n');

return(c);                    /*返回值*/

}

(3)自定义函数teshu()

功能:进行一些特殊的运算(余弦运算、正弦运算、正切运算、绝对值、平方根运算、以e为底的指数运算、以10为底的对数运算)

输入:用户输入要计算的数字和特殊运算方式的数字代码(1 余弦,2 正弦,3 正切,4 绝对值,5 平方根,6 以e为底的指数,7 以10为底的对数)

处理:根据用户输入的数字代码,跳转到相关运算函数程序

输出:运算结果和是否需要继续运算(y/n)

程序清单(c)

double teshu()      /*定义(teshu)特殊运算函数*/

{

double y;

int n,m;

char p;

printf("---------请选择特殊运算类型---------");

printf(" 1 余弦  2 正弦  3 正切  4 绝对值 \n");

printf("        5平方根       6 以e为底的指数     7 以10为底的对数    \n");

printf("\n请输入您要计算的数并按Enter结束: ");

scanf("%d",&m);       /*得到要进行运算的数*/

printf("\n请选择您要做的运算类型: ");

n=getche();                /*得到要做的运算*/

     do

{

switch(n)

{

case'1':

y=cos(m);                /*余弦函数*/

printf("\n\n\t结果是: %f\n",y);

printf("\n");

break;

case'2':

y=sin(m);             /*正弦函数*/

             printf("\n\n\t结果是: %f\n",y);

printf("\n");

            break;

case'3':

y=tan(m);               /*正切函数*/

             printf("\n\n\t结果是: %f\n",y);

printf("\n");

break;

case'4':

y=fabs(m);              /*绝对值函数*/

             printf("\n\n\t结果是: %f\n",y);

printf("\n");

break;

case'5':

y=sqrt(m);               /*平方根函数*/

             printf("\n\n\t结果是: %f\n",y);

printf("\n");

break;

case'6':

y=exp(m);            /*底数为e的指数函数*/

             printf("\n\n\t结果是: %f\n",y);

printf("\n");

break;

case'7':

y=log10(m);         /*底数为10的对数函数*/

             printf("\n\n\t结果是: %f\n",y);

printf("\n");

break;

}

printf("\n是否继续?y/n");

p=getche();

if(p=='n')

                    exit(1);

                    return(y);          /*返回值y*/

}while(p=='y');

}

2.4【程序测试】

系统主界面

其他功能截图等……

2.5【设计总结】

本报告对简单计算器系统的分析、设计、实现的完整过程进行了介绍。

相关推荐