faggot121

Untitled

Dec 8th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.37 KB | None | 0 0
  1. #include <iostream>
  2. #include <iomanip>
  3.  
  4. using namespace std;
  5. const int var=15;
  6. const int month=12;
  7. const int day=31;
  8.  
  9. void wczytaj(int LiczbaPrzedmiotow);
  10. void wypisz(int LiczbaPrzedmiotow);
  11. void dziedzictwo(int LiczbaPrzedmiotow);
  12.  
  13. struct przedmiot{
  14. bool priorytet1;
  15. bool priorytet2;
  16. bool priorytet3;
  17. int nrPrzedmiotu;
  18. int kolejka;
  19. int nrPrzedmiotuNastepnego1;
  20. int nrPrzedmiotuNastepnego2;
  21. int nrPrzedmiotuPoprzedniego1;
  22. int nrPrzedmiotuPoprzedniego2;
  23. string nazwa;
  24. string skrot;
  25. int dni;
  26. int DzienPoczatkowy;
  27. int DzienKoncowy;
  28. int MiesiacPoczatkowy;
  29. int MiesiacKoncowy;
  30. };
  31. przedmiot tablica[var];
  32.  
  33. int main()
  34. {
  35. int poprzednicy[var][var];
  36. cout << "Podaj liczbe przedmiotow:" <<endl;
  37. int LiczbaPrzedmiotow;
  38. cin>>LiczbaPrzedmiotow;
  39.  
  40. wczytaj(LiczbaPrzedmiotow);
  41. wypisz(LiczbaPrzedmiotow);
  42. for(int i=0; i<var; i++)
  43. {
  44. for(int j=0; j<var; j++)
  45. {
  46. poprzednicy[i][j]=0;
  47. }
  48. }
  49.  
  50. for(int i=0; i<LiczbaPrzedmiotow; i++) //funckja ustala relacje pomiedzy przedmiotami poprzednimi a nastepnymi
  51. {
  52. cout<<"Jesli przedmiot "<<tablica[i].nazwa<<" nie ma przedmiotu poprzedniego wpisz 1"<<endl;
  53. cout<<"Jesli przedmiot "<<tablica[i].nazwa<<" ma jeden przedmiot poprzedni wpisz 2"<<endl;
  54. cout<<"Jesli przedmiot "<<tablica[i].nazwa<<" ma dwa przedmioty poprzednie wpisz 3"<<endl;
  55.  
  56. int wybor;
  57. cin >> wybor;
  58.  
  59. while(wybor<1 or wybor>3)
  60. {
  61. cout<<"Podano zla wartosc wprowadz jeszcze raz:"<<endl;
  62. cin>>wybor;
  63. }
  64.  
  65.  
  66. if(wybor==1) tablica[i].priorytet1=true;
  67. else if(wybor==2)
  68. {
  69. cout << "Podaj dla przedmiotu " << tablica[i].nazwa <<
  70. " numer przedmiotu ktory ma byc poprzednikiem: " << endl;
  71. cin >> tablica[i].nrPrzedmiotuPoprzedniego1;
  72. tablica[i].priorytet2=true;
  73. }
  74. else
  75. {
  76. cout << "Podaj dla przedmiotu " << tablica[i].nazwa <<
  77. " numer pierwszego przedmiotu ktory ma byc poprzednikiem: " << endl;
  78.  
  79. cin >> tablica[i].nrPrzedmiotuPoprzedniego1;
  80. cout << "Podaj dla przedmiotu " << tablica[i].nazwa <<
  81. " numer drugiego przedmiotu ktory ma byc poprzednikiem: " << endl;
  82.  
  83. cin >> tablica[i].nrPrzedmiotuPoprzedniego2;
  84. tablica[i].priorytet3=true;
  85. }
  86. }
  87.  
  88.  
  89.  
  90.  
  91. cout<<"Informacja o przedmiotach: " <<endl;
  92. cout<<endl;
  93. cout<<"----------------------------------------------------------"<<endl;
  94. cout<<endl;
  95. cout<<"| przedmiot | l.dni | przedm. poprz."<<endl;
  96. cout<<endl;
  97. cout<<"----------------------------------------------------------"<<endl;
  98. cout<<endl;
  99.  
  100. for(int i=0; i<LiczbaPrzedmiotow; i++)
  101. {
  102. cout <<setw(10)<< tablica[i].skrot <<setw(14)<<tablica[i].dni<<setw(14);
  103. if(tablica[i].priorytet1) cout<<"brak"<<endl;
  104. else{
  105. int a=tablica[i].nrPrzedmiotuPoprzedniego1;
  106. int b=tablica[i].nrPrzedmiotuPoprzedniego2;
  107.  
  108. if(tablica[i].priorytet2)
  109. {
  110. cout << tablica[a].skrot<<endl;
  111. poprzednicy[a][var]=1;
  112. }
  113. else
  114. {
  115. cout << tablica[a].skrot<<", "<<tablica[b].skrot<<endl;
  116. poprzednicy[a][var]=1;
  117. poprzednicy[b][var]=1;
  118. }
  119.  
  120. }
  121. }
  122.  
  123.  
  124.  
  125. return 0;
  126. }
  127. void wczytaj(int LiczbaPrzedmiotow) //funkcja sluzaca do wczytywania danych do struktury
  128. {
  129. for(int i=0; i<LiczbaPrzedmiotow; i++)
  130. {
  131. tablica[i].nrPrzedmiotu=i;
  132. cout << "Podaj nazwe przedmiotu nr "<< i+1 << "." << endl;
  133. cin >> tablica[i].nazwa;
  134. cout << "Podaj skrot przedmiotu nr "<< i+1 << "." << endl;
  135. cin >> tablica[i].skrot;
  136. cout << "Podaj liczbe dni realizacji przedmiotu nr "<< i+1 << "." << endl;
  137. cin >> tablica[i].dni;
  138.  
  139. while(tablica[i].dni>15 or tablica[i].dni<=0) //wymog spelnienia warunku max 15 dni na przedmiot
  140. {
  141. cout << "Zla wartosc podaj poprawna z przedzialu [1;15]: "<<endl;
  142. cin >> tablica[i].dni;
  143. }
  144. tablica[i].priorytet1=false;
  145. tablica[i].priorytet2=false;
  146. tablica[i].priorytet3=false;
  147. }
  148.  
  149. }
  150. void wypisz(int LiczbaPrzedmiotow)
  151. {
  152. cout << "Liczba przedmiotow: " << LiczbaPrzedmiotow;
  153. cout << endl;
  154. cout << endl;
  155. for(int i=1; i<=LiczbaPrzedmiotow; i++)
  156. {
  157. cout<<"Przedmiot "<<i<<endl;
  158. cout<<endl;
  159. cout<<"Nazwa pelna: "<< tablica[i-1].nazwa<<endl;
  160. cout<<"Nazwa skrocona: "<< tablica[i-1].skrot<<endl;
  161. cout<<"Liczba dni do realizacji: "<< tablica[i-1].dni<<endl;
  162. cout<<endl;
  163. }
  164. }
Add Comment
Please, Sign In to add comment