Untitled
unknown
plain_text
2 months ago
1.6 kB
7
Indexable
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "myheader.h"
#define MAX 256
void makni_novi_red(char *str) {
str[strcspn(str, "\n")] = 0;
}
int main() {
FILE *fp = fopen("racun.txt", "r");
if (fp == NULL) {
printf("Greska pri otvaranju datoteke.\n");
return 1;
}
Racun r;
char buffer[MAX];
fgets(buffer, MAX, fp);
makni_novi_red(buffer);
r.prodavac = (char*)malloc(strlen(buffer) + 1);
strcpy(r.prodavac, buffer);
fgets(buffer, MAX, fp);
makni_novi_red(buffer);
r.kupac = (char*)malloc(strlen(buffer) + 1);
strcpy(r.kupac, buffer);
fscanf(fp, "%d\n", &r.broj_artikala);
r.artikli = (Artikl*)malloc(r.broj_artikala * sizeof(Artikl));
for (int i = 0; i < r.broj_artikala; i++) {
fgets(buffer, MAX, fp);
makni_novi_red(buffer);
r.artikli[i].naziv = (char*)malloc(strlen(buffer) + 1);
strcpy(r.artikli[i].naziv, buffer);
fscanf(fp, "%f\n", &r.artikli[i].cijena);
fscanf(fp, "%d\n", &r.artikli[i].kolicina);
}
fclose(fp);
r.ukupan_iznos = 0;
for (int i = 0; i < r.broj_artikala; i++) {
r.ukupan_iznos += r.artikli[i].cijena * r.artikli[i].kolicina;
}
printf("REZULTATI:\n");
printf("Ukupan iznos racuna: %.2f\n", r.ukupan_iznos);
for (int i = 0; i < r.broj_artikala; i++) {
free(r.artikli[i].naziv);
}
free(r.artikli);
free(r.prodavac);
free(r.kupac);
return 0;
}Editor is loading...
Leave a Comment