| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1198 人关注过本帖
标题:运用 #include<math.h> 进行函数特殊运算,得不出想要的结果,请大家帮我看 ...
只看楼主 加入收藏
传说前传
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-3-30
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
运用 #include<math.h> 进行函数特殊运算,得不出想要的结果,请大家帮我看看

我是菜鸟,想让计算器实现特殊算法,但是输入以下程序后就是出错,得不到想要的结果。请大家帮我看看是怎么回事

运行环境:VC6.0

程序如下:

#include<stdio.h>
#include<Dos.h>
#include<math.h>

/*************************************************************************/
/***************************  继续四则运算  ******************************/
/*************************************************************************/

double jixu(double e,char c,double d)
{
    float jg;
    switch(c)        
    {
        case '+':
        {
            jg=e;
            jg+=d;
            return jg;
            break;
        }
        case '-':
        {
            jg=e;
            jg-=d;
            return jg;
            break;
        }
        case '*':
        {
            jg=e;
            jg*=d;
            return jg;
            break;
        }
        case '/':
        {
            jg=e;
            jg/=d;
            return jg;
            break;
        }
    }
}


/*************************************************************************/
/*****************************    特殊运算   *****************************/
/*************************************************************************/

/*  平方值 double sqr(double x)
    指数值 double exp(double x)
    正弦值 double sin(double x)
    余弦值 double cos(double x)  */

double teshu(int ch,double f)
{
    double jgg;
    switch(ch)
    {
        case 1:break;
        case 2:
        {
            jgg=sqr(ff);
            return jgg;
            break;
        }
        case 3:
        {
            jgg=exp(f);
            return jgg;
            break;
        }
        case 4:
        {
            jgg=sin(f);
            return jgg;
            break;
        }
        case 5:
        {
            jgg=cos(f);
            return jgg;
            break;
        }
    }
}



   
/*************************************************************************/        
/*****************************   主函数   ********************************/
/*************************************************************************/

double main()
{
    double z=100;
    while(1)
    {
        double jg,jgg;
        float b,q;
        char op;
        printf("请继续操作(依次输入“运算符+数字”)\n\n");
        printf("%g",z);
        scanf(" %c%f",&op,&b);
        z=jixu(z,op,b);         
        printf("\n计算结果是:  %g\n\n",z);
        printf("请输入操作符:1.继续2.平方3.指数4.正弦5.余弦\n\n");
        scanf(" %d",&q);
        z=teshu(q,z);
        printf("\n计算结果是:  %g\n\n",z);
        system("pause");
        printf("\n");
        system("cls");
    }
        return 0;
}


搜索更多相关主题的帖子: 计算器 运行环境 
2011-04-11 01:23
王立帅
Rank: 3Rank: 3
来 自:山东淄博
等 级:论坛游侠
帖 子:61
专家分:160
注 册:2011-4-4
收藏
得分:20 
vc6.0 编译出现以下错误及警告
--------------------Configuration: er - Win32 Debug--------------------
Compiling...
er.cpp
e:\c\3_3\1\er.cpp(16) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data              //jg应定义为double型
e:\c\3_3\1\er.cpp(17) : warning C4244: '+=' : conversion from 'double' to 'float', possible loss of data
e:\c\3_3\1\er.cpp(23) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
e:\c\3_3\1\er.cpp(24) : warning C4244: '-=' : conversion from 'double' to 'float', possible loss of data
e:\c\3_3\1\er.cpp(30) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
e:\c\3_3\1\er.cpp(31) : warning C4244: '*=' : conversion from 'double' to 'float', possible loss of data
e:\c\3_3\1\er.cpp(37) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
e:\c\3_3\1\er.cpp(38) : warning C4244: '/=' : conversion from 'double' to 'float', possible loss of data
e:\c\3_3\1\er.cpp(63) : error C2065: 'sqr' : undeclared identifier           //c语言中貌似没有求平方的函数,sqrt为求平方根函数
e:\c\3_3\1\er.cpp(63) : error C2065: 'ff' : undeclared identifier             // 'ff' 应该为 f
e:\c\3_3\1\er.cpp(110) : warning C4244: 'argument' : conversion from 'float' to 'int', possible loss of data  //这个错误我也看了好久 , q应该定义为int型而非float型
e:\c\3_3\1\er.cpp(112) : error C2065: 'system' : undeclared identifier                //缺少头函数#include<cstdlib>
执行 cl.exe 时出错.

er.obj - 1 error(s), 0 warning(s)
改正以上错误后重新编译,会有以下警告:
--------------------Configuration: er - Win32 Debug--------------------
Compiling...
er.cpp
E:\c\3_3\1\er.cpp(101) : warning C4101: 'jg' : unreferenced local variable                               //jg 和jgg在主函数中并没有用到,声明那行应该删掉
E:\c\3_3\1\er.cpp(101) : warning C4101: 'jgg' : unreferenced local variable
E:\c\3_3\1\er.cpp(44) : warning C4715: 'jixu' : not all control paths return a value               
//switch函数并不是每一个分支都有返回值;还少了 default分支,返回值你可以自己定义,例如return 0;不过程序运行后会返回你定义的值;当然也可以不写
E:\c\3_3\1\er.cpp(87) : warning C4715: 'teshu' : not all control paths return a value


一个人走
2011-04-11 09:31
王立帅
Rank: 3Rank: 3
来 自:山东淄博
等 级:论坛游侠
帖 子:61
专家分:160
注 册:2011-4-4
收藏
得分:0 
郁闷 ,好不容易整完,居然断网了,没有提交上去,只好重新再改一遍,希望楼主同学能修改正确

一个人走
2011-04-11 09:31
传说前传
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-3-30
收藏
得分:0 
回复 2楼 王立帅
嘿嘿 谢谢
2011-04-19 15:28
快速回复:运用 #include<math.h> 进行函数特殊运算,得不出想要的结果,请大家帮 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012715 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved