Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

instrukcja printf - analiza kodu

Ostatnio zmodyfikowano 2014-10-24 12:01
Autor Wiadomość
tomeklfc
Temat założony przez niniejszego użytkownika
instrukcja printf - analiza kodu
» 2014-10-24 10:15:47
witajcie!
Coś tutaj jest do poprawy w moim kodzie ale nie za bardzo wiem, co.
Wyświetla same zera..

Polecenie:
//Napisz łańcuch formatujący dla instrukcji printf wyświetlający na ekranie zmienną rzeczywistą typu double:
//- z dokładnością do trzeciego miejsca po przecinku, 
 
C/C++
#include <stdio.h>
#include <iostream>
#include <cstdio>
using namespace std;




main( void )
{
    double i;
    cout << "Prosze podac liczbe rzeczywista: ";
    cin >> i;
   
   
    printf( "%10.3f", 'i' );
    getchar();
   
   
}

Z góry dzięki za podpowiedzi.
P-119288
Monika90
» 2014-10-24 11:34:25
Nazwę zmiennej dałeś w apostrofach, przez to kompilator nie traktuje i jako zmiennej, tylko jako znak 'i'.

A najlepiej zmień źródło z którego korzystasz przy nauce. Kurs który uczy
C/C++
main( void )
{
}
zamiast poprawnego
C/C++
int main()
{
}
nadaje się tylko do kosza.
P-119291
Mateus.
» 2014-10-24 11:47:03
A ja przy okazji mam pytanie. Dlaczego takie coś działa:
C/C++
main()
{
}
Wydaje mnie się, że ta funkcja zwraca wartość typu int systemowi, ale co zwraca jeśli nic formalnie nie zwracamy? (Domyślam się, że 0, ale to tylko przypuszczenie). I dlaczego w ogóle taki zapis bez
int
 jest poprawny(ja przypuszczam, że dla tej szczególnej funkcji tak jest), ale czy może zależy to od kompilatora?

P-119292
Monika90
» 2014-10-24 12:01:09
main { }
 nigdy nie było dozwolone w standardowym C++. Było dozwolone w standardowym C, ale od 15 lat już nie jest. To znaczy: w starych wersjach języka C, gdy nie podałeś typu funkcji lub zmiennej, to kompilator zakładał że to typ int. Niektóre kompilatory C i C++ wciąż na to pozwalają by zapewnić zgodność z kodem z poprzedniej epoki.

Za to to
int main { }
 jest w porządku, pomimo że brakuje instrukcji return. Jest to równoważne
int main { return 0; }
. Funkcja main jest tutaj traktowana specjalnie, w innych funkcjach kompilator nie dopisuje return 0; gdy Ty tego nie zrobisz.
P-119293
« 1 »
  Strona 1 z 1