| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1065 人关注过本帖
标题:怎么消除这条警告?conversion from 'int ' to 'float
取消只看楼主 加入收藏
安宁1991
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:76
专家分:123
注 册:2014-4-3
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
怎么消除这条警告?conversion from 'int ' to 'float
程序如下,执行求余运算没有问题。但总是提示int型转换float型可能会丢失数据。怎么解决?求教
程序代码:
#include<stdio.h>
int main()
{
    float a,b,num;//定义三个浮点型变量
    char c,y;//定义一个字符变量
    printf("\t\t\t简单计算器\n");
dz:printf("请输入表达式:(可以执行+-*/%%运算)\n");
   scanf("%f%c%f",&a,&c,&b);
    if(c=='+')
    {
        num=a+b;
    }
    else if(c=='-')
    {
        num=a-b;
    }
    else if(c=='*')
    {
        num=a*b;
    }
    else if(c=='/')
    {
        num=a/b;
    }
    else if(c=='%')
        {
            num=(int)a%(int)b;
        }
    printf("%.2f%c%.2f =%.2f\n\n",a,c,b,num);
    printf("是否继续?继续请按y,退出请按n:\n");
    getchar();
    scanf("%c",&y);
    if(y=='y'||y=='Y')
    {
        goto dz;
    }
    return 0;
}

    
搜索更多相关主题的帖子: conversion 
2014-04-04 14:56
安宁1991
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:76
专家分:123
注 册:2014-4-3
收藏
得分:0 
本想用switch语句来执行的,if语句实在不好看

因为有你,所以做什么都有动力。z,爱你。
2014-04-04 14:58
安宁1991
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:76
专家分:123
注 册:2014-4-3
收藏
得分:0 
用了switch语句,好看多了。。可是警告无法消除,求指教啊。
程序代码:
#include<stdio.h>
int main()
{
    float a,b,num;//定义三个浮点型变量
    char c,y;//定义一个字符变量
    printf("\t\t\t简单计算器\n");
dz:printf("请输入表达式:(可以执行+-*/%%运算)\n");
   scanf("%f%c%f",&a,&c,&b);
    switch(c)
    {
    case '+':num=a+b;
    break;

    case '-':num=a-b;
    break;

    case '*':num=a*b;
    break;

    case '/':num=a/b;
    break;

    case '%':num=(int)a%(int)b;
    break;

    default:num=0;
    }
    printf("%.2f%c%.2f =%.2f\n\n",a,c,b,num);
    printf("是否继续?继续请按y,退出请按n:\n");
    getchar();
    scanf("%c",&y);
    if(y=='y'||y=='Y')
    {
        goto dz;
    }
    return 0;
}

    

因为有你,所以做什么都有动力。z,爱你。
2014-04-04 15:09
安宁1991
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:76
专家分:123
注 册:2014-4-3
收藏
得分:0 
回复 4楼 shmilyflf
如何解决啊?难道求余这段必须舍弃吗?

因为有你,所以做什么都有动力。z,爱你。
2014-04-04 15:17
安宁1991
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:76
专家分:123
注 册:2014-4-3
收藏
得分:0 
重新研究了下,终于不会报警了!有哪位大大可以帮我测试下会不会报警啊?我用的是vc++6.0。
程序代码:
#include<stdio.h>
int qy(int x,int y)
{
    return x%y;
}
int main()
{
    float a,b,num;//定义三个浮点型变量
    char c,y;//定义一个字符变量
    printf("\t\t\t简单计算器\n");
dz:printf("请输入表达式:(可以执行+-*/%%运算)\n");
   scanf("%f%c%f",&a,&c,&b);
    switch(c)
    {
    case '+':num=a+b;
    break;

    case '-':num=a-b;
    break;

    case '*':num=a*b;
    break;

    case '/':num=a/b;
    break;

    case '%':num=qy((int)a,(int)b);
    break;

    default:num=0;
    }
    printf("%.2f%c%.2f =%.2f\n\n",a,c,b,num);
    printf("是否继续?继续请按y,退出请按n:\n");
    getchar();
    scanf("%c",&y);
    if(y=='y'||y=='Y')
    {
        goto dz;
    }
    return 0;
}

   

因为有你,所以做什么都有动力。z,爱你。
2014-04-04 15:39
安宁1991
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:76
专家分:123
注 册:2014-4-3
收藏
得分:0 
回复 10楼 wp231957
char,不是定义一个字符变量吗?

因为有你,所以做什么都有动力。z,爱你。
2014-04-04 15:45
安宁1991
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:76
专家分:123
注 册:2014-4-3
收藏
得分:0 
回复 12楼 wp231957
我怎么好像有种顿悟的感觉..如果不检测用户输入的表达式的运算符,那么怎么进行模运算啊。。我只是想给这个程序加个取余的功能。

因为有你,所以做什么都有动力。z,爱你。
2014-04-04 15:54
快速回复:怎么消除这条警告?conversion from 'int ' to 'float
数据加载中...
 
   



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

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