Kurs maturalny z języka angielskiego!
kurs-maturalny-jezyk-angielski

PROGRAMOWANIE I ALGORYTMY

Zajęcia maturalne z informatyki
Olimpiada Informatyczna Juniorów
    Prowadzący: Marcin Kasprowicz
  • właściciel serwisu algorytm.edu.pl
  • wrzesień 2024 — start zajęć
  • czytaj więcej

Wprowadzanie i wyprowadzanie danych


powrót

Wypisywanie danych na ekranie monitora (standardowe wyjście)

Do wyświetlania danych na ekran służy obiekt zdefiniowany w bibliotece "iostream" cout (out jak wyjście, np. na ekran monitora). Jego konstrukcja jest następująca:

std::cout << "Jakiś ciąg znaków :)";

Jeśli do programu dołączymy linijkę

using namespace std;

która jest omówiona tutaj, zapis możemy skrócić do postaci:

cout << "Jakiś ciąg znaków :)";

Jak łatwo zauważyć, powyższa konstrukcja pozwala wyświetlać napis na ekranie monitora, który jest umieszczony w cudzysłowie. Dodatkowym elementem jest operator wyjścia <<, który pokazuje kierunek przekierowania strumienia znaków. Jest to przeciążony operator przesunięcia bitowego.

Przy wyświetlaniu zmiennych lub wartości działań, zapisujemy je bez użycia cudzysłowu, np.:

cout << b*34 - 45 + a;

Możemy łączyć wyświetlanie ciągów znaków z wartościami zmiennych (lub samymi wyrażeniami) oddzielając każde z nich operatorem << np.:

cout <<"Wartość wyrażenia "<<23*7655<<" jest większa niż "<<22*7654 ;

Na ekranie monitora pojawi się komunikat:

"Wartość wyrażenia 176065 jest większa niż 168388"

 

Prześledźmy przykład wyznaczania sumy dwóch liczb:

#include <iostream>
using namespace std;

int main()
{
	int a = 67, b = 56;
		
	cout <<"Suma liczb "<< a <<" i "<< b <<" wynosi "<< a+b << endl;
		
	return 0;
}

 

Wstawianie znaku końca linii (enter) i innych znaków specjalnych

Do wstawienia znaku końca linii (znak enter), możemy wykorzystać dwie metody.

Pierwsza to wpisanie wewnątrz tekstu kombinacji: \n, natomiast druga polega na dopisaniu instrukcji endl (end line), którą wstawiając, oddzielamy separatorem strumienia wyjścia. Prześledźmy przykład:

#include<iostream>
using namespace std;

int main()
{
	//wstawienie trzech znaków enter
	cout<<"Ala ma kota\n\na kot ma Ale :)\n"; 
	
	//tak samo jak wyżej
	cout<<"Ala ma kota"<<endl<<endl<<"a kot ma Ale :)"<<endl; 
	
	return 0;
}

 

W pierwszym i drugim przypadku zostanie wstawiony tekst "Ala ma kota", następnie dwa znaki enter, tekst "a kot ma Ale :)" i znak enter.

Innym znakiem specjalnym jest znak tabulacji, który możemy wstawić za pomocą kombinacji \t, lub sygnał z głośniczka dźwiękowego \a.

Do wstawiania znaków poprzez podanie kodów ASCII, możemy posłużyć się następującą kombinacją: \nr, gdzie nr to kod ASCII danego znaku zapisany w systemie ósemkowym.

Prześledźmy przykład:

#include<iostream>
using namespace std;

int main()
{
	//wyświetlenie dziwnego znaczka
	cout<<"To jest dziwny znaczek: \211"<<endl;
	
	//wstawienie dwóch tabulatorów i 
	//dwóch sygnałów z głośniczka systemowego
	cout<<"\t\t\a\a"<<endl; 						
	
	return 0;
}

 

Pobieranie danych z klawiatury (standardowe wejście)

Do pobierania danych z klawiatury służy obiekt cin (in jak wejście), który jest zdefiniowany w bibliotece "iostream" ("iostream.h").

Podobnie jak w przypadku obiektu cout mamy do dyspozycji dwie możliwości:

std::cin>>nazwa_zmiennej;

lub po dodaniu linijki

using namespace std;

mamy postać:

cin>>nazwa_zmiennej;

Zauważmy, że w tym przypadku stawiamy znaki przekierowania strumienia w odwrotną stronę ">>". Inaczej mówiąc, "strzałeczki" pokazują, że wczytane dane będą przypisane do zmiennych.

Jeśli chcemy podać wartości kilku zmiennych, można to zrobić, oddzielając zmienne znakiem wejścia strumienia np.:

cin>>pierwsza_zmienna>>druga_zmienna>>trzecia_zmienna;

Prześledźmy przykład.

Napisz program, który po wczytaniu dwóch liczb całkowitych obliczy ich iloczyn.

#include<iostream>

using namespace std;

int main()
{   
    int a, b;
    cout<<"Podaj dwie liczby: ";
    cin>>a>>b;
    
    cout<<"Iloczyn liczby "<<a<<" i "<<b<<" wynosi: "<<a*b<<endl;

    return 0;
}