C++/Ćwiczenia
Ćwiczenie 1
edytujNapisać program, który czyta ze strumienia standardowego wejścia i zmienia małe litery na wielkie i odwrotnie (nie bierzemy pod uwagę polskich znaków), wypisując wynik do strumienia standardowego wyjścia. Następnie zmodyfikować go tak, aby pracował na plikach: wejściowym oraz wyjściowym, podanych jako parametry programu..
Ćwiczenie 2
edytujMamy tablice kwadratowa, której wymiarem jest liczba nieparzysta. Napisz program, który wypełni ja zerami i jedynkami w następujący sposób:
0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0
Ćwiczenie 3
edytujDany jest plik:
+-----------+----+-----------+--------------+ |PESEL |Płeć|Imię |Nazwisko | +-----------+----+-----------+--------------+ 45679815845 M Tomasz Buczakowski 48491848438 M Andzej Krzemień 81871681861 K Karolina Cubisz 78168181348 M Aleksander Buczykowski 48618481389 M Jerzy Apostoł 56884864684 K Magdalena Koczkowska 84184864889 M Patryk Rutkowski 93818984869 M Daniel Dworkowski 48498386181 K Karina Puszkowski 78681864864 M Jakub Buczakowski 48648848646 M Stefan Buczakowski 84681846844 K Anna Stepaniuk 45784698943 M Grzegorz Warszawski
- Wypisać wszystkie nazwiska kończące się na "ski" w porządku alfabetycznym, bez powtórzeń.
- Wypisać w odwrotnym porządku alfabetycznym osobno imiona żeńskie i męskie.
Ćwiczenie 4
edytujNapisz funkcje wypisującą liczby pierwsze (lub złożone) z podanego zakresu liczb.
- Podpowiedź: Należy użyć algorytmu sita Eratostenesa.
Ćwiczenie 5
edytujMamy taki oto plik źródłowy:
#include <iostream>
using namespace std;
class wydatkiMiesieczne
{
public:
//w tym miejscu wpisz brakujace pola klasy
private:
int cenaChleb; //
int cenaMleko; //ceny produktow (przypisz je w konstruktorze)
int cenaGazeta; //
bool zakupChleba; //
bool zakupMleka; //zmienne true/false
bool zakupGazety; //
int pensja; //pensja obiektu (człowieka)
int sumaWydatkowMiesiecznych; //zmienna ktora sumuje wydatki
bool czyWystarczaNaMiesiac; //zmienna przechowuje true jesli pensja jest wieksza niz wydatki; jesli jest odwrotnie - false
};
int main(int argc, char** argv)
{
wydatkiMiesieczne Marian;
Marian.zarobek(200);
Marian.czyKupujeChleb(true);
Marian.czyKupujeMleko(true);
Marian.czyKupujeGazete(true);
Marian.obliczanieWydatkowMiesiecznych();
cout << "Pensja Mariana " << (Marian.czyWystarczaPieniedzyNaWydatkiMiesieczne() ? "jest wystarczajaca" : "nie jest wystarczajaca");
cout << " na pokrycie kosztow codziennych zakupow" << endl;
wydatkiMiesieczne* Jadwiga = new wydatkiMiesieczne;
Jadwiga->zarobek(12000);
Jadwiga->czyKupujeChleb(true);
Jadwiga->czyKupujeMleko(true);
Jadwiga->czyKupujeGazete(false);
Jadwiga->obliczanieWydatkowMiesiecznych();
cout << "Pensja Jadwigi " << (Jadwiga->czyWystarczaPieniedzyNaWydatkiMiesieczne() ? "jest wystarczajaca" : "nie jest wystarczajaca");
cout << " na pokrycie kosztow codziennych zakupow" << endl;
delete Jadwiga;
getchar();
return 0;
}
Program ten oblicza czy pensja, którą dostaje człowiek zdefiniowany jako obiekt klasy wydatkiMiesieczne, jest w stanie pokryć uproszczone wydatki miesięczne. Jednak program nie jest kompletny. Uzupełnij brakujące pola klasy w sekcji public stosując się do poniższych instrukcji:
- Użyj konstruktora do przypisania wartości polom danych:
+-----------+-----------------+ |nazwa pola |wartość która ma | | danych |zostać przypisana| +-----------+-----------------+ | cenaChleb | 2 | | cenaMleko | 3 | | cenaGazeta| 2 | | | | | sumaWydat-| | | kowMiesie-| 0 | | cznych | (opcjonalnie) | +-----------+-----------------+
- Pamiętaj że zmienne cenaChleb, cenaMleko i cenaGazeta reprezentują cenę za jedną sztukę danego produktu, a my będziemy potrzebować ceny za zakup tych towarów przez cały miesiąc (przyjmijmy ze miesiąc ma 30 dni).
- Nie twórz innych funkcji w sekcji public niż te, które zostały wywołane w funkcji main().
- Funkcja zarobek() ma pobierać liczbę reprezentującą zarobek danej osoby (w zł) i wpisywać tą wartość w zmienną pensja.
- Funkcje z przedrostkami czyKupuje- mają przypisywać wartość (true - jeśli kupuje dany produkt; false - jeśli nie) do swoich odpowiedników z sekcji private (np. funkcja czyKupujeMleko() przypisze wartość zmiennej zakupMleka).
- Funkcja obliczanieWydatkowMiesiecznych() ma obliczyć kwotę jaka będzie wydana przez miesiąc kupowania ustalonych przez obiekt produktów i przypisać wynik zmiennej sumaWydatkowMiesiecznych.
- Funkcja czyWystarczaPieniedzyNaWydatkiMiesieczne() ma obliczyć czy pensja danego obiektu jest wystarczająca na pokrycie kosztów zakupów, przekazać wynik true, albo false do zmiennej czyWystarczaNaMiesiac i zwrócić go.