Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
- /* run this program using the console pauser or add your own getch, system("pause") or input loop */
- typedef struct hrana{
- char ime[10];
- int cena;
- }hrana;
- void ispisiListu(hrana lista[], int n); // za ispis cele liste
- void copy_string(char *target, char *source) ; // za kopiranje iz ulaza u string koji se nalazi u listi
- int ukupnaZarada(FILE *f,hrana lista[],int *n); // za racunanje ukupne zarade bez priloga, ovo n sluzi da bi se vratila duzina liste koja se posle koristi
- int unesiPriloge(FILE *f,hrana lista[], int n, int *naj);// za unos priloga
- void ispisiZaradu(FILE *f,int n, float d, int m );//ispisuje zaradu u fajl rez.txt
- float izracunajSrednjuVrednost(int cenap, int brutoz, int n);//racuna srednju vrednost jela sa prilozima
- int main(int argc, char *argv[]) {
- FILE *f = fopen("porudzbina.txt","r");
- FILE *rez = fopen("rez.txt","w");
- int n;
- int najskuplji;// ovde upisujemo najskuplji prilog
- float srednjaVrednost;
- hrana lista[10];
- int bruto_zarada = ukupnaZarada(f,lista,&n);
- ispisiListu(lista,n);
- int cena_priloga = unesiPriloge(f, lista, n, &najskuplji);//dajemo najskupljeg preko adrese jer funkcija moze da vrati samo jednu vrednost
- int netoZarada = bruto_zarada - cena_priloga;
- srednjaVrednost = izracunajSrednjuVrednost(cena_priloga, bruto_zarada, n);
- printf("\t\nPodaci o zaradi, srednjoj vrednosti jela i najskupljem prilogu se nalaze u rez.txt\n");
- ispisiZaradu(rez, netoZarada, srednjaVrednost, najskuplji);
- return 0;
- }
- int ukupnaZarada(FILE *f,hrana lista[],int *n){
- int cena;
- char ime[10];
- int i = 0;
- int zarada = 0;
- while(fscanf(f,"%s %d", lista[i].ime, &lista[i].cena) != EOF)
- {
- zarada+= lista[i].cena;
- i++;
- }
- //ispisiListu(lista);
- *n = i;
- return zarada;
- }
- int unesiPriloge(FILE *f,hrana lista[], int n, int *naj){
- printf("---UNOSENJE CENE PRILOGA ZA POJEDINACNO JELO---\n");
- int i;
- int max;
- int prilog;
- int ukupno = 0;
- for(i = 0; i < n; i++){
- printf("-> unesite cenu priloga za %s:",lista[i].ime);
- scanf("%d",&prilog);
- if(i == 0){
- max = prilog;
- }else if(prilog > max){
- max = prilog;
- }
- ukupno+=prilog;
- }
- *naj = max;
- return ukupno;
- }
- void ispisiListu(hrana lista[], int n){
- int i;
- printf("hrana koja je prodata danas :\n");
- for(i = 0; i < n;i++){
- printf("%s %d\n",lista[i].ime,lista[i].cena);
- }
- printf("\n ---------------------- \n");
- }
- void copy_string(char *target, char *source) {
- while (*source) {
- *target = *source;
- source++;
- target++;
- }
- *target = '\0';
- }
- float izracunajSrednjuVrednost(int cenap, int brutoz, int n){
- return (cenap + brutoz) / n;
- }
- void ispisiZaradu(FILE *f, int n, float d, int m){
- fprintf(f,"ukupna zarada restorana je : %d dinara \n",n);
- fprintf(f,"srednja vrednost jela sa prilozima je :%.2f, a najskuplji prilog je kostao: %d dinara.", d, m);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement