Błąd przy wyświetlaniu long double.

Błąd przy wyświetlaniu long double.
JK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 55
0

Witam.
Przy tym programie, wynik jaki mi sie wyswietla to 0.000000.
Chciałbym aby był wyświetlany wynik, czy ktoś ma jakiś pomysł co robię nie tak?

Kopiuj
 #include <stdio.h>
#define PI 3.1415926535897932

main(){

 puts("Obliczanie objetosci walca");

 long double promien = 6.6845;
 long double wysokosc = 15.4576;
 long double objetosc;
 
     objetosc = PI * promien * promien * wysokosc;
     
     printf("\nObjetosc walca = %lf",objetosc);
     
 return(0);
}
kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
2

Nie czytasz dokumentacji. %lf to format dla double, %Lf jest dla long double.

Btw, main() musi mieć zadeklarowany zwracany typ.

JK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 55
0

Pomyliłem się, wcześniej było %Lf, przy testowaniu pozmieniałem i źle skopiowałem, ale przy %Lf też wyświetla ten sam wynik.

EDIT.
Teraz wygląda tak i nadal 0.000000

Kopiuj
 
#include <stdio.h>
#define PI 3.1415926535897932

int main(int argc, char *argv[]){

 puts("Obliczanie objetosci walca");

 long double promien = 6.6845;
 long double wysokosc = 15.4576;
 long double objetosc;
 
     objetosc = PI * promien * promien * wysokosc;
     
     printf("\nObjetosc walca = %Lf",objetosc);
     
 return 0;
}
kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
JK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 55
0

Uzywam DEV C++ i u mnie wygląda to tak. Całe oprogramowanie jest aktualne więc gdzie może być błąd?

user image

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
0

Zmień wydrukowany tekst by upewnić się, że na pewno uruchamiasz nową wersję, a nie jakąś starą.
Na 100% uruchamiasz ciągle starą wersję, bu u nas wszytko działa.

  • Rejestracja: dni
  • Ostatnio: dni
3

http://stackoverflow.com/questions/26296058/cant-print-correctly-a-long-double-in-c
Kompiluj z -D__USE_MINGW_ANSI_STDIO
albo dopisz do programu

Kopiuj
#define printf __mingw_printf

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.