Ispis podataka

4. Ispis vrijednosti

Vratimo se sada ispisu podataka i formatima za ispis. Za ispis vrijednosti koristi se funkcija printf(), ali malo drukčijeg oblika.

printf("lista_formata",lista_varijabli);

Primjer 1.

Naredbom  

         printf("%d %d", 3, 2);

na zaslonu će se ispisati brojevi 3 i 2, odvojeni razmakom, a naredbom 

         printf("%d, %d", 3, 2);

te iste vrijednosti, ali odvojene zarezom i razmakom.

Dakle, izgled ispisa na zaslonu uređuje se unutar dvostrukih navodnika, a u listi_varijabli dolazi samo popis varijabli. Unutar navodnika stvara se izgled ispisa na zaslonu, a izvan njih redom se navode sve varijable čije se vrijednosti trebaju ispisati (ili kao u ovom slučaju navode se konkretne vrijednosti). Redoslijed oznaka formata mora odgovarati redoslijedu imena varijabli. Ako je pogrešno zadan format u odnosu prema najavljenom tipu podatka varijable, i ispis će biti pogrešan.

Provjerite i na računalu:

#include <stdio.h>
int main()
{
    printf("%d %d\n", 3, 2);
    printf("%d, %d\n", 3, 2);
    return 0;
}


Primjer 2.

Izvođenjem naredbe 

           printf("Rezultat izraza %d+%d je %d!", 3, 2, 3+2);

na zaslonu će se ispisati: Rezultat izraza 3+2 je 5!

Provjerite i na računalu:

#include <stdio.h>

int main()

{

    printf("\nRezultat izraza %d+%d je %d!",3,2,3+2);

    return 0;

}



Tijekom navođenja formata za ispis podataka, uz pojedine formate mogu biti napisani i cijeli brojevi. Primjerice, format %nd znači da će cijeli broj koji se ispiše zauzeti n mjesta (n je cijeli broj). Ako je vrijednost koja se ispisuje „kraća” od broja zauzetih mjesta, s lijeve strane broja ostat će prazna mjesta, a ako vrijednost zahtijeva više mjesta, format će se zanemariti. Primjerice, naredba

     printf("%5d", 3);  

daje ispis  (kvadratići označuju prazno mjesto na zaslonu).

Naredba

     printf("%5d", 123456);  

daje ispis 123456 (broj 5 u formatu se zanemaruje jer ima više od 5 znamenki).

Provjerite i na računalu:

#include <stdio.h>
int main()
{
    printf("%5d", 3);
    printf("\n");
    printf("%5d", 123456);  
    printf("\n");
    return 0;
}


Standardno tijekom ispisa realnih brojeva format %f ispisuje broj na 6 decimala, no i format za realne brojeve može se oblikovati na sličan način kao format za cijele brojeve. Ako su n i m cijeli brojevi, n > m, format %n.mf znači da će vrijednost realne varijable zauzeti n mjesta. Od tih n mjesta, m se nalazi iza decimalne točke i jedno je rezervirano za decimalnu točku. Preostala mjesta (njih n-m-1) služe za ispis cijelog dijela realnog broja. Primjerice, naredba

     printf("%5.2f", 3.2564789);  

daje ispis (kvadratići označuju prazno mjesto na zaslonu). Ukupno je za ispis broja bilo pet mjesta, a od toga su dva mjesta rezervirana za decimalni dio broja, jedno mjesto za decimalnu točku i za cijeli dio broja ostanu dva mjesta. Zamijetite da će decimalni dio biti zaokružen prema matematičkim pravilima.

Naredba

     printf("%5.2f", 321.9998);  

daje ispis 322.00 (broj 5 u formatu se zanemaruje jer ima ukupno više od pet znamenki, a zbog matematičkih pravila zaokruživanja broj se zaokružuje na 322.00).

 Provjerite i na računalu:

#include <stdio.h>
int main()
{
    printf("%5.2f", 3.2564789);  
    printf("\n");
    printf("%5.2f", 321.9998);    
    printf("\n");
    return 0;
}