Funkcje obsługi we/wy printf i scanf

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 9324 razy

Funkcja printf

Funkcja ta umożliwia wypisywanie danych w oknie programu, do jej użycia wykorzystuje się specjalnie sformatowany do tego celu tekst. Oto przykład użycia tej funkcji:

#include <cstdio> // potrzebne do obsługi funkcji printf #include <conio.h> int main(){ printf("Tutaj wyswietlam pojedyncza linie tekstu\n"); // w tekście użyto \n -co oznacza wstawienie znaku nowej linii int i = 10; printf("Tutaj wyswietlam zmienna typu int %i\n", i); // tekst %i oznacza, że funkcja musi przyjąć jeden argument dodatkowy będący zmienną typu int float f = 10.002f; printf("Tutaj wyswietlam zmienna typu float %f\n", f); // tekst %f oznacza, że funkcja musi przyjąć jeden argument dodatkowy będący zmienną typu float printf("Tutaj wyswietlam zmienna typu float %.2f\n", f); // tekst %.2f oznacza, że funkcja musi przyjąć jeden argument dodatkowy będący zmienną typu float a jego wartość zostanie zaokrąglona do drugiego miejsca po przecinku char c = 'A'; printf("Tutaj wyswietlam zmienna typu char %c\n", c); // tekst %c oznacza, że funkcja musi przyjąć jeden argument dodatkowy będący zmienną typu char char s[] = "jakis tam tekst"; printf("Tutaj wyswietlam zmienna typu char* %s\n", s); // tekst %s oznacza, że funkcja musi przyjąć jeden argument dodatkowy będący zmienną typu char* printf("A tutaj wyświetlam wszystkie zmienne na raz: %i; %f; %.3f; %c; %s", i, f, f, c, s); // a tutaj wszystko na raz wyświetlam printf("Liczba w systemie szesnastkowym:\nZapis pierszy: %x\nZapis drugi: %#x\nLiczba w systemie osemkowym:\nZapis pierwszy: %o\nZapis drugi: %o",i,i,i,i); // tutaj wypisuję zmienną i w systemie szesnastkowym (dwie formy zapisu) i ósemkowym (również dwie formy zapisu) printf("\n\nWcisnij enter, aby zakonczyc program..."); getch(); return 0; }

Funkcja scanf

Wiadomo już jak wczytywać dane za pomoca funkcji printf, teraz trzeba nauczyć się wczytywać dane za pomocą funkcji scanf, która również przyjmuje zmienną liczbę argumentów w zależności od sformatowanego tekstu. Poniżej zamieszczony został przykładowy kod programu wykorzystujący tą funkcję do wczytywania danych z klawiatury:

#include <cstdio> // potrzebne do obsługi funkcji printf i scanf #include <conio.h> int main(){ printf("Wczytywanie liczby calkowitej: "); int i = 0; scanf("%i",&i); // ważne aby zauwarzyć, że tym razem przekazuje się referencje do zmiennej printf("Tutaj wyswietlam zmienna typu int %i\n", i); // tekst %i oznacza, że funkcja musi przyjąć jeden argument dodatkowy będący zmienną typu int printf("Wczytywanie liczby float: "); float f = 0.f; scanf("%f",&f); printf("Tutaj wyswietlam zmienna typu float %f\n", f); // tekst %f oznacza, że funkcja musi przyjąć jeden argument dodatkowy będący zmienną typu float printf("Tutaj wyswietlam zmienna typu float %.2f\n", f); // tekst %.2f oznacza, że funkcja musi przyjąć jeden argument dodatkowy będący zmienną typu float a jego wartość zostanie zaokrąglona do drugiego miejsca po przecinku printf("Wczytywanie znaku char: "); char c = 'A'; scanf("\n%c",&c); // konieczne jest \n bo łapie ostatni enter printf("Tutaj wyswietlam zmienna typu char %c\n", c); // tekst %c oznacza, że funkcja musi przyjąć jeden argument dodatkowy będący zmienną typu char printf("Wczytywanie tekstu: "); char s[255]; scanf("%s",s); printf("Tutaj wyswietlam tekst %s\n", s); // tekst %s oznacza, że funkcja musi przyjąć jeden argument dodatkowy będący zmienną typu char* printf("Wczytywanie wszystkich zmiennych na raz (int float char string): "); scanf("%i %f %c %s",&i,&f,&c,&s); printf("A tutaj wyswietlam wszystkie zmienne na raz: %i; %f; %.3f; %c; %s", i, f, f, c, s); // a tutaj wszystko na raz wyświetlam printf("\n\nWcisnij dowolny przycisk, aby zakonczyc program..."); getch(); return 0; }
Propozycje książek