Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- using namespace std;
- const int var=15;
- const int month=12;
- const int day=31;
- void wczytaj(int LiczbaPrzedmiotow);
- void wypisz(int LiczbaPrzedmiotow);
- void dziedzictwo(int LiczbaPrzedmiotow);
- struct przedmiot{
- bool priorytet1;
- bool priorytet2;
- bool priorytet3;
- int nrPrzedmiotu;
- int kolejka;
- int nrPrzedmiotuNastepnego1;
- int nrPrzedmiotuNastepnego2;
- int nrPrzedmiotuPoprzedniego1;
- int nrPrzedmiotuPoprzedniego2;
- string nazwa;
- string skrot;
- int dni;
- int DzienPoczatkowy;
- int DzienKoncowy;
- int MiesiacPoczatkowy;
- int MiesiacKoncowy;
- };
- przedmiot tablica[var];
- int main()
- {
- int poprzednicy[var][var];
- cout << "Podaj liczbe przedmiotow:" <<endl;
- int LiczbaPrzedmiotow;
- cin>>LiczbaPrzedmiotow;
- wczytaj(LiczbaPrzedmiotow);
- wypisz(LiczbaPrzedmiotow);
- for(int i=0; i<var; i++)
- {
- for(int j=0; j<var; j++)
- {
- poprzednicy[i][j]=0;
- }
- }
- for(int i=0; i<LiczbaPrzedmiotow; i++) //funckja ustala relacje pomiedzy przedmiotami poprzednimi a nastepnymi
- {
- cout<<"Jesli przedmiot "<<tablica[i].nazwa<<" nie ma przedmiotu poprzedniego wpisz 1"<<endl;
- cout<<"Jesli przedmiot "<<tablica[i].nazwa<<" ma jeden przedmiot poprzedni wpisz 2"<<endl;
- cout<<"Jesli przedmiot "<<tablica[i].nazwa<<" ma dwa przedmioty poprzednie wpisz 3"<<endl;
- int wybor;
- cin >> wybor;
- while(wybor<1 or wybor>3)
- {
- cout<<"Podano zla wartosc wprowadz jeszcze raz:"<<endl;
- cin>>wybor;
- }
- if(wybor==1) tablica[i].priorytet1=true;
- else if(wybor==2)
- {
- cout << "Podaj dla przedmiotu " << tablica[i].nazwa <<
- " numer przedmiotu ktory ma byc poprzednikiem: " << endl;
- cin >> tablica[i].nrPrzedmiotuPoprzedniego1;
- tablica[i].priorytet2=true;
- }
- else
- {
- cout << "Podaj dla przedmiotu " << tablica[i].nazwa <<
- " numer pierwszego przedmiotu ktory ma byc poprzednikiem: " << endl;
- cin >> tablica[i].nrPrzedmiotuPoprzedniego1;
- cout << "Podaj dla przedmiotu " << tablica[i].nazwa <<
- " numer drugiego przedmiotu ktory ma byc poprzednikiem: " << endl;
- cin >> tablica[i].nrPrzedmiotuPoprzedniego2;
- tablica[i].priorytet3=true;
- }
- }
- cout<<"Informacja o przedmiotach: " <<endl;
- cout<<endl;
- cout<<"----------------------------------------------------------"<<endl;
- cout<<endl;
- cout<<"| przedmiot | l.dni | przedm. poprz."<<endl;
- cout<<endl;
- cout<<"----------------------------------------------------------"<<endl;
- cout<<endl;
- for(int i=0; i<LiczbaPrzedmiotow; i++)
- {
- cout <<setw(10)<< tablica[i].skrot <<setw(14)<<tablica[i].dni<<setw(14);
- if(tablica[i].priorytet1) cout<<"brak"<<endl;
- else{
- int a=tablica[i].nrPrzedmiotuPoprzedniego1;
- int b=tablica[i].nrPrzedmiotuPoprzedniego2;
- if(tablica[i].priorytet2)
- {
- cout << tablica[a].skrot<<endl;
- poprzednicy[a][var]=1;
- }
- else
- {
- cout << tablica[a].skrot<<", "<<tablica[b].skrot<<endl;
- poprzednicy[a][var]=1;
- poprzednicy[b][var]=1;
- }
- }
- }
- return 0;
- }
- void wczytaj(int LiczbaPrzedmiotow) //funkcja sluzaca do wczytywania danych do struktury
- {
- for(int i=0; i<LiczbaPrzedmiotow; i++)
- {
- tablica[i].nrPrzedmiotu=i;
- cout << "Podaj nazwe przedmiotu nr "<< i+1 << "." << endl;
- cin >> tablica[i].nazwa;
- cout << "Podaj skrot przedmiotu nr "<< i+1 << "." << endl;
- cin >> tablica[i].skrot;
- cout << "Podaj liczbe dni realizacji przedmiotu nr "<< i+1 << "." << endl;
- cin >> tablica[i].dni;
- while(tablica[i].dni>15 or tablica[i].dni<=0) //wymog spelnienia warunku max 15 dni na przedmiot
- {
- cout << "Zla wartosc podaj poprawna z przedzialu [1;15]: "<<endl;
- cin >> tablica[i].dni;
- }
- tablica[i].priorytet1=false;
- tablica[i].priorytet2=false;
- tablica[i].priorytet3=false;
- }
- }
- void wypisz(int LiczbaPrzedmiotow)
- {
- cout << "Liczba przedmiotow: " << LiczbaPrzedmiotow;
- cout << endl;
- cout << endl;
- for(int i=1; i<=LiczbaPrzedmiotow; i++)
- {
- cout<<"Przedmiot "<<i<<endl;
- cout<<endl;
- cout<<"Nazwa pelna: "<< tablica[i-1].nazwa<<endl;
- cout<<"Nazwa skrocona: "<< tablica[i-1].skrot<<endl;
- cout<<"Liczba dni do realizacji: "<< tablica[i-1].dni<<endl;
- cout<<endl;
- }
- }
Add Comment
Please, Sign In to add comment