Funkcje obsługi we/wy printf i scanf

Stronę tą wyświetlono już: 232 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:

Listing 1
  1. #include <cstdio> // potrzebne do obsługi funkcji printf
  2. #include <conio.h>
  3. int main(){
  4. printf("Tutaj wyswietlam pojedyncza linie tekstu\n"); // w tekście użyto \n -co oznacza wstawienie znaku nowej linii
  5. int i = 10;
  6. 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
  7. float f = 10.002f;
  8. 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
  9. 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
  10. char c = 'A';
  11. 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
  12. char s[] = "jakis tam tekst";
  13. 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*
  14. 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
  15. 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)
  16. printf("\n\nWcisnij enter, aby zakonczyc program...");
  17. getch();
  18. return 0;
  19. }

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:

Listing 2
  1. #include <cstdio> // potrzebne do obsługi funkcji printf i scanf
  2. #include <conio.h>
  3. int main(){
  4. printf("Wczytywanie liczby calkowitej: ");
  5. int i = 0;
  6. scanf("%i",&i); // ważne aby zauwarzyć, że tym razem przekazuje się referencje do zmiennej
  7. 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
  8. printf("Wczytywanie liczby float: ");
  9. float f = 0.f;
  10. scanf("%f",&f);
  11. 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
  12. 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
  13. printf("Wczytywanie znaku char: ");
  14. char c = 'A';
  15. scanf("\n%c",&c); // konieczne jest \n bo łapie ostatni enter
  16. 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
  17. printf("Wczytywanie tekstu: ");
  18. char s[255];
  19. scanf("%s",s);
  20. printf("Tutaj wyswietlam tekst %s\n", s); // tekst %s oznacza, że funkcja musi przyjąć jeden argument dodatkowy będący zmienną typu char*
  21. printf("Wczytywanie wszystkich zmiennych na raz (int float char string): ");
  22. scanf("%i %f %c %s",&i,&f,&c,&s);
  23. 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
  24. printf("\n\nWcisnij dowolny przycisk, aby zakonczyc program...");
  25. getch();
  26. return 0;
  27. }

Komentarze