Simulacija dizala
by Petar Šestak
1. void izlazak_horoskop (char *znak)
1.1. dan_i_mjesec=datum_rodj[0-4]
1.2. if (znak==znak_osobe) {PushS(TopS(stog),pomocni);}
1.3. PopS(stog)
1.4. if(IsEmptyS(stog)) {break;}
1.5. while(!IsEmptyS(pomocni)) {PushS(TopS(pomocni),stog);}
1.6. PopS(pomocni);
2. operacije sa stogom
2.1. void PopS(tstog(*) stog)
2.2. void PushS(telement element,tstog(*) stog)
2.3. telement TopS(tstog(*) stog)
2.4. bool IsEmptyS(tstog(*) stog)
2.5. void InitS(tstog(*) stog)
3. lista *lista_OIBova
3.1. char OIB[12]
3.2. lista *sljedeci
4. void ulazak ()
4.1. telement osoba=gen_osobe ()
4.2. for each in lista_OIBova {if (lista.OIB==osoba.OIB) return}
4.3. PushS(osoba,stog)
4.4. do {..} while (broj_ljudi<16)
4.5. if (ukup_tezina>1120) {while(!IsEmptyS(stog)) PopS(stog) }
5. element gen_osobe ()
5.1. for each in OIB[] {OIB[i]=48+rand()%10}
5.2. for each in (prez)ime[] {(prez)ime[i]=65+rand()%26}
5.3. datum_rodj=itoa(1+rand()%31)+"." +itoa(1+rand()%12)+"." +itoa(1920+rand()%95)+".";
5.4. (rand()%2==0) : spol='M' ? spol='Z'
6. tstog(*) pomocni
6.1. int vrh/tstog *sljedeci
6.2. telement element
6.2.1. char OIB[12]
6.2.2. char datum_rodj[12]
6.2.3. char spol
6.2.4. char prezime[16]
6.2.5. char ime[16]
7. tstog(*) stog
7.1. int vrh/tstog *sljedeci
7.2. telement element
7.2.1. char OIB[12]
7.2.2. char datum_rodj[12]
7.2.3. char spol
7.2.4. char prezime[16]
7.2.5. char ime[16]
8. void izlazak_rekurzija (char spol)
8.1. telement osoba=TopS(stog);
8.2. PopS(stog);
8.3. if (!IsEmptyS(stog)) {izlazak_rekurzija (spol);}
8.4. else {return;}
8.5. PushS(osoba,stog);
8.6. izbacuje sa stoga sve osobe suprotnog spola sa manje od 50 kg i više od 90 kg
9. void stanje_stoga ()
9.1. ispisuje strukturirano sve zapise na stogu
10. sex_count stanje
10.1. int muska
10.2. int zenska
10.3. age_count dobna_skupina_m
10.3.1. int mlada
10.3.2. int mlada_zrela
10.3.3. int stara_zrela
10.3.4. int stara
10.4. age_count dobna_skupina_z
10.4.1. int mlada
10.4.2. int mlada_zrela
10.4.3. int stara_zrela
10.4.4. int stara