I - Microsoft Visual Studio C++
1. Nowy projekt
z Menu wybieramy File -> New -> Projekt -> Win32 Console Application
w okienku Name: podajemy nazwę projektu
w polu Location: wybieramy miejsce zapisu i wciskamy OK
następnie wciskamy: Next
zaznaczamy: Empty project i wciskamy Finish
w oknie Solution Explorer klikamy PPM na Source Files I wybieramy: Add->New Item-
>C++ File(.cpp)
podajemy nazwę pliku, np. main.cpp (będzie to oznaczało, że jest głównym plikiem projektu).
Kompilacja i uruchamianie: Z Menu wybieramy Debug - > Start Debugging (F5)
2. 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 cstdlibzawiera 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ą obiektu cout i przeciążonego operatora "<<"), lub pobierać dane z klawiatury (za pomocą obiektu cin i 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 plikuiostream.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.
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.
Jeżeli nasz program posiada błędy zgłasza informację o ilości błędów, gdzie te błędy się znajdują i co to są za błędy:
II – podstawy C++
3. 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 Tablice:
double tablica[20] – tablica o nazwie ‘tablica’ przechowująca 20 wartości typu double
4. Operatory:
Arytmetyczne:
+ dodawanie
- odejmowanie
/ dzielenie
* mnożenie
% reszta z dzielenia (dzielenie modulo)
= przypisanie
Relacje:
a = = b a jest równe b a < b a jest mniejsze od b
a <= b a jest mniejsze bądź równe b a > b a jest większe od b
a >= b a jest większe bądź równe b a != b a jest różne od b
Logiczne
|| Suma
&& Iloczyn
! Negacja
Złożone
+= -= *= /= %=
np.
int a = 3;
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 "
5. Instrukcje
Instrukcja if:
if(a>0)
instrukcja do wykonania;
Instrukcja if ... else:
if(a>0)
instrukcja1;
else
intrukcja 2;
Operator warunkowy:
(wyrażenie1 ? wyrażenie2 : wyrażenie3) Jest on równoważny instrukcji:
if(wyrażenie1) wyrażenie2
Pętla for
for(i=1;100;i++)
{ intrukcje;
}
Pętla while while(a>0)
{ intrukcje;
}
Pętla do ... while
do {
intrukcje;
while(warunek)}
Instrukcja switch
switch(wyrażenie)
{ case wartość1:
instrukcje1;
break;
case wartość2:
instrukcje2;
break;
case wartość3:
instrukcje3;
break;
default:
instrukcja domyślna;
}
6. 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
7. 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;
}
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";
}
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;
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;
}