Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


scanf()

Funkcia scanf() je  slúži na načítanie formátovaného textu zo štandardného vstupu používateľa (klávesnica → konzola).  Je to veľmi užitočná funkcia, ale aby sme predišli častým chybám je potrebné mať niektoré veci na pamäti niektoré veci.

Ako ju teda použiť ?

scanf(%<údajový _typ>, &<názov_premennej>)

V našom prípade napr.

scanf(%f , &EUR);


Za znak % sa dávajú rôzne znaky (d, f, c, s ....) Tým sa definuje aký údajový typ sa zo štandardného vstupu očakáva. 

%d – Celé číslo (int)

%f – Reálne číslo (float)

%c – Znak (char)

%s – Reťazec znakov

%iné – samoštúdium ...



Code Block
languagecpp
#include <stdio.h>

int main()
{
    float EUR=0;
	// do premennej EUR, ktorá je údajového typu float sa načíta hodnota zadaná z príkazového riadka
    scanf("%f",&EUR);
    return 0;
}


Note

POZOR častá chyba! - nezabudnite na znak &. O jeho význame v jazyku C budeme hovoriť neskôr. Zatiaľ Vám stačí vedieť, že ak načítavame jeden znak alebo jedno číslo, je potrebné dávať pred názov premennej &.

Funkcia scanf() pracuje s "miestom" v pamäti teda adresou premennej a nie s jej hodnotou!  



printf()

Funkcia printf() slúži na vypísanie formátovaného textu na štandardný výstupu používateľa (konzola → monitor). 

Ako ju teda použiť ?

printf(Ľubovoľný text %<údajový _typ> iný text ... , <názov_premennej>);

V našom prípade napr.

printf(\n\t Hodnota %.2f EUR je %.2f SKK\n"EURSKK);


Pokiaľ chceme výstup formátovať je potrebné poznať riadiace znaky, ktoré uvádzame za spätné lomítko “\”.

\n – Nový riadok

\t – Tabulátor

Pokiaľ chceme aby vypísané číslo malo definovanú minimálnu šírku (teda zabrazí definovaný počet znakov) stačí za znak % dať číslo definujúce počet miest napr.

%4d

Pri reálnom čísle môžeme tiež zadať počet zobrazovaných desatinných miest.

%.2f



Code Block
languagecpp
#include <stdio.h>

int main()
{
	float EUR=10;
	float SKK=301,26;

	printf("\n\tHodnota %.2f EUR je %.2f SKK\n",EUR,SKK);

	return 0;
}