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?
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?
i java är det double iallafall.
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