30/09/2018, 18:24
C++ đây là lỗi gì vậy mọi người. tại sao 45.5+45.5=90?
Tại sao?
45,5 + 45,5 = 90
hoặc
123,456 / 654,321 = 0,188073
Nó nên là 123,456 / 654,321 = 0,1886780342 (bên phải)
main.cpp
//#include <iostream>
//#include "add.h"
int main()
{
using namespace std;
float x = enterNumber();
float y = enterNumber();
summation(x+y);
cin.get();
return 0;
}
add.cpp
//#include <iostream>
//#include <iomanip>
int enterNumber()
{
using namespace std;
float x;
cout << "Enter any number" << endl;
cin >> x;
cin.get();
return (x);
}
void summation(float x)
{
using namespace std;
cout << "Results returned :" << x << endl;
}
add.h
//#ifndef ADD_H
//#define ADD_H
int enterNumber();
void summation(float x);
//#endif
Bài liên quan
Thuật toán của bạn rối quá.
Lỗi là ở chỗ hàm enterNumber bạn để kiểu giá trị trả về là int thay vì float nên 45,5 -> 45 -> 45,5 + 45,5 = 90 thay vì 91,0.
Công nhận!! Mà mình đọc cái tiêu đề là biết bạn bị lỗi ở chỗ giá trị trả về rồi . Mình đã từng bị một lần mày mò cả buổi mới nhận ra giờ thì có lẽ nhớ hết đời luôn .