Advertisement
Guest User

Untitled

a guest
Nov 17th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.94 KB | None | 0 0
  1. // Nazwa pliku wykonywalnego: Simpsons
  2.  
  3. // Prosze dopisac kod, dodac nowe pliki, tak aby program wykonywal
  4. // sie, a wynik jego dzialania byl taki sam jak podany na końcu tego
  5. // pliku.
  6.  
  7. // Prosze zwrocic uwage na dobre zarzadzanie pamiecia.
  8.  
  9. // Komentarze w kodzie pokazuja jakie wyjscie powinna generowac dana
  10. // linia.
  11.  
  12. // Pliku Main.cpp, nie wolno modyfikowac.
  13.  
  14. // Ostateczny program powinien byc przyjazny dla programisty (miec
  15. // czytelny i dobrze napisany kod).
  16.  
  17. // Makefile dolaczony do rozwiazania powinien tworzyc plik wykonywalny
  18. // o nazwie podanej na poczatku tego pliku. Program nalezy kompilowac
  19. // z flagami -Wall -Wextra -pedantic -g.
  20.  
  21. // Makefile powinien zawierac rowniez cel "clean", ktory usuwa pliki
  22. // obiektowe i plik wykonywalny.
  23.  
  24. // Przy wykonaniu zadania nie wolno korzystac z internetu, notatek,
  25. // ani zadnych innych materialow (w tym własnych wczesniej
  26. // przygotowanych plikow oprócz makefile)
  27.  
  28. // Kody zrodlowe musza znajdowac sie w katalogu do ktorego nikt oprocz
  29. // wlasciciela nie ma praw dostepu.
  30.  
  31. // Rozwiazanie (czyli dodane pliki, makefile i Main.cpp) nalezy wgrac
  32. // do UPEL: upel.agh.edu.pl/wfiis/course/view.php?id=22
  33.  
  34. #include "Main.h"
  35. #include "Main.h"
  36.  
  37. #define SIMPSONS_SIZE 3
  38.  
  39. #include<iostream>
  40.  
  41. int main ()
  42. {
  43.   std::cout<<"--- MAGGIE ---\n";
  44.   Student maggie;
  45.   maggie.first_letter_name = 'M';
  46.   maggie.first_letter_surname = 'S';
  47.   maggie.grade = 5;
  48.   print(maggie);        // Initials: M. S.  grade: 5
  49.  
  50.   std::cout<<"\n--- BART ---\n";
  51.   Student bart;
  52.   set_student ('B', 'S', 2, &bart);
  53.   print (bart);         // Initials: B. S.  grade: 2
  54.  
  55.   std::cout<<"\n--- LISA ---\n";
  56.   Student lisa;
  57.   set_student ('L', 'S', 6, &lisa);
  58.   print (lisa);         // Initials: L. S.  grade: 6
  59.  
  60.  
  61.   StudentsArray simpsons;
  62.   init_array(&simpsons, 3);
  63.   simpsons.element[0] = &maggie;
  64.   simpsons.element[1] = &lisa;
  65.   simpsons.element[2] = &bart;
  66.  
  67.  
  68.   std::cout<<"\n--- ITERATOR ---\n";
  69.   Iterator firstIter;
  70.   init_iter (&simpsons, &firstIter);
  71.   while (firstIter.object) {
  72.     print (*firstIter.object);
  73.     move_forward(&firstIter);
  74.   }
  75.  
  76.  
  77.   std::cout<<"\n--- ELEMENT 1 ---\n";
  78.   select_element(&firstIter, 1);
  79.   print (*firstIter.object);
  80.  
  81.   std::cout<<"\n--- TWO ITERATORS ---\n";
  82.   Iterator secondIter;
  83.   init_iter (&simpsons, &secondIter);
  84.  
  85.   while (firstIter.object) {
  86.     print (*firstIter.object);
  87.     move_forward(&firstIter);
  88.  
  89.     print (*secondIter.object);
  90.     move_forward(&secondIter);
  91.   }
  92.   delete_array (&simpsons);
  93.   return 0;
  94. }
  95. /* wynik dzialania programu:
  96. --- MAGGIE ---
  97. Initials: M. S.     grade: 5
  98.  
  99. --- BART ---
  100. Initials: B. S.     grade: 2
  101.  
  102. --- LISA ---
  103. Initials: L. S.     grade: 6
  104.  
  105. --- ITERATOR ---
  106. Initials: M. S.     grade: 5
  107. Initials: L. S.     grade: 6
  108. Initials: B. S.     grade: 2
  109.  
  110. --- ELEMENT 1 ---
  111. Initials: L. S.     grade: 6
  112.  
  113. --- TWO ITERATORS ---
  114. Initials: L. S.     grade: 6
  115. Initials: M. S.     grade: 5
  116. Initials: B. S.     grade: 2
  117. Initials: L. S.     grade: 6
  118. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement