CONVERT 질문드립니다

  • say1116
    say1116

    ###CONVERT 예제 입출력문에서 0을 입력했을때 출력이
    ###0.000 이런식으로 나오게 어떻게 해야할까요?
    ###그것때문에 오답이뜬다고 생각이 듭니다
    ###아니면 제 코드에 다른 오류가 있는건가요?

    #include<iostream>
    #include<string>
    #include <iomanip>
    
    using namespace std;
    
    int main()
    {
        int t;
    
        cin>>t;
    
        for(int i=0; i<t; i++)
        {
            float number;
            string measurement;
            float sum;
    
            cin>>number;
            cin>>measurement;
    
            if(measurement == "kg")
            {
                sum = 2.2046 * number;
    
                cout<<i+1<<" "<<setprecision(6)<<sum<<" lb\n";
            }
            else if(measurement == "l")
            {
    
                sum = 0.2642 * number;
    
                cout<<i+1<<" "<<setprecision(6)<<sum<<" g\n";
            }
            else if(measurement == "lb")
            {
    
                sum = 0.4536 * number;
    
                cout<<i+1<<" "<<setprecision(6)<<sum<<" kg\n";
            }
            else if(measurement  == "g")
            {
    
                sum = 3.7854 * number;
    
                cout<<i+1<<" "<<setprecision(6)<<sum<<" l\n";
            }
        }
    
        return 0;
    }
    

    8년 전
2개의 댓글이 있습니다.
  • Being
    Being

    float를 double로 바꿔서 한번 시도해보세요.


    8년 전 link
  • say1116
    say1116

    감사합니다! 하지만 그렇게 해도 되지않아서 C언어로 바꾸어서 했습니다.
    문제는 0.0000이 0으로 출력되어 틀렸던것이였습니다.


    8년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.