Har en uppgift som låter som följande:
"Gör ett program som låter dig mata in tre flyttal och som beräknar summan och medelvärdet av dessa tre tal. Dessa ska presenteras i decimalform med två decimalers noggrannhet.
Så här ser min kod ut:
//Variabler och inmatning
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int tal1, tal2, tal3, a, b;
double tal = 'a';
cout << "Mata in ett decimaltal: ";
cin >> tal1;
cout << "Mata in ett till: ";
cin >> tal2;
cout << "Mata in ett tredje: ";
cin >> tal3;
a = tal1+tal2+tal3;
cout << "Summa = " << setprecision(3) << a << endl;
b = a/3;
cout << "Medelvärde = " << b << endl;
return 0;
}
När jag kör programmet och ska skriva in en siffra med decimaler funkar det inte. Det funkar utan decimaler dock.
Vad är fel? ![[sad]](/img/smilies/sad.gif)
int står för integer, heltal. Fel alltså.
Vad ska jag skriva istället för int då?
Har ni inte gått igenom det innan uppgiften eller fått nån litteratur? ![[surprised]](/img/smilies/surprised.gif)
i java är det double iallafall. ![[smile]](/img/smilies/smile.gif)
Jag fixade det, skulle vara double istället för int.
Tack 🙂
Funkar även med float. ![]()
Robbin:
Jag fixade det, skulle vara double istället för int.
Tack 🙂
Jag skulle rekommendera float istället för double i det här fallet, för två decimalers noggrannhet är double väldigt överdrivet.
Redrum:
Funkar även med float.
Holger Meins:
Jag skulle rekommendera float istället för double i det här fallet, för två decimalers noggrannhet är double väldigt överdrivet.
Okej, tack för info 🙂
Verkligen uppskattat!
Tråden låst på grund av inaktivitet