snipt

Ctrl+h for KB shortcuts

Text only

Glavni program

#include<iostream>
#include<time.h>
//#include "lista_polje.h"
#include "lista_pokazivaci.h"
using namespace std;

int upiszaposlenika(){
    cin.ignore();
    int minimalno;
    datrod rodendan;
    int mjesec;
    int d;
    int godina;
    minimalno=0;
    char preime[40];
    bool rdmj=false;
    bool programer;
    bool racunovoda;
    bool cistac;
    bool dostavljac;
    bool kuhar;
    
    do{
         
         cout<<"Morate unjeti minimalno 5 zaposlenika zaposlenih na razlicitim pozicijama!!" << endl;
         do{
             cout <<"Unesite prezime i ime novog zaposlenika (dozvoljeno max 40 znakova): " << endl;
             cin.getline(preime,40);
             }while(strlen(preime)>40);
       
        mjesec=0;
        do{
                        cout <<"Unesite mjesec rodenja zaposlenika(1-12): "; cin >> mjesec;
                        if(mjesec<1 && mjesec>12)
                                    cout <<"Mjesec mora biti u rasponu od 1-12! Ponovite unos!" << endl;
                        }while(mjesec>12 || mjesec<1);
        rodendan.mj=mjesec;  
        d=1; 
       do {
                   cout <<"Unesite dan rodenja zaposlenika(1-31): "; cin >> d;
                   if(mjesec == 2)
                             if(d>28)
                                     while(d>28){
                                                cout <<"U 2 mjesecu moze biti maksimalno 28 dana! Ponovite unos dana! " << endl;
                                        cin >> d;
                                        }
                   else if(d<1 && d>31)
                          cout <<"Dan mora biti u rasponu od 0-31! Ponovite unos!" << endl;
                          } while(d>31 || d<1);
        rodendan.dan=d;
        
        godina=1;
        do{
                          cout <<"Unesite godinu rodenja zaposlenika(1940-1998): "; cin >> godina;
                          if(godina>1998 && godina<1940)
                                         cout <<"Godina mora biti u rasponu od 1940-1998! Ponovite unos!" << endl;
                          }while(godina>1998 || godina<1940);
        rodendan.god=godina;
        
        
        int odabirdmj;
        string radnomjesto;
        
        do{
                    cout<<"Odaberite jedno od ponudenih radnih mjesta!" << endl;
                    cout<<"1. Programer! " << endl;
                    cout<<"2. Racunovoda! " << endl;
                    cout<<"3. Cistac! " <<endl;
                    cout<<"4. Dostavljac! " <<endl;
                    cout<<"5. Kuhar! " << endl;
                    cout<<"----------------------" << endl;
                    cout<<"Vas odabir: "; cin >>odabirdmj;
                    
                    switch(odabirdmj){
                                      case 1: {cout <<"Zaposlenik radi na poziciji programera! " << endl;
                                                             radnomjesto="Programer"; cout<< endl;
                                                             programer=true;
                                                             break;
                                                             }
                                      case 2: {cout<<"Zaposlenik radi na poziciji racunovode! " << endl;
                                                              radnomjesto="Racunovoda"; cout << endl;
                                                              racunovoda=true;
                                                              break;
                                                              }
                                              
                                      case 3: {cout<<"Zaposlenik radi na poziciji cistaca! " << endl;
                                                          radnomjesto="Cistac"; cout<< endl;
                                                          cistac=true;
                                                          break;
                                                          }
                                      case 4: {cout<<"Zaposlenik radi na poziciji dostavljaca! "<< endl;
                                                                radnomjesto="Dostavljac"; cout << endl;
                                                                dostavljac=true;
                                                                break;
                                                                }
                                      case 5: {cout<<"Zaposlenik radi na poziciji kuhara! " << endl;
                                                                radnomjesto="Kuhar"; cout << endl;
                                                                kuhar=true;
                                                                break;
                                                                }
                                      };
                    }while(odabirdmj!=1 && odabirdmj!=2 && odabirdmj !=3 && odabirdmj != 4 && odabirdmj !=5);
        
        InsertL(preime,rodendan,radnomjesto);
        
        cin.ignore();
        }while((programer!=true) || (racunovoda!=true) || (cistac!=true) || (dostavljac!=true) || (kuhar!=true));
        
        return 1;
                }
    
         

radnik pivot(int i, int j) {
       srand(time(NULL));
       int a;
       a= j-i;
       int broj;
       broj = rand()%a + i;
       return RetrieveL(broj);
}
void qsort(int i, int j) {
     int d;
     d=0;
     int t=j-d;
     radnik as = pivot(i,j);
     while (d<t) {
           while (strcmp(RetrieveL(d).oib,as.oib)==1){
                  d++;
                  }
           while (strcmp(RetrieveL(t).oib,as.oib)==-1) {
                 t--;
                 }
           if (strcmp(RetrieveL(d).oib,RetrieveL(t).oib)!=0){
                                                              zamjena(d,t);
                                                              }
           else if (d!=t) {
                d++;
                }      
     }
     if (i<d-1) qsort(i,d-1);
     if (j>d+1) qsort(d+1,j);
}


void razvrstavanje(){
     int i;
     i=0;
     cout <<"Razvrstavanje zaposlenika pomocu quick sorta!" << endl;
     cout << endl;
     qsort(0,EndL()-1);
     while(i<EndL()){
                     cout <<"OIB zaposlenika: " << RetrieveL(i).oib << endl;
                     cout <<"Prezime i ime zaposlenika: " << RetrieveL(i).pre_ime << endl;
                     cout <<"Datum rodenja zaposlenika(d/m/g): " << RetrieveL(i).datum.dan <<"." <<RetrieveL(i).datum.mj <<"."<< RetrieveL(i).datum.god<<"."<< endl;
                     cout <<"Radno mjesto zaposlenika: " << RetrieveL(i).rad_mjesto << endl;
                     i++;
                     }
     }


int bris_oib(){
    int i;
    i=0;
    cin.ignore();
    cout<<"Za brisanje prema OIB-u morate upisati OIB zaposlenika! " << endl;
    char brisi[12];
    cout<<"Unesite OIB: "; cin.getline(brisi,12);
    while(i<EndL()){
                    if(strcmp(RetrieveL(i).oib,brisi)==0){
                                                          DeleteL(i);
                                                          return 1;
                                                          }
                    i++;
                    }
    return 0;
    }
    
int bris_rad_mj(){
    int i;
    i=0;
    cin.ignore();
    cout<<"Za brisanje prema radnom mjestu morate unjeti tocan naziv radnog mjesta! " << endl;
    string brisi;
    cout<<"Unesite jedno od radnih mjesta:( Programer )|( Racunovoda )|( Cistac )|( Dostavljac )|( Kuhar )! " << endl;
    cout<<"Vas odabir: "; 
    cin >> brisi;
    while(i<EndL()){
                    if(RetrieveL(i).rad_mjesto==brisi){
                                                          DeleteL(i);
                                                          return 1;
                                                          }
                    i++;
                    }
    return 0;
    }


int main(){
    int izbor;
    bool ima;
    InitL();
    do{
       cout << endl;
        cout <<"<<<<<<<<<< IZBORNIK   >>>>>>>>>>" << endl;
        cout <<"Odaberite jednu od ponudenih opcija: " << endl;
        cout <<"1. Unos novog zaposlenika! " << endl;
        cout <<"2. Sortiranje zaposlenika prema OIB-u! " << endl;
        cout <<"3. Pretrazivanje i ispis zaposlenika sa istim horoskopskim znakom kao i ja! " << endl;
        cout <<"4. Brisanje zaposlenika prema OIB-u " << endl;
        cout <<"5. Brisanje prema radnom mjestu!" << endl;
        cout <<"0. Izlaz iz programa! " << endl;
        cout <<"   Vas odabir: "; cin >> izbor;
        cout <<"-------------------------" << endl; 
        
        switch(izbor){
                      case 1:if(upiszaposlenika()){
                                                     cout <<"Uspjesno ste unjeli zaposlenika!" << endl;
                                                     
                                                     ima=true;
                                                     break;
                                                     }
                             else{ 
                                  cout <<"Nesupjeli unos zaposlenika, probajte ponovo!" << endl;
                                  }
                                  break;
                      case 2:if(ima!=1){
                                        cout<<"Nema unesenih zaposlenika!! " << endl;
                                        break;
                                        }
                             else{
                                        razvrstavanje(); 
                                        break;
                                        }
                                        
                      case 4:if(bris_oib()){
                                            cout <<"Uspjesno ste obrisali zaposlenika! " << endl;
                                            break;
                                            }
                             else{
                                 cout <<"Brisanje nije uspjelo! " << endl;
                                 break;
                                 }
                      case 5:if(bris_rad_mj()){
                                               cout<<"Uspjesno ste obrisali zaposlenika! " << endl;
                                               break;
                                               }
                             else{
                                 cout <<"Brisanje nije uspjelo! " << endl;
                                 break;
                                 }
                      
                                                     
                      
                      
                      };
        }while(izbor!=0);
    system("pause");
    return 0;
    }
https://snipt.net/embed/92a43df37af12e96b8f89aabcdf9d571/
/raw/92a43df37af12e96b8f89aabcdf9d571/
92a43df37af12e96b8f89aabcdf9d571
text
Text only
261
2019-08-18T06:01:34
True
False
False
Nov 10, 2013 at 05:22 PM
/api/public/snipt/93305/
glavni-program-44
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><a href="#L-1"> 1</a> <a href="#L-2"> 2</a> <a href="#L-3"> 3</a> <a href="#L-4"> 4</a> <a href="#L-5"> 5</a> <a href="#L-6"> 6</a> <a href="#L-7"> 7</a> <a href="#L-8"> 8</a> <a href="#L-9"> 9</a> <a href="#L-10"> 10</a> <a href="#L-11"> 11</a> <a href="#L-12"> 12</a> <a href="#L-13"> 13</a> <a href="#L-14"> 14</a> <a href="#L-15"> 15</a> <a href="#L-16"> 16</a> <a href="#L-17"> 17</a> <a href="#L-18"> 18</a> <a href="#L-19"> 19</a> <a href="#L-20"> 20</a> <a href="#L-21"> 21</a> <a href="#L-22"> 22</a> <a href="#L-23"> 23</a> <a href="#L-24"> 24</a> <a href="#L-25"> 25</a> <a href="#L-26"> 26</a> <a href="#L-27"> 27</a> <a href="#L-28"> 28</a> <a href="#L-29"> 29</a> <a href="#L-30"> 30</a> <a href="#L-31"> 31</a> <a href="#L-32"> 32</a> <a href="#L-33"> 33</a> <a href="#L-34"> 34</a> <a href="#L-35"> 35</a> <a href="#L-36"> 36</a> <a href="#L-37"> 37</a> <a href="#L-38"> 38</a> <a href="#L-39"> 39</a> <a href="#L-40"> 40</a> <a href="#L-41"> 41</a> <a href="#L-42"> 42</a> <a href="#L-43"> 43</a> <a href="#L-44"> 44</a> <a href="#L-45"> 45</a> <a href="#L-46"> 46</a> <a href="#L-47"> 47</a> <a href="#L-48"> 48</a> <a href="#L-49"> 49</a> <a href="#L-50"> 50</a> <a href="#L-51"> 51</a> <a href="#L-52"> 52</a> <a href="#L-53"> 53</a> <a href="#L-54"> 54</a> <a href="#L-55"> 55</a> <a href="#L-56"> 56</a> <a href="#L-57"> 57</a> <a href="#L-58"> 58</a> <a href="#L-59"> 59</a> <a href="#L-60"> 60</a> <a href="#L-61"> 61</a> <a href="#L-62"> 62</a> <a href="#L-63"> 63</a> <a href="#L-64"> 64</a> <a href="#L-65"> 65</a> <a href="#L-66"> 66</a> <a href="#L-67"> 67</a> <a href="#L-68"> 68</a> <a href="#L-69"> 69</a> <a href="#L-70"> 70</a> <a href="#L-71"> 71</a> <a href="#L-72"> 72</a> <a href="#L-73"> 73</a> <a href="#L-74"> 74</a> <a href="#L-75"> 75</a> <a href="#L-76"> 76</a> <a href="#L-77"> 77</a> <a href="#L-78"> 78</a> <a href="#L-79"> 79</a> <a href="#L-80"> 80</a> <a href="#L-81"> 81</a> <a href="#L-82"> 82</a> <a href="#L-83"> 83</a> <a href="#L-84"> 84</a> <a href="#L-85"> 85</a> <a href="#L-86"> 86</a> <a href="#L-87"> 87</a> <a href="#L-88"> 88</a> <a href="#L-89"> 89</a> <a href="#L-90"> 90</a> <a href="#L-91"> 91</a> <a href="#L-92"> 92</a> <a href="#L-93"> 93</a> <a href="#L-94"> 94</a> <a href="#L-95"> 95</a> <a href="#L-96"> 96</a> <a href="#L-97"> 97</a> <a href="#L-98"> 98</a> <a href="#L-99"> 99</a> <a href="#L-100">100</a> <a href="#L-101">101</a> <a href="#L-102">102</a> <a href="#L-103">103</a> <a href="#L-104">104</a> <a href="#L-105">105</a> <a href="#L-106">106</a> <a href="#L-107">107</a> <a href="#L-108">108</a> <a href="#L-109">109</a> <a href="#L-110">110</a> <a href="#L-111">111</a> <a href="#L-112">112</a> <a href="#L-113">113</a> <a href="#L-114">114</a> <a href="#L-115">115</a> <a href="#L-116">116</a> <a href="#L-117">117</a> <a href="#L-118">118</a> <a href="#L-119">119</a> <a href="#L-120">120</a> <a href="#L-121">121</a> <a href="#L-122">122</a> <a href="#L-123">123</a> <a href="#L-124">124</a> <a href="#L-125">125</a> <a href="#L-126">126</a> <a href="#L-127">127</a> <a href="#L-128">128</a> <a href="#L-129">129</a> <a href="#L-130">130</a> <a href="#L-131">131</a> <a href="#L-132">132</a> <a href="#L-133">133</a> <a href="#L-134">134</a> <a href="#L-135">135</a> <a href="#L-136">136</a> <a href="#L-137">137</a> <a href="#L-138">138</a> <a href="#L-139">139</a> <a href="#L-140">140</a> <a href="#L-141">141</a> <a href="#L-142">142</a> <a href="#L-143">143</a> <a href="#L-144">144</a> <a href="#L-145">145</a> <a href="#L-146">146</a> <a href="#L-147">147</a> <a href="#L-148">148</a> <a href="#L-149">149</a> <a href="#L-150">150</a> <a href="#L-151">151</a> <a href="#L-152">152</a> <a href="#L-153">153</a> <a href="#L-154">154</a> <a href="#L-155">155</a> <a href="#L-156">156</a> <a href="#L-157">157</a> <a href="#L-158">158</a> <a href="#L-159">159</a> <a href="#L-160">160</a> <a href="#L-161">161</a> <a href="#L-162">162</a> <a href="#L-163">163</a> <a href="#L-164">164</a> <a href="#L-165">165</a> <a href="#L-166">166</a> <a href="#L-167">167</a> <a href="#L-168">168</a> <a href="#L-169">169</a> <a href="#L-170">170</a> <a href="#L-171">171</a> <a href="#L-172">172</a> <a href="#L-173">173</a> <a href="#L-174">174</a> <a href="#L-175">175</a> <a href="#L-176">176</a> <a href="#L-177">177</a> <a href="#L-178">178</a> <a href="#L-179">179</a> <a href="#L-180">180</a> <a href="#L-181">181</a> <a href="#L-182">182</a> <a href="#L-183">183</a> <a href="#L-184">184</a> <a href="#L-185">185</a> <a href="#L-186">186</a> <a href="#L-187">187</a> <a href="#L-188">188</a> <a href="#L-189">189</a> <a href="#L-190">190</a> <a href="#L-191">191</a> <a href="#L-192">192</a> <a href="#L-193">193</a> <a href="#L-194">194</a> <a href="#L-195">195</a> <a href="#L-196">196</a> <a href="#L-197">197</a> <a href="#L-198">198</a> <a href="#L-199">199</a> <a href="#L-200">200</a> <a href="#L-201">201</a> <a href="#L-202">202</a> <a href="#L-203">203</a> <a href="#L-204">204</a> <a href="#L-205">205</a> <a href="#L-206">206</a> <a href="#L-207">207</a> <a href="#L-208">208</a> <a href="#L-209">209</a> <a href="#L-210">210</a> <a href="#L-211">211</a> <a href="#L-212">212</a> <a href="#L-213">213</a> <a href="#L-214">214</a> <a href="#L-215">215</a> <a href="#L-216">216</a> <a href="#L-217">217</a> <a href="#L-218">218</a> <a href="#L-219">219</a> <a href="#L-220">220</a> <a href="#L-221">221</a> <a href="#L-222">222</a> <a href="#L-223">223</a> <a href="#L-224">224</a> <a href="#L-225">225</a> <a href="#L-226">226</a> <a href="#L-227">227</a> <a href="#L-228">228</a> <a href="#L-229">229</a> <a href="#L-230">230</a> <a href="#L-231">231</a> <a href="#L-232">232</a> <a href="#L-233">233</a> <a href="#L-234">234</a> <a href="#L-235">235</a> <a href="#L-236">236</a> <a href="#L-237">237</a> <a href="#L-238">238</a> <a href="#L-239">239</a> <a href="#L-240">240</a> <a href="#L-241">241</a> <a href="#L-242">242</a> <a href="#L-243">243</a> <a href="#L-244">244</a> <a href="#L-245">245</a> <a href="#L-246">246</a> <a href="#L-247">247</a> <a href="#L-248">248</a> <a href="#L-249">249</a> <a href="#L-250">250</a> <a href="#L-251">251</a> <a href="#L-252">252</a> <a href="#L-253">253</a> <a href="#L-254">254</a> <a href="#L-255">255</a> <a href="#L-256">256</a> <a href="#L-257">257</a> <a href="#L-258">258</a> <a href="#L-259">259</a> <a href="#L-260">260</a></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span id="L-1"><a name="L-1"></a>#include&lt;iostream&gt; </span><span id="L-2"><a name="L-2"></a>#include&lt;time.h&gt; </span><span id="L-3"><a name="L-3"></a>//#include &quot;lista_polje.h&quot; </span><span id="L-4"><a name="L-4"></a>#include &quot;lista_pokazivaci.h&quot; </span><span id="L-5"><a name="L-5"></a>using namespace std; </span><span id="L-6"><a name="L-6"></a> </span><span id="L-7"><a name="L-7"></a>int upiszaposlenika(){ </span><span id="L-8"><a name="L-8"></a> cin.ignore(); </span><span id="L-9"><a name="L-9"></a> int minimalno; </span><span id="L-10"><a name="L-10"></a> datrod rodendan; </span><span id="L-11"><a name="L-11"></a> int mjesec; </span><span id="L-12"><a name="L-12"></a> int d; </span><span id="L-13"><a name="L-13"></a> int godina; </span><span id="L-14"><a name="L-14"></a> minimalno=0; </span><span id="L-15"><a name="L-15"></a> char preime[40]; </span><span id="L-16"><a name="L-16"></a> bool rdmj=false; </span><span id="L-17"><a name="L-17"></a> bool programer; </span><span id="L-18"><a name="L-18"></a> bool racunovoda; </span><span id="L-19"><a name="L-19"></a> bool cistac; </span><span id="L-20"><a name="L-20"></a> bool dostavljac; </span><span id="L-21"><a name="L-21"></a> bool kuhar; </span><span id="L-22"><a name="L-22"></a> </span><span id="L-23"><a name="L-23"></a> do{ </span><span id="L-24"><a name="L-24"></a> </span><span id="L-25"><a name="L-25"></a> cout&lt;&lt;&quot;Morate unjeti minimalno 5 zaposlenika zaposlenih na razlicitim pozicijama!!&quot; &lt;&lt; endl; </span><span id="L-26"><a name="L-26"></a> do{ </span><span id="L-27"><a name="L-27"></a> cout &lt;&lt;&quot;Unesite prezime i ime novog zaposlenika (dozvoljeno max 40 znakova): &quot; &lt;&lt; endl; </span><span id="L-28"><a name="L-28"></a> cin.getline(preime,40); </span><span id="L-29"><a name="L-29"></a> }while(strlen(preime)&gt;40); </span><span id="L-30"><a name="L-30"></a> </span><span id="L-31"><a name="L-31"></a> mjesec=0; </span><span id="L-32"><a name="L-32"></a> do{ </span><span id="L-33"><a name="L-33"></a> cout &lt;&lt;&quot;Unesite mjesec rodenja zaposlenika(1-12): &quot;; cin &gt;&gt; mjesec; </span><span id="L-34"><a name="L-34"></a> if(mjesec&lt;1 &amp;&amp; mjesec&gt;12) </span><span id="L-35"><a name="L-35"></a> cout &lt;&lt;&quot;Mjesec mora biti u rasponu od 1-12! Ponovite unos!&quot; &lt;&lt; endl; </span><span id="L-36"><a name="L-36"></a> }while(mjesec&gt;12 || mjesec&lt;1); </span><span id="L-37"><a name="L-37"></a> rodendan.mj=mjesec; </span><span id="L-38"><a name="L-38"></a> d=1; </span><span id="L-39"><a name="L-39"></a> do { </span><span id="L-40"><a name="L-40"></a> cout &lt;&lt;&quot;Unesite dan rodenja zaposlenika(1-31): &quot;; cin &gt;&gt; d; </span><span id="L-41"><a name="L-41"></a> if(mjesec == 2) </span><span id="L-42"><a name="L-42"></a> if(d&gt;28) </span><span id="L-43"><a name="L-43"></a> while(d&gt;28){ </span><span id="L-44"><a name="L-44"></a> cout &lt;&lt;&quot;U 2 mjesecu moze biti maksimalno 28 dana! Ponovite unos dana! &quot; &lt;&lt; endl; </span><span id="L-45"><a name="L-45"></a> cin &gt;&gt; d; </span><span id="L-46"><a name="L-46"></a> } </span><span id="L-47"><a name="L-47"></a> else if(d&lt;1 &amp;&amp; d&gt;31) </span><span id="L-48"><a name="L-48"></a> cout &lt;&lt;&quot;Dan mora biti u rasponu od 0-31! Ponovite unos!&quot; &lt;&lt; endl; </span><span id="L-49"><a name="L-49"></a> } while(d&gt;31 || d&lt;1); </span><span id="L-50"><a name="L-50"></a> rodendan.dan=d; </span><span id="L-51"><a name="L-51"></a> </span><span id="L-52"><a name="L-52"></a> godina=1; </span><span id="L-53"><a name="L-53"></a> do{ </span><span id="L-54"><a name="L-54"></a> cout &lt;&lt;&quot;Unesite godinu rodenja zaposlenika(1940-1998): &quot;; cin &gt;&gt; godina; </span><span id="L-55"><a name="L-55"></a> if(godina&gt;1998 &amp;&amp; godina&lt;1940) </span><span id="L-56"><a name="L-56"></a> cout &lt;&lt;&quot;Godina mora biti u rasponu od 1940-1998! Ponovite unos!&quot; &lt;&lt; endl; </span><span id="L-57"><a name="L-57"></a> }while(godina&gt;1998 || godina&lt;1940); </span><span id="L-58"><a name="L-58"></a> rodendan.god=godina; </span><span id="L-59"><a name="L-59"></a> </span><span id="L-60"><a name="L-60"></a> </span><span id="L-61"><a name="L-61"></a> int odabirdmj; </span><span id="L-62"><a name="L-62"></a> string radnomjesto; </span><span id="L-63"><a name="L-63"></a> </span><span id="L-64"><a name="L-64"></a> do{ </span><span id="L-65"><a name="L-65"></a> cout&lt;&lt;&quot;Odaberite jedno od ponudenih radnih mjesta!&quot; &lt;&lt; endl; </span><span id="L-66"><a name="L-66"></a> cout&lt;&lt;&quot;1. Programer! &quot; &lt;&lt; endl; </span><span id="L-67"><a name="L-67"></a> cout&lt;&lt;&quot;2. Racunovoda! &quot; &lt;&lt; endl; </span><span id="L-68"><a name="L-68"></a> cout&lt;&lt;&quot;3. Cistac! &quot; &lt;&lt;endl; </span><span id="L-69"><a name="L-69"></a> cout&lt;&lt;&quot;4. Dostavljac! &quot; &lt;&lt;endl; </span><span id="L-70"><a name="L-70"></a> cout&lt;&lt;&quot;5. Kuhar! &quot; &lt;&lt; endl; </span><span id="L-71"><a name="L-71"></a> cout&lt;&lt;&quot;----------------------&quot; &lt;&lt; endl; </span><span id="L-72"><a name="L-72"></a> cout&lt;&lt;&quot;Vas odabir: &quot;; cin &gt;&gt;odabirdmj; </span><span id="L-73"><a name="L-73"></a> </span><span id="L-74"><a name="L-74"></a> switch(odabirdmj){ </span><span id="L-75"><a name="L-75"></a> case 1: {cout &lt;&lt;&quot;Zaposlenik radi na poziciji programera! &quot; &lt;&lt; endl; </span><span id="L-76"><a name="L-76"></a> radnomjesto=&quot;Programer&quot;; cout&lt;&lt; endl; </span><span id="L-77"><a name="L-77"></a> programer=true; </span><span id="L-78"><a name="L-78"></a> break; </span><span id="L-79"><a name="L-79"></a> } </span><span id="L-80"><a name="L-80"></a> case 2: {cout&lt;&lt;&quot;Zaposlenik radi na poziciji racunovode! &quot; &lt;&lt; endl; </span><span id="L-81"><a name="L-81"></a> radnomjesto=&quot;Racunovoda&quot;; cout &lt;&lt; endl; </span><span id="L-82"><a name="L-82"></a> racunovoda=true; </span><span id="L-83"><a name="L-83"></a> break; </span><span id="L-84"><a name="L-84"></a> } </span><span id="L-85"><a name="L-85"></a> </span><span id="L-86"><a name="L-86"></a> case 3: {cout&lt;&lt;&quot;Zaposlenik radi na poziciji cistaca! &quot; &lt;&lt; endl; </span><span id="L-87"><a name="L-87"></a> radnomjesto=&quot;Cistac&quot;; cout&lt;&lt; endl; </span><span id="L-88"><a name="L-88"></a> cistac=true; </span><span id="L-89"><a name="L-89"></a> break; </span><span id="L-90"><a name="L-90"></a> } </span><span id="L-91"><a name="L-91"></a> case 4: {cout&lt;&lt;&quot;Zaposlenik radi na poziciji dostavljaca! &quot;&lt;&lt; endl; </span><span id="L-92"><a name="L-92"></a> radnomjesto=&quot;Dostavljac&quot;; cout &lt;&lt; endl; </span><span id="L-93"><a name="L-93"></a> dostavljac=true; </span><span id="L-94"><a name="L-94"></a> break; </span><span id="L-95"><a name="L-95"></a> } </span><span id="L-96"><a name="L-96"></a> case 5: {cout&lt;&lt;&quot;Zaposlenik radi na poziciji kuhara! &quot; &lt;&lt; endl; </span><span id="L-97"><a name="L-97"></a> radnomjesto=&quot;Kuhar&quot;; cout &lt;&lt; endl; </span><span id="L-98"><a name="L-98"></a> kuhar=true; </span><span id="L-99"><a name="L-99"></a> break; </span><span id="L-100"><a name="L-100"></a> } </span><span id="L-101"><a name="L-101"></a> }; </span><span id="L-102"><a name="L-102"></a> }while(odabirdmj!=1 &amp;&amp; odabirdmj!=2 &amp;&amp; odabirdmj !=3 &amp;&amp; odabirdmj != 4 &amp;&amp; odabirdmj !=5); </span><span id="L-103"><a name="L-103"></a> </span><span id="L-104"><a name="L-104"></a> InsertL(preime,rodendan,radnomjesto); </span><span id="L-105"><a name="L-105"></a> </span><span id="L-106"><a name="L-106"></a> cin.ignore(); </span><span id="L-107"><a name="L-107"></a> }while((programer!=true) || (racunovoda!=true) || (cistac!=true) || (dostavljac!=true) || (kuhar!=true)); </span><span id="L-108"><a name="L-108"></a> </span><span id="L-109"><a name="L-109"></a> return 1; </span><span id="L-110"><a name="L-110"></a> } </span><span id="L-111"><a name="L-111"></a> </span><span id="L-112"><a name="L-112"></a> </span><span id="L-113"><a name="L-113"></a> </span><span id="L-114"><a name="L-114"></a>radnik pivot(int i, int j) { </span><span id="L-115"><a name="L-115"></a> srand(time(NULL)); </span><span id="L-116"><a name="L-116"></a> int a; </span><span id="L-117"><a name="L-117"></a> a= j-i; </span><span id="L-118"><a name="L-118"></a> int broj; </span><span id="L-119"><a name="L-119"></a> broj = rand()%a + i; </span><span id="L-120"><a name="L-120"></a> return RetrieveL(broj); </span><span id="L-121"><a name="L-121"></a>} </span><span id="L-122"><a name="L-122"></a>void qsort(int i, int j) { </span><span id="L-123"><a name="L-123"></a> int d; </span><span id="L-124"><a name="L-124"></a> d=0; </span><span id="L-125"><a name="L-125"></a> int t=j-d; </span><span id="L-126"><a name="L-126"></a> radnik as = pivot(i,j); </span><span id="L-127"><a name="L-127"></a> while (d&lt;t) { </span><span id="L-128"><a name="L-128"></a> while (strcmp(RetrieveL(d).oib,as.oib)==1){ </span><span id="L-129"><a name="L-129"></a> d++; </span><span id="L-130"><a name="L-130"></a> } </span><span id="L-131"><a name="L-131"></a> while (strcmp(RetrieveL(t).oib,as.oib)==-1) { </span><span id="L-132"><a name="L-132"></a> t--; </span><span id="L-133"><a name="L-133"></a> } </span><span id="L-134"><a name="L-134"></a> if (strcmp(RetrieveL(d).oib,RetrieveL(t).oib)!=0){ </span><span id="L-135"><a name="L-135"></a> zamjena(d,t); </span><span id="L-136"><a name="L-136"></a> } </span><span id="L-137"><a name="L-137"></a> else if (d!=t) { </span><span id="L-138"><a name="L-138"></a> d++; </span><span id="L-139"><a name="L-139"></a> } </span><span id="L-140"><a name="L-140"></a> } </span><span id="L-141"><a name="L-141"></a> if (i&lt;d-1) qsort(i,d-1); </span><span id="L-142"><a name="L-142"></a> if (j&gt;d+1) qsort(d+1,j); </span><span id="L-143"><a name="L-143"></a>} </span><span id="L-144"><a name="L-144"></a> </span><span id="L-145"><a name="L-145"></a> </span><span id="L-146"><a name="L-146"></a>void razvrstavanje(){ </span><span id="L-147"><a name="L-147"></a> int i; </span><span id="L-148"><a name="L-148"></a> i=0; </span><span id="L-149"><a name="L-149"></a> cout &lt;&lt;&quot;Razvrstavanje zaposlenika pomocu quick sorta!&quot; &lt;&lt; endl; </span><span id="L-150"><a name="L-150"></a> cout &lt;&lt; endl; </span><span id="L-151"><a name="L-151"></a> qsort(0,EndL()-1); </span><span id="L-152"><a name="L-152"></a> while(i&lt;EndL()){ </span><span id="L-153"><a name="L-153"></a> cout &lt;&lt;&quot;OIB zaposlenika: &quot; &lt;&lt; RetrieveL(i).oib &lt;&lt; endl; </span><span id="L-154"><a name="L-154"></a> cout &lt;&lt;&quot;Prezime i ime zaposlenika: &quot; &lt;&lt; RetrieveL(i).pre_ime &lt;&lt; endl; </span><span id="L-155"><a name="L-155"></a> cout &lt;&lt;&quot;Datum rodenja zaposlenika(d/m/g): &quot; &lt;&lt; RetrieveL(i).datum.dan &lt;&lt;&quot;.&quot; &lt;&lt;RetrieveL(i).datum.mj &lt;&lt;&quot;.&quot;&lt;&lt; RetrieveL(i).datum.god&lt;&lt;&quot;.&quot;&lt;&lt; endl; </span><span id="L-156"><a name="L-156"></a> cout &lt;&lt;&quot;Radno mjesto zaposlenika: &quot; &lt;&lt; RetrieveL(i).rad_mjesto &lt;&lt; endl; </span><span id="L-157"><a name="L-157"></a> i++; </span><span id="L-158"><a name="L-158"></a> } </span><span id="L-159"><a name="L-159"></a> } </span><span id="L-160"><a name="L-160"></a> </span><span id="L-161"><a name="L-161"></a> </span><span id="L-162"><a name="L-162"></a>int bris_oib(){ </span><span id="L-163"><a name="L-163"></a> int i; </span><span id="L-164"><a name="L-164"></a> i=0; </span><span id="L-165"><a name="L-165"></a> cin.ignore(); </span><span id="L-166"><a name="L-166"></a> cout&lt;&lt;&quot;Za brisanje prema OIB-u morate upisati OIB zaposlenika! &quot; &lt;&lt; endl; </span><span id="L-167"><a name="L-167"></a> char brisi[12]; </span><span id="L-168"><a name="L-168"></a> cout&lt;&lt;&quot;Unesite OIB: &quot;; cin.getline(brisi,12); </span><span id="L-169"><a name="L-169"></a> while(i&lt;EndL()){ </span><span id="L-170"><a name="L-170"></a> if(strcmp(RetrieveL(i).oib,brisi)==0){ </span><span id="L-171"><a name="L-171"></a> DeleteL(i); </span><span id="L-172"><a name="L-172"></a> return 1; </span><span id="L-173"><a name="L-173"></a> } </span><span id="L-174"><a name="L-174"></a> i++; </span><span id="L-175"><a name="L-175"></a> } </span><span id="L-176"><a name="L-176"></a> return 0; </span><span id="L-177"><a name="L-177"></a> } </span><span id="L-178"><a name="L-178"></a> </span><span id="L-179"><a name="L-179"></a>int bris_rad_mj(){ </span><span id="L-180"><a name="L-180"></a> int i; </span><span id="L-181"><a name="L-181"></a> i=0; </span><span id="L-182"><a name="L-182"></a> cin.ignore(); </span><span id="L-183"><a name="L-183"></a> cout&lt;&lt;&quot;Za brisanje prema radnom mjestu morate unjeti tocan naziv radnog mjesta! &quot; &lt;&lt; endl; </span><span id="L-184"><a name="L-184"></a> string brisi; </span><span id="L-185"><a name="L-185"></a> cout&lt;&lt;&quot;Unesite jedno od radnih mjesta:( Programer )|( Racunovoda )|( Cistac )|( Dostavljac )|( Kuhar )! &quot; &lt;&lt; endl; </span><span id="L-186"><a name="L-186"></a> cout&lt;&lt;&quot;Vas odabir: &quot;; </span><span id="L-187"><a name="L-187"></a> cin &gt;&gt; brisi; </span><span id="L-188"><a name="L-188"></a> while(i&lt;EndL()){ </span><span id="L-189"><a name="L-189"></a> if(RetrieveL(i).rad_mjesto==brisi){ </span><span id="L-190"><a name="L-190"></a> DeleteL(i); </span><span id="L-191"><a name="L-191"></a> return 1; </span><span id="L-192"><a name="L-192"></a> } </span><span id="L-193"><a name="L-193"></a> i++; </span><span id="L-194"><a name="L-194"></a> } </span><span id="L-195"><a name="L-195"></a> return 0; </span><span id="L-196"><a name="L-196"></a> } </span><span id="L-197"><a name="L-197"></a> </span><span id="L-198"><a name="L-198"></a> </span><span id="L-199"><a name="L-199"></a>int main(){ </span><span id="L-200"><a name="L-200"></a> int izbor; </span><span id="L-201"><a name="L-201"></a> bool ima; </span><span id="L-202"><a name="L-202"></a> InitL(); </span><span id="L-203"><a name="L-203"></a> do{ </span><span id="L-204"><a name="L-204"></a> cout &lt;&lt; endl; </span><span id="L-205"><a name="L-205"></a> cout &lt;&lt;&quot;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; IZBORNIK &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&quot; &lt;&lt; endl; </span><span id="L-206"><a name="L-206"></a> cout &lt;&lt;&quot;Odaberite jednu od ponudenih opcija: &quot; &lt;&lt; endl; </span><span id="L-207"><a name="L-207"></a> cout &lt;&lt;&quot;1. Unos novog zaposlenika! &quot; &lt;&lt; endl; </span><span id="L-208"><a name="L-208"></a> cout &lt;&lt;&quot;2. Sortiranje zaposlenika prema OIB-u! &quot; &lt;&lt; endl; </span><span id="L-209"><a name="L-209"></a> cout &lt;&lt;&quot;3. Pretrazivanje i ispis zaposlenika sa istim horoskopskim znakom kao i ja! &quot; &lt;&lt; endl; </span><span id="L-210"><a name="L-210"></a> cout &lt;&lt;&quot;4. Brisanje zaposlenika prema OIB-u &quot; &lt;&lt; endl; </span><span id="L-211"><a name="L-211"></a> cout &lt;&lt;&quot;5. Brisanje prema radnom mjestu!&quot; &lt;&lt; endl; </span><span id="L-212"><a name="L-212"></a> cout &lt;&lt;&quot;0. Izlaz iz programa! &quot; &lt;&lt; endl; </span><span id="L-213"><a name="L-213"></a> cout &lt;&lt;&quot; Vas odabir: &quot;; cin &gt;&gt; izbor; </span><span id="L-214"><a name="L-214"></a> cout &lt;&lt;&quot;-------------------------&quot; &lt;&lt; endl; </span><span id="L-215"><a name="L-215"></a> </span><span id="L-216"><a name="L-216"></a> switch(izbor){ </span><span id="L-217"><a name="L-217"></a> case 1:if(upiszaposlenika()){ </span><span id="L-218"><a name="L-218"></a> cout &lt;&lt;&quot;Uspjesno ste unjeli zaposlenika!&quot; &lt;&lt; endl; </span><span id="L-219"><a name="L-219"></a> </span><span id="L-220"><a name="L-220"></a> ima=true; </span><span id="L-221"><a name="L-221"></a> break; </span><span id="L-222"><a name="L-222"></a> } </span><span id="L-223"><a name="L-223"></a> else{ </span><span id="L-224"><a name="L-224"></a> cout &lt;&lt;&quot;Nesupjeli unos zaposlenika, probajte ponovo!&quot; &lt;&lt; endl; </span><span id="L-225"><a name="L-225"></a> } </span><span id="L-226"><a name="L-226"></a> break; </span><span id="L-227"><a name="L-227"></a> case 2:if(ima!=1){ </span><span id="L-228"><a name="L-228"></a> cout&lt;&lt;&quot;Nema unesenih zaposlenika!! &quot; &lt;&lt; endl; </span><span id="L-229"><a name="L-229"></a> break; </span><span id="L-230"><a name="L-230"></a> } </span><span id="L-231"><a name="L-231"></a> else{ </span><span id="L-232"><a name="L-232"></a> razvrstavanje(); </span><span id="L-233"><a name="L-233"></a> break; </span><span id="L-234"><a name="L-234"></a> } </span><span id="L-235"><a name="L-235"></a> </span><span id="L-236"><a name="L-236"></a> case 4:if(bris_oib()){ </span><span id="L-237"><a name="L-237"></a> cout &lt;&lt;&quot;Uspjesno ste obrisali zaposlenika! &quot; &lt;&lt; endl; </span><span id="L-238"><a name="L-238"></a> break; </span><span id="L-239"><a name="L-239"></a> } </span><span id="L-240"><a name="L-240"></a> else{ </span><span id="L-241"><a name="L-241"></a> cout &lt;&lt;&quot;Brisanje nije uspjelo! &quot; &lt;&lt; endl; </span><span id="L-242"><a name="L-242"></a> break; </span><span id="L-243"><a name="L-243"></a> } </span><span id="L-244"><a name="L-244"></a> case 5:if(bris_rad_mj()){ </span><span id="L-245"><a name="L-245"></a> cout&lt;&lt;&quot;Uspjesno ste obrisali zaposlenika! &quot; &lt;&lt; endl; </span><span id="L-246"><a name="L-246"></a> break; </span><span id="L-247"><a name="L-247"></a> } </span><span id="L-248"><a name="L-248"></a> else{ </span><span id="L-249"><a name="L-249"></a> cout &lt;&lt;&quot;Brisanje nije uspjelo! &quot; &lt;&lt; endl; </span><span id="L-250"><a name="L-250"></a> break; </span><span id="L-251"><a name="L-251"></a> } </span><span id="L-252"><a name="L-252"></a> </span><span id="L-253"><a name="L-253"></a> </span><span id="L-254"><a name="L-254"></a> </span><span id="L-255"><a name="L-255"></a> </span><span id="L-256"><a name="L-256"></a> }; </span><span id="L-257"><a name="L-257"></a> }while(izbor!=0); </span><span id="L-258"><a name="L-258"></a> system(&quot;pause&quot;); </span><span id="L-259"><a name="L-259"></a> return 0; </span><span id="L-260"><a name="L-260"></a> } </span></pre></div> </td></tr></table>
implementacija, lista, pokazivaci, polja