• Nie Znaleziono Wyników

1. Struktura programu c++

N/A
N/A
Protected

Academic year: 2021

Share "1. Struktura programu c++"

Copied!
6
0
0

Pełen tekst

(1)

1

1. Struktura programu c++

Ogólna struktura programu w C++ składa się z kilku części:

część 1 #include <cstdlib>

#include <iostream>

część 2 using namespace std;

część 3 int main(int argc, char *argv[]) część 4

{

/* instrukcje funkcji main */

return 0;

}

Część 1 - biblioteki

Ta część programu opisuje biblioteki jakie mają być dołączone do programu. Biblioteki to pliki, których zawartość jest dołączana do programu za pomocą dyrektywy preprocesora #include. Biblioteka to plik o nazwie podanej w nawiasie "< nazwa biblioteki >", który posiada między innymi definicje przydatnych funkcji.

Biblioteka cstdlib zawiera funkcje ogólne takie jak konwersje, alokacja pamięci czy funkcje matematyczne.

Biblioteka iostream(input/output stream) jest standardową biblioteką wejścia/wyjścia w C++.

Jeśli chcemy coś wyświetlać na ekranie (za pomocą obiektucout i przeciążonego operatora"<<"), lub pobierać dane z klawiatury (za pomocą obiektucini przeciążonego operatora ">>") musimy ją dodać do nagłówka programu, np. math.h - > cmath

Część 2 - przestrzenie nazw

Dyrektywę using namespace musimy użyć w przypadku, gdy zamiast pliku iostream.h, będziemy używać iostream, w celu udostępnienia definicji zawartej w tym pliku.

Podczas pracy nad dużymi projektami, w których używa się wielu bibliotek z licznymi deklaracjami, można natknąć się na problem konfliktu nazw - gdy kilka obiektów, typów czy funkcji ma tę samą nazwę. Rozwiązaniem może być np. zamknięcie nazw w "zakresach", w celu oddzielenia ich

Wyobraźmy sobie, że mamy dwa pakiety, w których zdefiniowana jest funkcja o nazwie wspaniala(). Pierwszy pakiet jest od producenta JANEK, a drugi od MARCIN. Jeśli chcemy używać funkcji wspaniala() od MARCIN, bo uważamy, że jest lepsza, udostępniamy definicję przestrzeni nazw MARCIN:

using namespace MARCIN,

i nie musimy za każdym wywołaniem funkcji wspaniala(), pisać MARCIN::wspaniala().

Część 3 – funkcja main

Funkcja main() jest charakterystyczną funkcją w C++, która musi występować w każdym konsolowym programie. Wszystko co zaczyna się dziać w danej aplikacji, jest określana w ciele właśnie tej funkcji.

Oczywiście wszystkie inne funkcje mogą być wywoływane z wnętrza tej funkcji.

Funkcja main() ma kilka postaci:

(2)

2

int main() lub int main(void) lub main() - postacie równoważne, oznaczające, że w ciele funkcji pojawia się informacja zwrotna (return 0 lub return EXIT_SUCCESS), która zwraca do systemu operacyjnego informacje o zakończeniu działania danej aplikacji

void main() - nie posiada informacji zwrotnej o zakończeniu działania programu, niezalecane, a w niektórych systemach niedopuszczalne

int main(int argc, char *argv[]) - funkcja z argumentami. Argument int argc, mówi ile tych danych jest, natomiast char *argv[] przechowuje te dane.

Część 4 – „życie programu”

W tej części programu zaczyna się życie naszej aplikacji. Wszystko to co tu napiszemy, będzie rzutowało na sposób zachowania się naszego programu.

(3)

3

2. Podstawowe typy danych

W języku C++ mamy 5 podstawowych typów danych:

int – liczby całkowite

float – liczby rzeczywiste pojedynczej precyzji

double – liczby rzeczywiste podwójnej precyzji

char – typ znakowy

string – ciąg znaków Deklaracja zmiennej: int a;

Definicja zmiennej: a=4;

lub po prostu: int a=4;

3. Operatory:

Arytmetyczne  Relacje  Logiczne

+ dodawanie a==b a jest równe b || Suma

- odejmowanie a<b a jest mniejsze od b && Iloczyn / dzielenie a<=b a jest mniejsze bądź równe b ! Negacja

* mnożenie a>b a jest większe od b

% reszta z dzielenia (dzielenie modulo) a>=b a jest większe bądź równe b

= przypisanie a!=b a jest różne od b

 Złożone

+= -= *= /= %=

np. a += 4; //działanie to oznacza, że do aktualnej wartości zmiennej "a" dodajemy 4, czyli nowa wartość tej zmiennej wynosi 7

 Inkrementacji i dekrementacji:

++a, a++, --a, a—

np. int a, b;

a = 1;

b = a ++; // w tym przypadku najpierw zostanie przypisana wartość do zmiennej "b", // a następnie zwiększona wartość zmiennej "a" o 1, czyli od tej chwili // " a = 2 " natomiast " b =1 "

4. Instrukcje

Instrukcja if  Instrukcja if ... else  Pętla for

if(a>0) {

instrukcja do wykonania;

}

if(a>0) {

instrukcja1;

} else {

intrukcja 2;

}

for(i=1;i<=100;i++) {

intrukcje;

}

(4)

4

Pętla while  Pętla do ... while  Instrukcja switch

while(a>0) {

intrukcje;

}

do {

intrukcje;

}

while(warunek);

switch(wyrażenie) {

case wartość1:

instrukcje1;

break;

case wartość2:

instrukcje2;

break;

case wartość3:

instrukcje3;

break;

default:

instrukcja domyślna;

}

5. Tablice

W celu gromadzenia wielu danych różnego typu można używać tablic. Tablice statyczne mają z góry określony rozmiar, który jest ustalany w momencie tworzenia tablicy i nie może być zmieniany w trakcie działania programu.

W c++ elementy tablicy zawsze są numerowane od 0. Zatem T[0] jest pierwszym elementem, a T[3] – czwartym elementem tablicy T.

Możliwe jest również używanie tablic dwuwymiarowych, które można traktować jak tablice tablic.

Przykłady:

int T[10] – deklaracja tablicy T o 10 elementach typu całkowitego t[0]=3 – spisanie do pierwszego elementu tablicy wartości 3 T[9]=T[3] – wpisanie do 10 elementu wartości elementu czwartego X[1][0]=true – wpisanie do elementu tablicy X wartości true

6. Przykłady

Przykład 1

Program wypisze na ekranie tekst "PODSTAWY INFORMATYKI" a w nowym wierszu poczeka na wprowadzenie dowolnego znaku.

#include <iostream>

using namespace std;

int main()

{

cout << "PODSTAWY INFORMATYKI\n" ; char x;

cin >> x;

return 0;

}

(5)

5 Przykład 2

Program odczytuje dwie liczby (np. oceny z kolokwium) i oblicza ich średnią. Jeśli średnia jest mniejsza niż 3.0, program wypisuje komunikat „brak zaliczenia”, w przeciwnym wypadku program wypisuje „przedmiot zaliczony. Jeśli średnia przekracza 4.0, to dopisywane jest dodatkowo „ i to na wysokim poziomie”. Następnie program czeka na wprowadzenie dowolnego znaku.

#include <iostream>

using namespace std;

int main () {

double a, b, s;

cout << "Pdaj pierwsza ocene: ";

cin >> a;

cout << "Pdaj druga ocene: ";

cin >> b;

s = (a+b)/2;

if (s < 3.0)

cout << "brak zaliczenia";

else {

cout << "przedmiot zaliczony";

if (s > 4.0)

cout << " i to na wysokim poziomie";

}

cout << endl;

system("pause");

return 0;

}

Przykład 3

Program tłumaczy liczbę na tekst. Program odczytuje liczbę całkowitą z przedziału <0,7> i wypisuje jej wartość słownie. Np. dla liczby 7 wypisuje „siedem”.

#include <iostream>

using namespace std;

int main () {

int a;

cin >> a;

switch (a) {

case 1:

cout << "jeden";

break;

(6)

6 case 2:

cout << "dwa";

break;

case 3:

cout << "trzy";

break;

case 4:

cout << "cztery";

break;

case 5:

cout << "piec";

break;

case 6:

cout << "szesc";

break;

case 7:

cout << "siedem";

break;

default:

cout << "zla liczba";

}

cout << endl;

system("pause");

return 0;

}

Przykład 4

Program w 10 - elementowej tablicy jednowymiarowej o nazwie tab umieszcza liczby od 1 do 10.

#include <iostream>

using namespace std;

int main() {

int tab[10]; // deklaracja tablicy 10-elemntowej

for (int i=0; i<10; i++) //wypełnianie tablicy liczbami od 1 do 10 {

tab[i] = i+1;

cout << "tab[" << i << "] = " << tab[i] << endl; // wypisanie tablicy

}

system("pause");

return 0;

}

Cytaty

Powiązane dokumenty

Nie jest mo»liwe zaliczenie semestru bez wygªoszenia referatu lub z wi¦cej ni» 4 nieobec- no±ciami (wyª¡czaj¡c choroby potwierdzone zwolnieniami lekarskimi)5. Lista tematów i

LTBeam jest darmowym programem służącym wyznaczaniu wartości momentu krytycznego metodą elementów skończonych.. Dodatkowy stopień swobody w stosunku do standardowych

Computer Science ; ISSN 1508-2806. Marcin Gadamer, Adrian Horzyk, Text analysis and correction using specialized linguistic habit graphs LHG, Image Processing &amp; Communications :

Informacje te mogą zostać wykorzystane w taki sposób, że jako nieprawidłowe uruchomienie (a w zasadzie: różniące się od wzorca uznanego za poprawne diagnostycznie)

Further analysis of carrying after patients over 60 years of age shows that following first aid treatments used for the patients were as follows: 2/3 of patients were

A więc chcemy mówić, że zdecydowanie „jest gorąco” gdy temperatura jest większa niż 100stopni, zdecydowanie nie jest gorąco gdy temperatura jest mniejsza niż

W rezultacie, jeśli przed T nie było ani jednego „zdarzenia”, to sztucznie przyjmujemy że momentem ostatniego zdarzenia było

W takim wypadku dookoła zbudowanej metalowej kon- strukcji umieszcza (nawija) się zwoje rur. Absorber taki można porównać do płotów energetycznych. Energia