Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <string>
- #include <bitset>
- using namespace std;
- struct Warzywa
- {
- char rodzaj[30];
- int jakosc;
- float masa;
- };
- Warzywa** Tworzetablice(int,int);
- void zwolnij(Warzywa**, int);
- Warzywa wypelnij(Warzywa*);
- bool zapis(Warzywa* ,const int);
- bool parzystosc(int);
- int main()
- {
- int kolumny, wiersze;
- cout << "Podaj ile chcesz miec kolumn w tablicy: ";
- cin >> kolumny;
- cout << "Podaj ile chcesz miec wierszy w tablicy: ";
- cin >> wiersze;
- zwolnij(Tworzetablice(kolumny, wiersze), kolumny);
- Warzywa Banan;
- wypelnij(&Banan);
- const int rozmiar = 2;
- Warzywa tab[rozmiar];
- tab[0].jakosc = 11;
- tab[0].masa = 2.4;
- strcpy_s(tab[0].rodzaj, "sadasfsa fasfas");
- tab[1].jakosc = 11;
- tab[1].masa = 2.4;
- strcpy_s(tab[1].rodzaj, "sadasfsa fasfas");
- if (zapis(tab, rozmiar) == true) {
- cout << "Zapisano" << endl;
- }
- else {
- cout << "Nie zapisano" << endl;
- }
- int liczba = 2;
- if (parzystosc(liczba) == true) {
- cout << "Liczba bitow parzysta" << endl;
- }
- else{
- cout << "Liczba bitow nieparzysta" << endl;
- }
- }
- Warzywa** Tworzetablice(int kolumny, int wiersze) {
- Warzywa**tablica = new Warzywa*[kolumny];
- for (int i = 0; i <= kolumny-1; i++) {
- tablica[i] = new Warzywa[wiersze];
- }
- return tablica;
- }
- void zwolnij(Warzywa** tablica, int kolumny) {
- for (int i = 0; i <= kolumny - 1; i++) {
- delete[] tablica[i];
- }
- delete[] tablica;
- }
- Warzywa wypelnij(Warzywa* B) {
- cout << "Podaj rodzaj Warzywa rodzaj moze miec tylko 30 znakow w innym przypadku tekst zostanie przyciety: ";
- cin.ignore();
- cin.getline(B->rodzaj, 30);
- cout << "Podaj jakosc Warzywa: ";
- do {
- cin >> B->jakosc;
- if (cin.fail()) {
- cin.clear();
- cin.ignore(numeric_limits<streamsize>::max(),'\n');
- cout << "Podaj prawidlowa wartosc: ";
- }
- else {
- break;
- }
- } while (true);
- cout << "Podaj mase Warzywa: ";
- do {
- cin >> B->masa;
- if (cin.fail()) {
- cin.clear();
- cin.ignore(numeric_limits<streamsize>::max(),'\n');
- cout << "Podaj prawidlowa wartosc: ";
- }
- else {
- break;
- }
- } while (true);
- return *B;
- }
- bool zapis(Warzywa* p, const int in) {
- string nazwa;
- cout << "Podaj sciezke pliku jesli nie istnieje powstanie nowa ";
- cin >> nazwa;
- ofstream plik(nazwa); //Tworzenie pliku
- plik.close();
- ofstream pl(nazwa, ios_base::app); //dopisywanie wartosci do pliku
- for (int i = 0; i <= in - 1; i++) {
- pl << p[i].rodzaj << endl;
- pl << p[i].jakosc << endl;
- pl << p[i].masa << endl;
- pl << "+++++++++++++++++" << endl;
- }
- if (pl.good()) {
- return true;
- }
- else
- {
- return false;
- }
- }
- bool parzystosc(int l) {
- bitset<sizeof(int) * 8> bit(l);
- if (bit.count() % 2 == 0) {
- return true;
- }
- else {
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement