c++. zadania z programowania z przykładowymi rozwiązaniami scan.pdf

(5796 KB) Pobierz
888057730.004.png
Spis treci
Od autora
5
Rozdzia 1.
Proste operacje wejcia-wyjcia
7
Rozdzia 2.
Podejmujemy decyzje w programie
17
Rozdzia 3.
Iteracje
29
Rozdzia 4.
Tablice
57
Tablice jednowymiarowe
57
Tablice dwuwymiarowe
61
Rozdzia 5.
Podprogramy
79
Rozdzia 6.
Programowanie obiektowe
97
Rozdzia 7.
Pliki tekstowe
111
1
Proste operacje
wejcia-wyjcia
W tym rozdziale zamieszczono proste zadania z przykadowymi rozwi-
zaniami ilustrujce, w jaki sposób komputer komunikuje si z uyt-
kownikiem w jzyku C++.
Kada aplikacja powinna posiada moliwo komunikowania si
z uytkownikiem. Wykorzystujc proste przykady, pokaemy, w jaki
sposób program napisany w jzyku C++ komunikuje si z nim poprzez
standardowe operacje wejcia-wyjcia.
Plik nagówkowy z instrukcji
#include <iostream.h>
zawiera definicje klas 1 umoliwiajcych wykonywanie operacji wejcia-
wyjcia na strumieniach. Do wyprowadzania danych na ekran suy
standardowy strumie wyjciowy cout , który w jzyku C++ domylnie
przypisuje ekran do standardowego urzdzenia wyjciowego systemu
operacyjnego. Aby wywietli komunikat lub dane, trzeba do strumie-
nia wyjciowego cout zastosowa symbol podwójnego znaku mniejszo-
ci << (operacja wstawiania). Dwa znaki mniejszoci naley wprowadzi
z klawiatury.
1 Wicej informacji na temat klas czytelnik znajdzie w rozdziale 6.
8
C++. Zadania z programowania z przykadowymi rozwizaniami
Do wprowadzania danych do programu suy standardowy strumie
wejciowy cin oraz operator >> (dwa znaki wikszoci, które równie
wprowadzamy z klawiatury), np. cin >> a; .
Do formatowania strumienia wyjciowego bdziemy uywali flagi for-
matujcej fixed i manipulatora setprecision(n) . Flaga fixed uywa do
liczb zmiennoprzecinkowych ustalonej kropki dziesitnej, natomiast
manipulator setprecision( n ) ustala ich precyzj na n — np. zapis cout
<< setprecision(2); oznacza, e liczby zmiennoprzecinkowe bd wy-
wietlane z dokadnoci dwóch miejsc po kropce.
Zastosowanie manipulatora setprecision( n ) wymaga wczenia do pro-
gramu pliku nagówkowego:
#include <iomanip.h>
Opisane powyej podejcie do operacji wejcia-wyjcia nazywa si
obiektowym 2 .
ZADANIE
1.1
Napisz program, który oblicza pole prostokta. Wartoci boków
a i b wprowadzamy z klawiatury. W programie naley przyj,
e zmienne a i b oraz pole s typu float (rzeczywistego). Przyj-
mujemy format wywietlania ich na ekranie z dokadnoci
dwóch miejsc po kropce.
Przykadowe rozwizanie — listing 1.1
#include <iostream.h> // Zadanie 1.1
#include <iomanip.h>
#include <conio.h>
main()
{
float a, b, pole;
cout << "Program oblicza pole prostokata." << endl;
cout << "Podaj bok a." << endl;
cin >> a;
cout << "Podaj bok b." << endl;
cin >> b;
pole = a*b;
2 Wicej informacji na temat obiektowych operacji wejcia-wyjcia, flag
i manipulatorów znajdzie czytelnik na stronach WWW powiconych
jzykowi programowania C++ pod adresem http://www.cplusplus.com/ .
888057730.005.png 888057730.006.png 888057730.007.png 888057730.001.png 888057730.002.png
 
9
Rozdzia 1. • Proste operacje wejcia-wyjcia
cout << fixed; // flaga
cout << setprecision(2); // ustalenie precyzji
cout << "Pole prostokata o boku a = " << a << " i boku b = " << b;
cout << " wynosi " << pole << "." << endl;
getch(); // czeka na nacisniecie dowolnego klawisza
}
Linijka kodu
float a, b, pole;
umoliwia zadeklarowanie zmiennych a , b i pole (wszystkie zmienne
w programie s typu rzeczywistego float ). Instrukcja
cout << "Program oblicza pole prostokata." << endl;
wywietla na ekranie komputera komunikat Program oblicza pole
prostokata . Instrukcja cin >> a; czeka na wprowadzenie z klawiatury
komputera liczby, która nastpnie zostanie przypisana zmiennej a .
Pole prostokta zostaje obliczone w wyraeniu
pole = a*b;
Za wywietlenie wartoci zmiennych a i b oraz pole wraz z odpo-
wiednim opisem s odpowiedzialne nastpujce linijki kodu:
cout << "Pole prostokata o boku a = " << a << " i boku b = " << b;
cout << " wynosi " << pole << "." << endl;
Flaga fixed uywa ustalonej kropki dziesitnej dla liczb zmienno-
przecinkowych. Zapis
cout << setprecision(2);
oznacza, e liczby te bd wywietlane na ekranie z dokadnoci
dwóch miejsc po kropce. Natomiast funkcja
getch();
(ang. get character — wczytaj znak) czeka na wczytanie dowolnego
znaku z klawiatury (nacinicie dowolnego klawisza). Prototyp tej
funkcji znajduje si w pliku nagówkowym conio.h . Instrukcja
endl;
(ang. end of line — koniec linii) przenosi kursor na pocztek nastp-
nej linii.
Komentarze w programie oznaczamy dwoma ukonikami
// to jest komentarz do programu
888057730.003.png
 
Zgłoś jeśli naruszono regulamin