Archiwa tagu: programowanie w c

Laboratoria nr 10 program nr 1

Łańcuchy znaków. Inicjalizacja łańcucha znaków. Stała znakowa. Funkcje do wprowadzania i wyprowadzania znaków. Plik nagłówkowy string.h (cstring). Przykłady kodu w C/C++.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include "stdafx.h"
#include <iostream>
#include <string>
 
/**
*
* Program Główny prezentujący funckje C++ wyprowadzania treści na wyjście konsoli.
* Program do wprowadzania mieszanych danych: liczby, znaki alfanumeryczne, lancuchy ze spacjami.
*
* @author Marcin Mirończuk
*
*/
int main()
{
    using namespace std;
 
    // Tablica przechowujaca imiona
    char imiona[50];
 
    // Tablica przechowujaca nazwiska
    char nazwiska[50];
 
    // Tablica przechowujaca polaczenie Imienia i nazwiska
    char nazwisko[100];
 
    // Zmienna przechowujaca podana przez uzytkownika ocene
    int ocena;
 
    // Zmienna przechowujaca wiek uzytkownika
    int wiek;
 
    // Zmienna przechowujaca rok rozpoczecia studiow
    int rozpoczecieStudiow;
 
    std::cout << "Kiedy rozpoczeles/rozpoczelas studia? ";
    std::cin >> rozpoczecieStudiow;
    std::cin.get();
 
    std::cout << "Jak masz na imie? ";
    std::cin.getline(imiona, 50);
 
    std::cout << "Jak sie nazywasz? ";
    std::cin.getline(nazwiska, 50);
 
    std::cout << "Na jaka ocene zaslugujesz? ";
    std::cin >> ocena;
 
    if(ocena > 6 || ocena < 2) {
        std::cout << "Podales nieprawidlowa ocene \n";
        std::cout << "Na jaka ocene zaslugujesz? ";
        std::cin >> ocena;
    }
 
    std::cout << "Ile masz lat? ";
    std::cin >> wiek;
 
    // Funkcje strcpy(). strcat() nie chronia pamieci
    // moze sie zdarzyc, ze kopia tablicy jest wieksza niz docelowa tablica
    // W ogolnym przypadku rola programisty jest zabezpieczenie programu przed taka sytuacja.
    strcpy(nazwisko, nazwiska);
    strcat(nazwisko, ", ");
    strcat(nazwisko, imiona);
 
    std::cout << "Rok rozpoczecia studiow: " << rozpoczecieStudiow << std::endl;
    std::cout << "Nazwisko: " << nazwisko << std::endl;
    std::cout << "Ocena: " << ocena-1 << std::endl;
    std::cout << "Wiek: " << wiek << std::endl;
 
    std::cin.get();
    std::cin.get();
 
    return 0;
}

Laboratoria nr 9 program nr 1

Tablice dwuwymiarowe. Operacje na tablicach. Przykłady kodu w C/C++.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
#include "stdafx.h"
#include <string>
#include <iostream>
 
// Zadeklarowanie stalych do okreslenia wielkosci
// dwuwymiarowej tablicy przechowujacej wartosci pomiarow dla poszczegolnych badaczy
const int iloscBadaczy = 4;
const int iloscPomiarow = 5;
 
// Struktura do przechowywania informacji o badaczu S. Prata s. 137 - 146
struct badacze {
    int liczbaPorzadkowa;
    std::string name;
};
 
/**
*
* Program Główny prezentujący funckje C++ wyprowadzania treści na wyjście konsoli.
* Program prezentujący zastosowanie tablic dwuwymiarowych oraz używania łańcuchów zanków.
* Program pobiera wartości zmierzonych rezystancji przez daną liczbę badaczy a następnie oblicza
* i prezentuje w ustalony sposób wartości wybranych wskźników.
*
* @author Marcin Mirończuk
*
*/
int main()
{
 
    // Zainicjowanie tabeli przechowujacej wyniki pomiarow badaczy wartosciami zerowymi
    float pomiarNapiecia[iloscBadaczy][iloscPomiarow] = {
            {0,0,0,0,0},
            {0,0,0,0,0},
            {0,0,0,0,0},
            {0,0,0,0,0}
    };
 
    // Zainicjowanie tablic jednowymiarowych przechowujacych statystyki w postaci:
    // - sumy pomiarow
    // - sredniej pomiarow
    // - maksymalnej wartosci pomiarow
    // - minimalnej wartosci pomiarow
    // dla kazdego z badaczy
    float sumaPomiarow[iloscBadaczy] = {0, 0, 0, 0};
    float sredniaPomiarow[iloscBadaczy] = {0, 0, 0, 0};
    float maksPomiarow[iloscBadaczy] = {0, 0, 0, 0};
    float minPomiarow[iloscBadaczy] = {0, 0, 0, 0};
 
    // Nazwy badaczy inicjalizowane za pomoca struktury
    const badacze sBadaczeNapiecia[iloscBadaczy] = {
        {1, "Janek"},
        {2, "Aleks"},
        {3, "Magda"},
        {4, "Alina"}
    };
 
    /**
     *  Materiały do tablic jednowymiarowych S. Prata s. 114 - 118 "Tablice w skrócie"
     *  Materiały do tablic dwuwymiarowych S. Prata s. 234 - 238 "Petle zagniezdzone i dwuwymiarowe tablice"
     *  Materiały do łańcuchów znaków S. Prata s. 118 - 124 "Tablice w skrócie"
     *  Materiały do wzkaznikow i łańcuchów znaków S. Prata s. 170 - 175
     *  Materiały o klasie string S. Prata s. 130 - 137
     *
     *  Podstawowe materiały http://we.pb.edu.pl/~jforenc/inf1-dzienne/INF1-2011-Prac-06.pdf
     *  Dodatkowe materiały http://warsztat.gd/files/articles/megatutorial/1_5.pdf
     *
     *  DLA DOCIEKLIWYCH W CELU POSZERZENIA WIADOMOSCI
     *  Materiały o strukturach S. Prata s. 137 - 146
     *  Materiały dla dociekliwych - wksażniki, alokacje pamieci etc. S. Prata s. 151 - 182
    */
 
    // Nazwy badaczy inicjalizowane za pomoca tablicy wskaznikow char
    const char * ptBadaczeNapiecia[iloscBadaczy] = {
        "Janek",
        "Aleks",
        "Magda",
        "Alina"
    };
 
    // Nazwy badaczy inicjalizowane za pomoca tablicy lancucha znakow
    const char ctBadaczeNapiecia[iloscBadaczy][25] = {
        "Janek",
        "Aleks",
        "Magda",
        "Alina"
    };
 
    // Nazwy badaczy inicjalizowane za pomoca klasy string
    const std::string stBadaczeNapiecia[iloscBadaczy] = {
        "Janek",
        "Aleks",
        "Magda",
        "Alina"
    };
 
    char znacznik = 'c';
 
    while(znacznik != 'q') {
 
        std::cout << "Wprowadz wyniki uzyskane przez " << iloscBadaczy << " badaczy\n";
 
        for(int badacz = 0; badacz < iloscBadaczy; badacz++) {
            std::cout << "Wprowadz wyniki badacza nr. " << badacz+1 << ". " << ptBadaczeNapiecia[badacz] << ":\n";
 
            for(int pomiar = 0; pomiar < iloscPomiarow; pomiar++) {
                std::cout << "Wynik pomiaru nr. " << pomiar+1 << ": ";
                std::cin >> pomiarNapiecia[badacz][pomiar];
            }
        }
 
        std::cout << std::endl;
 
        std::cout << "Wyniki pomiarow zarejstrowane przez " << iloscBadaczy << " badaczy\n";
 
        for(int badacz = 0; badacz < iloscBadaczy; badacz++) {
            std::cout << "Wyniki badacza nr. " << badacz+1 << ". " << ctBadaczeNapiecia[badacz] << ": ";
            for(int pomiar = 0; pomiar < iloscPomiarow; pomiar++) {
                std::cout << pomiarNapiecia[badacz][pomiar] << "\t";
            }
 
            std::cout << std::endl;
        }
 
        // Sumowanie pomiarow dla poszczegolnych badaczy
        // Srednia pomaiarow kazdego badacza
        for(int badacz = 0; badacz < iloscBadaczy; badacz++) {
            float sumaNapiecia = 0;
            float sredniaNapiecia = 0;
 
            for(int pomiar = 0; pomiar < iloscPomiarow; pomiar++) {
                sumaNapiecia += pomiarNapiecia[badacz][pomiar];
            }
 
            sumaPomiarow[badacz] = sumaNapiecia;
            sredniaPomiarow[badacz] = sumaNapiecia/iloscPomiarow;
        }
 
        // Wykrywanie wartosci maksymalnej pomiaru dla poszczegolnych badaczy
        // Wykrywanie wartosci minimalnej pomiaru dla poszczegolnych badaczy
        for(int badacz = 0; badacz < iloscBadaczy; badacz++) {
            // inicjalizacja zmiennej do porownania
            int m1 = 0;
 
            // Nomer pozycji na kotrej znajduje sie najwiekszy element
            int x1 = 0;
 
            // inicjalizacja zmiennej do porownania
            int m2 = 0;
 
            // Nomer pozycji na kotrej znajduje sie najwiekszy element
            int x2 = 0;
 
            for(int pomiar = 0; pomiar < iloscPomiarow; pomiar++) {
                if (pomiarNapiecia[badacz][pomiar] > m1) {
                    m1 = pomiarNapiecia[badacz][pomiar];
                    x1 = pomiar;
                 }
 
                if(pomiarNapiecia[badacz][pomiar] < m2) {
                    m2 = pomiarNapiecia[badacz][pomiar];
                    x2 = pomiar;
                }
            }
 
            maksPomiarow[badacz] = pomiarNapiecia[badacz][x1];
            minPomiarow[badacz] = pomiarNapiecia[badacz][x2];
        }
 
 
        // Wyswietlenie statystyk dla poszczegolnych badaczy
        std::cout << std::endl;
        std::cout << "Statystyki pomiarow zarejstrowane przez " << iloscBadaczy << " badaczy\n";
        std::cout << "\t\t\t\t" << "SUMA\t" << " SREDNIA\t MAX. POM \t MIN. POM. \t \n";
 
        for(int badacz = 0; badacz < iloscBadaczy; badacz++) {
            std::cout << "Statystyki badacza nr. " << badacz+1 << ". " << stBadaczeNapiecia[badacz] << ": ";
             
            std::cout << sumaPomiarow[badacz] << "\t";
            std::cout << sredniaPomiarow[badacz] << "\t";
            std::cout << maksPomiarow[badacz] << "\t";
            std::cout << minPomiarow[badacz] << "\t";
             
            std::cout << std::endl;
        }
 
        // Wyswietlenie czy pomiary sie zgadzaja
        float oczekiwanaSrednia = 0;
        float odchylkaSredniej = 0;
        float odchylkaPlus = 0;
        float odchylkaMinus = 0;
 
        std::cout << std::endl;
        std::cout << "Wprowadz teoretyczna wartosc sredniej: ";
        std::cin >> oczekiwanaSrednia;
        std::cout << "Wprowadz mozliwa odchylke od wartosci sredniej: ";
        std::cin >> odchylkaSredniej;
         
        odchylkaPlus = oczekiwanaSrednia+odchylkaSredniej;
        odchylkaMinus = oczekiwanaSrednia+odchylkaMinus;
 
        for(int badacz = 0; badacz < iloscBadaczy; badacz++) {
            std::cout << "Statystyki w postaci sredniej badacza nr. " << badacz+1 << ". " << sBadaczeNapiecia[badacz].name << ": ";
                 
            if(sredniaPomiarow[badacz] > odchylkaPlus) {
                    std::cout << "Odbiega od teoretycznej wartosci sredniej.\n";
            }
            else if(sredniaPomiarow[badacz] < odchylkaMinus) {
                    std::cout << "Odbiega od teoretycznej wartosci sredniej.\n";
            }
            else {
                std::cout << "Nie odbiega od teoretycznej wartosci sredniej.\n";
            }
        }
 
 
        std::cout << "Znak q konczy program\n";
        std::cin >> znacznik;
    }
 
    return 0;
}

Laboratoria nr 8 program nr 1

Tablice, deklaracja tablicy jednowymiarowej, inicjalizacja elementów tablicy. Przykłady kodu w C/C++.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include "stdafx.h"
#include <iostream>
#include <cmath>
 
const int MAX = 5;
 
/**
*
* Program Główny prezentujący funckje C++ wyprowadzania treści na wyjście konsoli.
* Program prezentujący zastosowanie tablic jednowymiarowych. Użytkownik proszony jest
* o podanie rezystancji które wczytywane są do tablicy, a następnie obliczane są wymagane wskaźniki.
*
* @author Marcin Mirończuk
*
*/
int main()
{
    using namespace std;
 
    // Znak oznaczający komendę
    char komenda = 'd';
 
    std::cout << "Prosze podac wartosc rezystancji swoich rezystorow. \n";
    std::cout << "Maksymalnie mozna podac " << MAX << " rezystancji <q konczy program>.\n";
 
    while (komenda != 'q') {
        // licznik petli nr 1
        int i = 0;
 
        // licznik petli nr 2
        int k = 0;
 
        // licznik petli nr 3
        int j = 0;
 
        // inicjalizacja zmiennej do porownania
        int m = 0;
 
        // Nomer pozycji na kotrej znajduje sie najwiekszy element
        int x;
 
        double sumaRezystancji = 0;
        double rezystancja[MAX];
        double srednia = 0;
        bool znacznik = false;
 
        while(i < MAX) {
            std::cout << "Wartosc rezystancji nr. " << i+1 << ": ";
            std::cin >> rezystancja[i];
            i++;
        }
 
        std::cout << "Podales nastepujace rezystancje:\n";
 
        for(k = 0; k < MAX; k++) {
             
            if(rezystancja[k] < 0) {
                rezystancja[k] = abs(rezystancja[k]);
                znacznik = true;
            }
             
            std::cout << k+1 << ". " << rezystancja[k] << " Oh \n";
 
            sumaRezystancji += rezystancja[k];
        }
         
        for (j = 1; j < MAX; j++) {
             if (rezystancja[j] > m) {
                m = rezystancja[j];
                x = j;
             }
        }
 
        if(znacznik) {
            std::cout << "Jedna z podanych przec Ciebie rezystancji miala wartosc ujemna. Zmieniona zostala na dodatnia" << std::endl;
        }
 
        std::cout << "Suma podanych przez Ciebie rezystancji wynosi: " << sumaRezystancji << std::endl;
        std::cout << "Srednia rezystancja wynosi: " << sumaRezystancji/MAX << std::endl;
        std::cout << "Najwieksza wartosc podanej przez Ciebie rezystancji to: " << rezystancja[x] << " znajdujaca sie na " << x << " pozycji" << std::endl;
         
        std::cout << "Czy zakonczyc dzialanie programu? \n";
        std::cin >> komenda;
    }
 
    return 0;
}

Laboratoria nr 7 program nr 1

Instrukcje iteracyjne while i do … while. Przykłady kodu w C/C++.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include "stdafx.h"
#include <iostream>
#include <cmath>
 
// Deklaracja stalej okreslajacej maksymalna ilosc rezystorow
const int MAX = 5;
 
/**
*
* Program Główny prezentujący funckje C++ wyprowadzania treści na wyjście konsoli.
* Wprowadzanie danych do programu i podstawowe operacje arytmetyczne.
* Program do obliczania w petli sumy podanych wartosci rezystorow przez uzytkownika.
*
* @author Marcin Mirończuk
*
*/
int main()
{
    using namespace std;
 
    // Znak oznaczający komendę
    char komenda = 'd';
 
    std::cout << "Prosze podac wartosc rezystancji swoich rezystorow. \n";
    std::cout << "Maksymalnie mozna podac " << MAX << " rezystancji <q konczy program>.\n";
 
    while (komenda != 'q') {
        // licznik petli
        int i = 0;
        double sumaRezystancji = 0;
        double rezystancja = 0;
        double srednia = 0;
 
        while(i < MAX) {
            std::cout << "Wartosc rezystancji nr. " << i+1 << ": ";
            std::cin >> rezystancja;
 
            // Zabezpieczenie przed podawaniem liczb ujemnych
            if(rezystancja < 0) {
                rezystancja = abs(rezystancja);
            }
 
            sumaRezystancji += rezystancja;
            i++;
        }
 
        std::cout << "Suma podanych przez Ciebie rezystancji wynosi: " << sumaRezystancji << std::endl;
        std::cout << "Srednia rezystancja wynosi: " << sumaRezystancji/MAX << std::endl;
        std::cout << "Czy zakonczyc dzialanie programu? \n";
        std::cin >> komenda;
    }
 
    return 0;
}

Laboratoria nr 6 program nr 1

Operatory zwiększania (++) i zmniejszania (–). Złożone (skrócone) operatory przypisania. Instrukcja for. Ogólna postać instrukcji for. Zagnieżdżanie pętli for. Instrukcje break, goto, continue. Instrukcje while, do…while. Przykłady kodu w C/C++.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include "stdafx.h"
#include <iostream>
 
/**
*
* Program Główny prezentujący funckje C++ wyprowadzania treści na wyjście konsoli.
* Wprowadzanie danych do programu i podstawowe operacje arytmetyczne.
* Program do ustawiania i zmiany napiecia.
*
* @author Marcin Mirończuk
*
*/
int main()
{
    using namespace std;
 
    /**
     *  's' - skokowa zmiana wartości napięcia
     *  'c' - ciągła zmiana wartości napięcia
    */
    char wybor;
 
    // Wartośc deklarowana napięcia
    short int napiecie = 0;
 
    std::cout << "Podaj wartosc napiecia do ustawienia: ";
    std::cin >> napiecie;
 
    if(napiecie > 12 || napiecie < -12) {
        std::cout << "Zostala podana nieprawidlowa wartosc napiecia. Podaj prawidlowa wartosc" << std::endl;
    } else {
        std::cout << "Jak zmienic napiecie?" << std::endl;
        std::cout << "'s' - skokowa zmiana wartosci napiecia" << std::endl;
        std::cout << "'c' - ciagla zmiana wartosci napiecia" << std::endl;
        std::cout << "Podaj opcje: ";
 
        std::cin >> wybor;
 
        switch(wybor) {
            case 's':
                std::cout << "Napiecie zostalo zmienione na " << napiecie << " [V]" << std::endl;
                break;
            case 'c':
                if(napiecie > 0) {
                    for(int i = 1; i <= napiecie; i++) {
                        std::cout << "Dodatnia zmiana wartosci napiecia na " << i << " [V]" << std::endl;
                    }
 
                    std::cout << "Dodatnie napiecie zostalo zmienione na " << napiecie << " [V]" << std::endl;
                } else if (napiecie < 0) {
                    for(int i = -1; i >= napiecie; i--) {
                        std::cout << "Ujemna zmiana wartosci napiecia na " << i << " [V]" << std::endl;
                    }
 
                    std::cout << "Ujemne napiecie zostalo zmienione na " << napiecie << " [V]" << std::endl;
                } else {
                    std::cout << "Napiecie zostalo zmienione na " << napiecie << " [V]" << std::endl;
                }
 
                break;
            default:
                std::cout << "Nieprawidlowa opcja" << std::endl;
                break;
        }
    }
 
    std::cin.get();
    std::cin.get();
 
    return 0;
}

Laboratoria nr 5 program nr 1

Operatory relacyjne (porównania). Operatory logiczne. Wyrażenia logiczne. Przykłady obliczania wartości wyrażeń logicznych. Instrukcja warunkowa if. Zagnieżdżanie if-else. Operator warunkowy ? :. Instrukcja wyboru wielowariantowego switch. Stałe zadeklarowane jako const. Operatory bitowe. Przykłady kodu w C/C++.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include "stdafx.h"
#include <iostream>
 
// Biblioteka odpowiedzialna za obsluge znakow. S. Prat str. 261
#include <cctype>
 
// Biblioteka odpowiedzialna za konwersje http://www.cplusplus.com/reference/clibrary/cstdlib/
#include <stdlib.h>
 
/**
*
* Program Główny prezentujący funckje C++ wyprowadzania treści na wyjście konsoli.
* Wprowadzanie danych do programu i podstawowe operacje arytmetyczne.
* Program do wybierania osob z podanej listy osob na podstawie zadanego kryterium.
*
* @author Marcin Mirończuk
*
*/
int main()
{
    // Pierwsza litera imienia
    char znak;
     
    // Numer porzadkowy
    int listNumber;
 
    std::cout << "Lista moich znajomych" << std::endl;
    std::cout << "1. Ala Marciniak" << std::endl;
    std::cout << "2. Genowefa Pigwa" << std::endl;
    std::cout << "3. Aleksander Kłopotek" << std::endl;
    std::cout << "4. Irena Michalska" << std::endl;
    std::cout << "5. Irek Niedzwiedzki" << std::endl;
 
    std::cout << "Podaj numer porzadkowy z listy znajomych albo pierwsza litere imienia aby zobaczyc telefon kontaktowy" << std::endl;
 
    // Pobranie znaku z konsoli
    std::cin.get(znak);
 
    // Sprawdzenie czy wprowadzono znak ktory jest litera
    if(isalpha(znak)) {
        switch (znak) {
            case 'A' :  std::cout << "Twoi znajomi na litera A wraz z numerami telefonow" << std::endl;
                        std::cout << "1. Ala Marciniak: telefon 789 876 000" << std::endl;
                        std::cout << "2. Aleksander Kłopotek: telefon 423 876 000" << std::endl;
                    break;
            case 'G' :
                        std::cout << "Twoi znajomi na litera G wraz z numerami telefonow" << std::endl;
                        std::cout << "1. Genowefa Pigwa: telefon 789 826 100" << std::endl;
                    break;
            case 'I' :
                        std::cout << "Twoi znajomi na litera I wraz z numerami telefonow" << std::endl;
                        std::cout << "1. Irena Michalska: telefon 789 234 100" << std::endl;
                        std::cout << "2. Irek Niedzwiedzki: telefon 146 876 000" << std::endl;
                    break;
            default :
                    std::cout << "Brak znajomych zaczynajacych sie na podana przez Ciebie litere" << std::endl;
                    break;
        }
    }
    // Sprawdzenie czy wprowadzono znak ktory jest liczba dziesietna (0-9)
    else if(isdigit(znak)) {
        // Konwersja znku na int
        listNumber = atoi(&znak);
 
        switch (listNumber) {
            case 1 :    std::cout << "Twój znajomy z pierwszej pozycji listy kontaktów" << std::endl;
                        std::cout << "1. Ala Marciniak: telefon 789 876 000" << std::endl;                     
                    break;
            case 2 :
                        std::cout << "Twój znajomy z drugiej pozycji listy kontaktów" << std::endl;
                        std::cout << "1. Genowefa Pigwa: telefon 789 826 100" << std::endl;                    
                    break;
            case 3 :
                        std::cout << "Twój znajomy z trzeciej pozycji listy kontaktów" << std::endl;
                        std::cout << "1. Aleksander Kłopotek: telefon 423 876 000" << std::endl;                       
                    break;
            case 4 :
                        std::cout << "Twój znajomy z czwartej pozycji listy kontaktów" << std::endl;
                        std::cout << "1. Irena Michalska: telefon 789 234 100" << std::endl;
                    break;
            case 5 :
                        std::cout << "Twój znajomy z piątej pozycji listy kontaktów" << std::endl;                     
                        std::cout << "1. Irek Niedzwiedzki: telefon 146 876 000" << std::endl;
                    break;
            default :
                    std::cout << "Brak znajomych na liscie wedlug podanego przez Ciebie numeru porzadkowego" << std::endl;
                    break;
        }
    }
    else {
        std::cout << "Podano niestandardowy znak";
    }
 
    std::cin.get();
    std::cin.get();
 
    return 0;
}

Laboratoria nr 4 program nr 1

Operatory relacyjne (porównania). Operatory logiczne. Wyrażenia logiczne. Przykłady obliczania wartości wyrażeń logicznych. Instrukcja warunkowa if. Zagnieżdżanie if-else. Operator warunkowy ? :. Instrukcja wyboru wielowariantowego switch. Stałe zadeklarowane jako const. Operatory bitowe. Przykłady kodu w C/C++.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include "stdafx.h"
#include <iostream>
 
/**
*
* Program Główny prezentujący funckje C++ wyprowadzania treści na wyjście konsoli.
* Wprowadzanie danych do programu i podstawowe operacje arytmetyczne.
* Program do klasyfikowania rezystancji.
*
* @author Marcin Mirończuk
*
*/
int main()
{
    using namespace std;
 
    float unsigned rezystancja;
 
    char znak = 's';
     
    while(znak != 'q') {
        std::cout << "Podaj wartosc rezystancji ";
        std::cin >> rezystancja;
 
        std::cout << "Podana przec Ciebie wartosc rezystancji wynosi " << rezystancja << std::endl;
        std::cout << "Dokonuje klasyfikacji... \n";
 
        if(rezystancja > 0 && rezystancja < 10.3) {
            std::cout << "Rezystor nalezy do klasy 1 \n";
 
            if(rezystancja >= 0.1 && rezystancja <= 0.8) {
                std::cout << "Rezystor nalezy do klasy 4 \n";
            }
            else if(rezystancja >= 10.2 && rezystancja <= 10.3) {
                std::cout << "Rezystor nalezy tez do klasy 2 \n";
            }
        }
        else if(rezystancja > 10.3 && rezystancja < 100) {
            std::cout << "Rezystor nalezy tez do klasy 2 \n";
        }
        else if(rezystancja > 132 && rezystancja < 140) {
            std::cout << "Rezystor nalezy tez do klasy 3 \n";
        }
        else {
            std::cout << "Rezystor niesklasyfikowany \n";
        }
 
        std::cout << "Podaj znak q aby zakonczyc lub jaki kolwiek inny znak aby kontynuowac \n";
        std::cin >> znak;
    }
 
    std::cin.get();
    std::cin.get();
 
    return 0;
}

Laboratoria nr 3 program nr 4

Zmienne. Deklaracje zmiennych. Komentarze. Podstawowe typy zmiennych. Nazwy zmiennych. Stałe liczbowe. Operatory arytmetyczne. Operator przypisania. Priorytet operatorów arytmetycznych. Wyrażenia arytmetyczne. Funkcja printf. Funkcja scanf. Stałe i funkcje z pliku nagłówkowego math.h oraz cmath. Przykłady kodu w C/C++.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include "stdafx.h"
#include <iostream>
#define _USE_MATH_DEFINES
#include <math.h> // lub mozna zastosowac <cmath>
 
/**
*
* Program Główny prezentujący funckje C++ wyprowadzania treści na wyjście konsoli.
* Wprowadzanie danych do programu i podstawowe operacje arytmetyczne.
* Prezentacja działania zmiennych, definicji stalych w sytulu C.
* Program do obliczania pola powierzchni kola. Wykorzystanie biblioteki math.h (aktualnie dla C++ cmath)
*
* @author Marcin Mirończuk
*
*/
int main()
{
    using namespace std;
 
    // promien kola
    float r;
     
    // pole kola
    float p;
 
    // przypisanie promieniowi wartosci 0
    r = 0;
 
    std::cout << "Program do obliczania pola kola" << std::endl;
 
    std::cout << "Podaj promien kola ";
    std::cin >> r;
 
    // obliczanie pola kola. Inaczej mozna zapisac p = PI * r^2
    p = M_PI * r * r;
 
    std::cout << "Wartosc pola wynosi " << p << std::endl;
 
    std::cin.get();
    std::cin.get();
 
    return 0;
}

Laboratoria nr 3 program nr 3

Zmienne. Deklaracje zmiennych. Komentarze. Podstawowe typy zmiennych. Nazwy zmiennych. Stałe liczbowe. Operatory arytmetyczne. Operator przypisania. Priorytet operatorów arytmetycznych. Wyrażenia arytmetyczne. Funkcja printf. Funkcja scanf. Stałe i funkcje z pliku nagłówkowego math.h oraz cmath. Przykłady kodu w C/C++.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include "stdafx.h"
#include <iostream>
 
#define PI 3.14
 
/**
*
* Program Główny prezentujący funckje C++ wyprowadzania treści na wyjście konsoli.
* Wprowadzanie danych do programu i podstawowe operacje arytmetyczne.
* Prezentacja działania zmiennych, definicji stalych w sytulu C.
* Program do obliczania pola powierzchni kola.
*
* @author Marcin Mirończuk
*
*/
int main()
{
    using namespace std;
 
    // promien kola
    float r;
     
    // pole kola
    float p;
 
    // przypisanie promieniowi wartosci 0
    r = 0;
 
    std::cout << "Program do obliczania pola kola" << std::endl;
 
    std::cout << "Podaj promien kola ";
    std::cin >> r;
 
    // obliczanie pola kola. Inaczej mozna zapisac p = PI * r^2
    p = PI * r * r;
 
    std::cout << "Wartosc pola wynosi " << p << std::endl;
 
    std::cin.get();
    std::cin.get();
 
    return 0;
}

Laboratoria nr 3 program nr 2

Zmienne. Deklaracje zmiennych. Komentarze. Podstawowe typy zmiennych. Nazwy zmiennych. Stałe liczbowe. Operatory arytmetyczne. Operator przypisania. Priorytet operatorów arytmetycznych. Wyrażenia arytmetyczne. Funkcja printf. Funkcja scanf. Stałe i funkcje z pliku nagłówkowego math.h oraz cmath. Przykłady kodu w C/C++.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include "stdafx.h"
#include <iostream> // Biblioteka obslugujace operacje wejscia wyjscia
#include <cmath> // Biblioteka z funkcjami matematycznymi mozna tez zastosowac biblioteke math.h
 
/**
*
* Program Główny prezentujący funckje C++ wyprowadzania treści na wyjście konsoli.
* Wprowadzanie danych do programu i podstawowe operacje arytmetyczne.
* Prezentacja działania zmiennych, przypisywanie zmiennym wartości z funkcji etc..
*
* @author Marcin Mirończuk
*
*/
int main()
{
    using namespace std; // przestrzen nazw
 
    double polePowierzchni; // zmienna przechowujaca pole powierzchni
 
    std::cout << "Podaj powierzchnie swego mieszkania w metrach kwadratowych: ";
    std::cin >> polePowierzchni; // wczytanie pola powierzchni zadanego przez uzytkownika
 
    double bokKwadratu; // zmienna przechowujaca dlugosc boku kwadratu
     
    bokKwadratu = sqrt(polePowierzchni); // wywolanie funkcji obliczajacej pierwiastek z podanego pola
                                        // i zapamietanie wyniku w zmiennej bokKwadratu
 
    std::cout << "Odpowiada to kwadratowi o boku " << bokKwadratu << " metrow." << std::endl;
 
    std::cin.get();
    std::cin.get();
 
    return 0;
}