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

C++ Ksiażka S.Pratha - proste zadanie

Object Storage Arubacloud
0 głosów
208 wizyt
pytanie zadane 21 czerwca 2018 w C i C++ przez qlucha Obywatel (1,790 p.)

Witam, czytając książkę znalazłem proste zadanie do wykonania ale coś mi się nie zgadza oto temat :

Dwie zmienne typu double x1, x2. Przeprowadz dodawanie tych dwóch zmiennych a pózniej wynik skonwertuj na int.

kod z książki mówi żeby użyć instrukcji      int x ;  x = int (x1 +x2);  Problem w tym ,że to rozwiązanie nie działa zmieszczam prosty kod pod dołem:

#include <iostream> // dyrektywa PREPROCESORA

int main(void)
{
    using std::cout;
    using std::endl;

    double x1 = 19.99, x2 = 11.01;
    int x;

    x = 19.99 + 11.01;
    cout << x << endl;

    //Wedlug ksiazki wynik powinnien byc 31 a jest 30
    x = int(x1 + x2);
    cout << x << endl;

    x = int(x1) + int(x2);
    cout << x << endl;

    std::cin.get();
    std::cin.get();

    return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 21 czerwca 2018 przez k222 Nałogowiec (30,150 p.)
Wg mnie ty masz ok, bo w przypadku int(x1 + x2) najpierw liczby są dodawane jako double i wychodzi 19,99+11,01 = 31, a potem wynik jest konwertowany na int, w drugim przypadku int(x1) + int(x2) najpierw każda z liczb jest konwertowana oddzielnie a dopiero potem są dodawane przez co mamy 19 + 11 = 30. Widocznie w książce musi być błąd w tym miejscu.
komentarz 21 czerwca 2018 przez qlucha Obywatel (1,790 p.)
no własnie w tym przypadku  int(x1 + x2)  wychodzi mi 30  a nie 31.   

Według książki powinno być 31  a  po kompilacji pokazuje wynik 30

Przyjrzyj się jeszcze raz jak możesz bo chyba przeoczyłeś o co konkretnie mi chodzi dzieki.
komentarz 21 czerwca 2018 przez k222 Nałogowiec (30,150 p.)

1. ok, przeoczyłem, sory, jest późno laugh

2. po uruchomieniu w losowym kompilatorze online wynik wychodzi dobry

 

komentarz 21 czerwca 2018 przez k222 Nałogowiec (30,150 p.)
Słabo widać, ale wypisuje

31
31
30

więc wypisuje ok
komentarz 22 czerwca 2018 przez qlucha Obywatel (1,790 p.)
Rzeczywiście,   na online kompilatorze wypisuje dobrze a u mnie po skompilowaniu pokazuje wynik

31

30

30

dzieki za odpowiedz. I zgłupiałem kompletnie ten sam kod dwa różne wyniki. Będę musiał przemyśleć co  jest nie tak.

Podobne pytania

0 głosów
4 odpowiedzi 356 wizyt
pytanie zadane 12 grudnia 2016 w Rozwój zawodowy, nauka, praca przez Radsler Nowicjusz (150 p.)
–1 głos
5 odpowiedzi 713 wizyt
0 głosów
0 odpowiedzi 15,042 wizyt
pytanie zadane 8 lutego 2018 w Matematyka, fizyka, logika przez PirchHD Obywatel (1,730 p.)

92,568 zapytań

141,424 odpowiedzi

319,630 komentarzy

61,956 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!

...