Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h> //za printf i scanf
- #include <conio.h> //za getch()
- #define BROJ_UNOSA 12 //da bi olaksao menjanje broja unosa
- int main()
- {
- unsigned short int niz_putnika[BROJ_UNOSA] = {0}, niz_zarada[BROJ_UNOSA] = {0}, //nizovi ciji su elementi broj putnika i zarada po deonici
- min = 0, max = 0,
- suma_putnika = 0, suma_zarada = 0;
- char in_min = 0, in_max = 0, i, provera;
- float prosek; //za racunanje zarade
- printf("\nMolim unesite broj putnika po deonicama puta.\n\n");
- for (i = 0; i < BROJ_UNOSA; ++i)
- {
- printf("Koliko je bilo putnika na %hu. deonici? >> ", i+1); //jer niz pocinje od nultog clana
- do
- {
- fflush(stdin); //ciscenje bafera
- provera = scanf("%hu", &niz_putnika[i]); //provera je jednaka 1 samo kad se tip unetog podatka poklapa sa trazenim tipom podatka
- if (provera < 1 || niz_putnika[i] > 56) //56 je broj mesta u autobusu
- {
- printf("\nLos unos.\nMolim unesite opet broj putnika: ");
- }
- }
- while (provera < 1 || niz_putnika[i] > 56); //vraca na unos sve dok se ne unese dobar podatak
- suma_putnika += niz_putnika[i]; //sumira broj prevezenih putnika
- }
- for (i = 0; i < BROJ_UNOSA; ++i)
- {
- unsigned short int zarada = 0; //zarada - lokalna promenjiva koja belezi zaradu po deonici
- if (niz_putnika[i] > 5)
- {
- zarada = 18;
- if (niz_putnika[i] > 25)
- {
- zarada = 153;
- if (niz_putnika[i] > 42)
- {
- zarada = 180;
- }
- }
- }
- niz_zarada[i] = zarada; //upisivanje zarade na i-toj deonici u niz zarada
- suma_zarada += zarada; //sumira ukupnu zaradu
- }
- for (i = 1, min = niz_zarada[0]; i < BROJ_UNOSA; ++i) //trazi minimalnu zaradu
- {
- if (niz_zarada[i] < min)
- {
- in_min = i; //broj deonice na kojoj je zarada bila najmanja
- min = niz_zarada[i]; //najmanja zarada
- }
- }
- for (i = 1, max = niz_zarada[0]; i < BROJ_UNOSA; ++i)
- {
- if (niz_zarada[i] > max)
- {
- in_max = i; //broj deonice na kojoj je zarada bila najveca(in je za index)
- max = niz_zarada[i]; //najveca zarada
- }
- }
- prosek = (float)suma_zarada / BROJ_UNOSA; //(float) - menja tip promenjive suma_zarada u float da deljenje ne bi bilo celobrojno
- printf("\nVozac je ukupno zaradio %hu dinara prevezavsi ukupno %hu putnika.", suma_zarada, suma_putnika);
- printf("\nVozac je u proseku zaradio %.2f dinara na sat.", prosek/2); //prosek delimo s 2 jer 1 deonica predstavlja 2 radna sata
- printf("\nVozac je najmanje zaradio na %hu.deonici i to %hu dinara, prevezavsi %hu putnika.", in_min + 1, min, niz_putnika[in_min]); //in_min + 1 jer niz pocinje od nultog clana
- printf("\nVozac je najvise zaradio na %hu.deonici i to %hu dinara, prevezavsi %hu putnika.", in_max + 1, max, niz_putnika[in_max]); //in_max + 1 jer niz pocinje od nultog clana
- getch(); //da bi program ostao na ekranu dok ne pritisnemo nesto na tastaturi
- return 0;
- }
Add Comment
Please, Sign In to add comment