Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.02 KB | None | 0 0
  1. #include <fstream>
  2. #include <string>
  3. #include <iostream>
  4. using namespace std;
  5. class Student {//
  6.  
  7.     string name;//deklaracje
  8.     string surname;//string to ci¹g znaków, typ zmiennej
  9.     int height;//liczba ca³kowita(max 4 bajty)
  10.     double weight;//liczba wiêksza (liczba rzeczywista)
  11. public:
  12.     Student() {
  13.         name;
  14.         surname;
  15.         height;
  16.         weight;
  17.     }
  18.  
  19.     Student(string _name, string _surname, int _height, double _weight) {
  20.         name = _name;
  21.         surname = _surname;
  22.         height = _height;
  23.         weight = _weight;
  24.     }//funkcja przenosz¹ca która przepisuje z name do _name
  25.  
  26.     string toString() {//zapisze wszystkie dane jako jeden ci¹g
  27.      return name + " " + surname + " " + string to_string(height) + " " + string to_string(weight);//zwróci dane
  28.     }
  29.  
  30.     int compareTo(Student &student) {//funkcja która porównuje
  31.         int val = height - student.height;
  32.         if (val == 0)
  33.             val = weight - student.weight;
  34.  
  35.         return val;
  36.     }
  37. };
  38.  
  39. int main()
  40. {
  41.  
  42.  
  43.     Student tabOfStudents[35];//deklaracja tablicy
  44.     string name;//--
  45.     string surname;//--
  46.     int height;//--
  47.     double wage;//--
  48.     cout << "Podaj dane studentów imie nazwisko wzrost waga" << endl;//wypisanie tekstu
  49.     for (int i = 0; i < 35; i++)////pentla wypisuj¹ca talicy dane pobrane z funkcji student
  50.     {
  51.         cin >> name >> surname >> height >> wage;
  52.         tabOfStudents[i] = Student(name, surname, height, wage);//przypisanie wszystkiego do tej tablicy linijka
  53.     }
  54.  
  55.     for (int i = 0; i < 35; i++)
  56.         for (int j = i; j < 1; j++)
  57.             if (tabOfStudents[i].compareTo(tabOfStudents[j]) < 0)//pentla która robi porównanie 1 z 2 bêdzie zamieniaæ miejscami
  58.                 swap(tabOfStudents[i], tabOfStudents[j]);//zamiana miejscami pentla
  59.  
  60.     for (int i = 0; i < 35; i++)//pentla która wypisuje wszystko z tablicy
  61.         cout << tabOfStudents[i].toString() << endl;
  62.  
  63.     cout << "Chcesz zapisaæ do pliku ? (TAK - tak, cokolwiek innego - nie)" << endl;
  64.     cin >> name;
  65.     if (name == "Tak" || name == "TAK" || name == "tak")
  66.     {
  67.         fstream plik;//biblioteka !!!
  68.         plik.open("studenci.txt", std::ios::in | std::ios::out);// otwarcie pliku (ios::out)-zapisanie danych do pliku ios::in-pozwala na odczytanie danych z pliku
  69.         if (plik.good() == true)//da odpowiedz tak jeœli uda siê uzyskaæ dostêp programowi do tego pliku , zwraca tak albo nie,jeœli tak przejdzie do pentli for i zapisze plik,
  70.         {
  71.             for (int i = 0; i < 35; i++)
  72.                 plik << tabOfStudents[i].toString() << endl;;
  73.             plik.close();//program zosta³ zapisany
  74.             cout << "Zapisano dane do pliku" << endl;
  75.         }
  76.         else std::cout << "Dostep do pliku zostal zabroniony!" << std::endl;//program niedosta³ dostêp do pliku
  77.     }
  78.     else {
  79.         cout<<"Nie zapisano do pliku na prosbe uzytkownika"<<endl;//pojawi siê jeœli u¿ytkownik nie wpisze tak
  80.     }
  81.     cin.ignore();
  82.  
  83.     return 0;
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement