• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Kurs YouTube odc. 5: Tablice... Problem z ocenami z przecinkiem.

Object Storage Arubacloud
+1 głos
299 wizyt
pytanie zadane 18 maja 2021 w C i C++ przez Bembi Nowicjusz (160 p.)

Dzień dobry

Właśnie napotkałem pewien problem, którego rozwiązania nie mogę nigdzie znaleźć. 

Oglądam odcinek piąty kursu C++ na Youtube o tablicach itd. 

Pan Zelent robiąc kalkulator obliczający średnią arytmetyczną z pięciu ocen wpisuje jedynie liczny całkowite.

Na początku filmu jest mowa o ocenach niepełnych takich jak np. 3+ co oznacza 3,5 lub 4- czyli 3.75.

Jednak po wpisaniu takich wartości w nasz kalkulator pętla jakby się zrywa, konsola wyświetla wszystko na raz zamiast zapytać o kolejną liczbę. Wpisując oceny np. 3, 5, 5, 4, 2 - Wszystko działa. Jednak po wpisaniu np. 3,75 - Program dostaje świra. 

Czemu tak się dzieje? Jak sprawić aby program przeliczał liczby po przecinku?

 

Oto kod:

#include <iostream>
 
using namespace std;
 
float oceny[5]; float suma=0, srednia;
 
int main()
{
    for(int i=0; i<5; i++)
    {
        cout<<endl<<"Podaj "<<i+1<<" ocene: ";
        cin>>oceny[i];
        suma += oceny[i];
    }
 
    srednia = suma / 5;
    cout<<endl<<"srednia = "<<srednia;
 
    return 0;
}

 

2
komentarz 18 maja 2021 przez Oscar Nałogowiec (29,290 p.)
Wpisz kropkę zamiast przecinka.
komentarz 18 maja 2021 przez Bembi Nowicjusz (160 p.)
Takie proste...

Dziękuję :)

1 odpowiedź

+1 głos
odpowiedź 18 maja 2021 przez urbix01 Gaduła (3,290 p.)
wybrane 19 maja 2021 przez Bembi
 
Najlepsza
Liczy typu float, double to tak zwane typy zmiennoprzecinkowe pojedynczej lub podwójnej precyzji nazwa jednak jest myląca. W stanach w odróżnieniu od Polski ułamki dziesiętne zapisuje się po kropce a nie przecinku, tak samo jest w programowaniu
1
komentarz 18 maja 2021 przez NewEraOfPeace Gaduła (4,790 p.)

Właściwie to tak, ale nie... ale tak. 
Single precision i double precision to terminy ze standardu IEEE 754. Standard C++ nie forsuje w jaki sposób liczby mają być przechowywane, kodowane, cokolwiek. Jedyne co mówi, to że

There are three floating-point types: float, double, and long double.

 

The type double provides at least as much precision as float, and the type long double provides at least as much precision as double.

 

The set of values of the type float is a subset of the set of values of the type double; the set of values of the type double is a subset of the set of values of the type long double.

 

The value representation of floating-point types is implementation-defined.

Jednak tak, zazwyczaj będzie to single i double precision, które według nowszego standardu, czyli IEEE 754-2008 powinno się nazywać binary32 i binary64 

Podobne pytania

+1 głos
2 odpowiedzi 651 wizyt
pytanie zadane 27 lutego 2021 w JavaScript przez Darth Vader Początkujący (270 p.)
+1 głos
3 odpowiedzi 237 wizyt
pytanie zadane 19 grudnia 2016 w C i C++ przez Michał Biernacki Użytkownik (670 p.)
0 głosów
2 odpowiedzi 398 wizyt
pytanie zadane 12 listopada 2016 w C i C++ przez jeżuś Nowicjusz (200 p.)

92,548 zapytań

141,390 odpowiedzi

319,509 komentarzy

61,932 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...