C++ mgr inż. Tomasz Turba Politechnika Opolska 2016
Z1++ #include int main() { char operat; int l1, l2, wynik; std::cout << "Podaj liczbe 1: "; std::cin >> l1; std::cout << "Podaj liczbe 2: "; std::cin >> l2; std::cout << "Podaj operacje arytmetyczna [+, -, *, /]: "; std::cin >> operat; switch(operat) { case '+': wynik=l1+l2; break; case '-': wynik=l1-l2; break; case '*': wynik=l1*l2; break; case '/': wynik=l1/l2; break; default: std::cout << "Wystapil nieznany blad" << std::endl; break; } std::cout << "Wynik operacji " << operat << " wynosi " << wynik << std::endl; return 0; }
Z2++ #include using namespace std; int main( ) { int x; cout << "Podaj x:"; cin >> x; int y; cout << "\nPodaj y:"; cin >> y; int z; cout << "\nPodaj z:"; cin >> z; int max=x; if(max < y) max=y; if(max < z) max=z; cout<<"Najwieksza liczba to:" << max << endl; return 0; }
Zajęcia III [ r] Zmienne Losowość Tablice Pętle Łańcuchy znaków Funkcje Zadanie domowe
Zmienne
INICJALIZACJA – przypisanie początkowej wartości zmiennej int liczba = 5; lub int liczba; liczba=5; float r = 12.35; char znak = -53; unsigned long = ; ! Jakie słowo kluczowe określa się do zmiennej o stałej wartości? +1pkt
Skrótowe operatory zmiennych a = a + 5; a+ = 5; //dodawanie b = b – 1; b- = 1; //odejmowanie … i = i + 1; i + = 1; i++; //postinkrementacja j = j – 1; j - = 1; --j; //predekrementacja
#include using namespace std; int main() { int a; float b; cin.clear(); //czyszczenie kodów błędu cin.sync(); //czyszczenie konsoli printf("Wprowadz liczbe A: "); scanf("%d",&a); cout << "\nA wynosi: " << a << endl; a++; cout << "A++ wynosi: " << a << endl; a*=10; cout << "A++ * 10 wynosi: " << a << endl; cout << "Wprowadz B: "; cin >> b; cout << "Czy B jest wpisana prawidlowo? " << cin.good() << endl; cout << "Czy wystapily bledy? " << cin.fail() << endl; return 0; }
Zmienne losowe #include srand( time( NULL ) ); //wywołanie funkcji losującej int liczba = rand(); //przypisanie losowej liczby int liczba = (rand() % GÓRNY_ZAKRES) + WARTOŚĆ_POCZĄTKOWA; ! Napisz program losujący dwie liczby: int liczba = liczba dowolna int przedzial = liczba z przedziału, wartość startowa = 1;
#include using namespace std; int main() { srand(time(NULL)); cout << "Losowanie pierwsze bez zmiennej: " << rand() << endl; int liczba = rand(); cout << "Wylosowanie drugie, zmienna int liczba: " << liczba << endl; int przedzial = (rand() % 20) + 1; cout << "Zmienna przedzial przyjela wartosc: " << przedzial << endl; return 0; }
Tablice typ_zmiennych_w_tablicy nazwa_tablicy = [ilość_elementów]; Pierwszy element tablicy = 0 Ostatni element tablicy = n-1 Tablice mogą być wielowymiarowe: [ilość_elX][ilość_elY]; Dostęp do tablicy poprzez indeks: tablica [indeks];
#include using namespace std; int main() { int tablica[ 3 ]; cout << "Podaj liczbe 1:"; cin >> tablica[0]; cout << "Podaj liczbe 2:"; cin >> tablica[1]; tablica[ 2 ] = 12345; cout << "Trzecia liczba (tablica[2) wynosi: " << tablica[2] << endl; int suma = tablica[0] + tablica[1] + tablica[2]; cout << "Suma trzech liczb wynosi: " << suma << endl; return 0; }
Pętla for for (A; B; C; …) { instrukcja1; instrukcja2; } A= wartość początkowa (opcjonalnie deklaracja) B= warunek końcowy C= operator (iteracja z reguły)
#include using namespace std; int main() { int j, granica; cout << "Podaj granice: "; cin >> granica; int tab[granica]; for (int i=0;i<granica;i++) { cout << "Wprowadz " << i << " liczbe: "; cin >> tab[i]; } cout << "\nZawartosc tablicy tab[]:\n"; for (j=0;j<granica;j++) { cout << "tab["<< j << "]= " << tab[j] << endl; } return 0; }
Pętla do… while() do { instrukcja1; instrukcja2; *operator; } while (warunek_koncowy); ! Proszę przerobić program z pętlą for na pętle do … while ();
#include using namespace std; int main() { int granica; cout << "Podaj granice: "; cin >> granica; int tab[granica]; int i=0; int j=0; do { cout << "Wprowadz " << i << " liczbe: "; cin >> tab[i]; i++; } while (i<granica); cout << "\nZawartosc tablicy tab[]:\n"; do { cout << "tab["<< j << "]= " << tab[j] << endl; j++; } while (j<granica); return 0; }
Stringi #include Using namespace std; string lancuch1 = „Jakis tekst”; string lancuch2 = „ a to jego kontynuacja”; dodawanie, kopiowanie, usuwanie, wstawianie, szukanie, tablicowanie, etc…
#include using namespace std; int main() { string lancuch1 = "Jakis tekst"; string lancuch2 = ", a to jego kontynuacja"; string lancuch3; cout << "Podaj tekst: "; cin >> lancuch3; cout << lancuch1+lancuch2+lancuch3 << endl; string suma = lancuch1+lancuch2+lancuch3; cout << "Znakowa dlugosc calkowita lancuchow: " << suma.size() << endl; cout << "Lancuch1+lancuch3= " << lancuch1.append(lancuch3) << endl; cout << "Lancuch2 + insert na pozycje 5 lancucha1= " << lancuch2.insert(4, lancuch1) << endl; cout << "Skasowanie od 5 znaku, 3 znakow w lancuch2= " << lancuch2.erase(4,3) << endl; return 0; }
Funkcje typ_zwracanej_wartości nazwa (argument1, argument2, … argumentn) { instrukcja1; instrukcja2; return zwracana_wartosc; }
Funkcje int pomnoz(int a, int b) { c=a*b; return c; //return a*b; } void pusta_funkcja() { instrukcja1; instrukcja2; }
#include using namespace std; void wypelnijTablice( int t[], int iRozmiar ) { cout << "Podaj " << iRozmiar << " liczb:" << endl; int i = 0; do { cin >> t[i]; i++; } while(i<iRozmiar); } int main() { int moja_tablica[30]; wypelnijTablice(moja_tablica,5); int i = 0; do { cout << moja_tablica[i] << ", "; i++; } while(i<5); return 0; }
Funkcje ! Zmodyfikuj kod programu tak, aby użytkownik mógł wprowadzić samodzielnie liczbę elementów do wprowadzenia. Wielkość tablicy powinna być równa liczbie tych elementów. Zmodyfikuj program tak aby ostatnia wyświetlana liczba nie posiadała za sobą przecinka. Stwórz funkcje która dodaje do siebie kolejne elementy tablicy i wyświetli sumę na ekranie.
Zadanie domowe [5pkt] Napisz kompleksowy program który będzie zawierał: 1. Funkcja potęguje dwie wprowadzone liczby A i B i wyświetla wynik na ekranie 2. Funkcja pobiera od użytkownika Imię i wyświetla na ekranie „Witaj $imię!” 3. Funkcja która po wprowadzeniu przez użytkownika liczby całkowitej wykona silnię tej liczby. 4. Funkcja która wypełni tablicę N-elementową liczbami losowymi, wyświetli je, a następnie je przesortuje metodą QuickSort i wyświetli przesortowane. 5. Program po uruchomieniu powinien posiadać menu wyboru (po każdym wyborze i wykonaniu operacji program ma wracać do menu, kończy się dopiero po wyborze opcji 5. Zakończ): 1. Potęguj 2. Przywitaj 3. Silnia 4. Sortuj 5. Zakończ