Znaczenie kodu

0

Witam, mam prośbę, czy ktoś mógłby mi wytłumaczyć, co w poniższym kodzie oznacza
int a=Szukanie_pracownika(L,ile_pracownikow,nr_pracownika). z góry dziękuję

#include <stdio.h>
#include <cstdlib>
#include <cmath>
#include <iostream>
#include <iomanip>
using namespace std;
const int MAX=100;
int prac[100];
struct Baza
{
	char imie[10];
    char nazwisko[20];
    int nr_pracownika;
	char dzial[20];
	int zarobki;

};

void Dodanie_pracownika (Baza[], int &ile_pracownikow);
void Usuwanie_pracownika (Baza[], int &ile_pracownikow);
int Szukanie_pracownika (Baza[], int ile_pracownikow, int nr_pracownika);
void Wyswietlenie_pracownika (Baza[], int ile_pracownikow);

int main()
{
    Baza L[MAX];
    int wybor, ile_pracownikow=0;
    
    do 
	{
		cout<<"Witaj w bazie danych pracownikow"<<endl;
		cout<<endl;
		cout<<"1. Dodaj pracownika do bazy"<<endl;
		cout<<"2. Usun pracownika z bazy"<<endl;
		cout<<"3. Szukaj pracownika"<<endl;
		cout<<"4. Wyswietl cala baze pracownikow"<<endl;
		cout<<"0. Wyjscie"<<endl;
		cout<<"Wybierasz: "; cin>>wybor;
        if (wybor!=0)
	    {
           system ("cls");
        }
        
        switch(wybor)
        {
                     case 1: Dodanie_pracownika(L, ile_pracownikow); break;
                     case 2: Usuwanie_pracownika(L, ile_pracownikow); break;
                     case 0: break;
        }
}
    while (wybor!=0);

  
return 0;
}

void Dodanie_pracownika (Baza L[], int &ile_pracownikow)
{
     int nr_pracownika;
     int a=Szukanie_pracownika(L,ile_pracownikow,nr_pracownika);
     
     if (ile_pracownikow<MAX)
     {
        cout<<"Podaj nr pracownika: "<<endl; 
        cin>>nr_pracownika;
        if (a==-1)
        {
         L[ile_pracownikow].nr_pracownika==nr_pracownika;
         cout<<"Podaj imie: ";
         cin>>L[ile_pracownikow].imie;
         cout<<"Podaj nazwisko: ";
         cin>>L[nr_pracownika].nazwisko;
         cout<<"Podaj dzial: ";
         cin>>L[ile_pracownikow].dzial;
         cout<<"Podaj zarobki: ";
         cin>>L[ile_pracownikow].zarobki;
         ile_pracownikow++;
      }
      else
      {
         cout<<"Pracownik istnieje w bazie"<<endl;
         cout<<endl;
      }
   }
   else
   {
      cout<<"Brak miejsca"<<endl;
      cout<<endl;
   }
}

void Usuwanie_pracownika (Baza[], int &ile_pracownikow)
{
    
}

int Szukanie_pracownika (Baza L[], int ile_pracownikow, int nr_pracownika)
{
    for (int i=0; i<ile_pracownikow; i++)
    if (L[i].nr_pracownika==nr_pracownika)
    return (ile_pracownikow);
}

void Wyswietlenie_pracownika (Baza[], int ile_pracownikow)
{
     if (ile_pracownikow>0)
 {  
   for (int i=0; i<ile_pracownikow; i++)
   {
       cout<<"Imie: "<<endl;
       cout<<"Nazwisko: "<<endl;
       cout<<"Nr_pracownika: "<<endl;
       cout<<"Dzial:  "<<endl;
       cout<<"Zarobki: "<<endl;
       cout<<endl;
   }
}
 else
 {
    cout<<"Brak pracownika w bazie"<<endl;
 }
}
0

ale ja nie zamierzam isc z nim na zaliczenie, ten program mialam na wykladzie

0

Funkcja Szukaj_pracownika zwraca jakąś wartość i przypisuje ją do zmiennej a.
IMO jest ona bezsensu.

0

a jakis pomysl na zapisanie tego w inny sposob?

0

Skoro chcesz wyszukać konkretnego pracownika, znając jego nr identyfikacyjny, to możesz zwracać go jako obiekt.

0

tam powinno być raczej

return i;
return -1;

w miejscu gdzie jest

return (ile_pracownikow);

bo inaczej to imo bez sensu

0

a w jaki sposób mam to zapisać? niestety, ale programowanie nie jest moją mocną stroną, uczę się go od niedawna

ok, a fragment ((a=Szukaj_produktow(L,ile_artykulow,kod))==-1) jak zapisac w inny sposob? wie ktos moze?

0

Mówisz, że było na wykładzie, a chyba już 2 semestr trwa, więc nie tak "od niedawna"...
Poczytaj jakiś kurs/książkę, podstawy na temat programowania strukturalnego - bo tak, to co chwile będziesz pytać o każdą pierdołę z tego kodu i uwierz mi - nic z tego nie będziesz umiała.

0

nie o to mi chodzi, chcialabum zapisac to w w ogole inny sposob, nie wiem dlaczego a jest przyrownane do -1 a nie innej wartosci, chcialabym tego uniknac

a jednak, takie rzeczy sa na wykładzie, z palca sobie tego nie wyssałam, poza tym zapytałam tylko o jedną linijkę a od razu są zarzuty, ze będę pytać o więcej, cóż, dzięki za pomoc

1 użytkowników online, w tym zalogowanych: 0, gości: 1