Advertisement
filip710

PROG2 LV10 Z2

Jun 29th, 2016
555
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.88 KB | None | 0 0
  1. /* Napišite C program koji će iz datoteke racun.txt učitati n artikala u račun. Datoteka
  2. racun.txt je već zadana, a sadrži ime kupca, ime prodavača, broj artikala u računu i
  3. podatke o svakom od artikala. Program treba ispisati ukupan iznos računa na ekran
  4. u obliku: „Ukupan iznos racuna: %.2f“. Postavljen je oblik struktura, primjetite
  5. da je unutar struktura svu memoriju za polja (bilo znakova bilo struktura) potrebno
  6. alocirati dinamički. Kako je struktura zadana, na osnovu tipova podataka članova
  7. strukture i oblika podataka u ulaznoj datoteci možete zaključiti kako trebate upisati
  8. ulazne podatke*/
  9.  
  10. //MAIN
  11.  
  12. #include "myheader.h"
  13. #include <stdio.h>
  14. #include <stdlib.h>
  15.  
  16. int main(){
  17.     char tekst[100];
  18.     int i = 0;
  19.     float suma = 0;
  20.     Racun novi;
  21.     FILE *f;
  22.     f = fopen("racun.txt", "r");
  23.     if(f !=NULL){
  24.     int brojProizvoda = 0;
  25.     fgets(tekst, sizeof(tekst), f);
  26.     fgets(tekst, sizeof(tekst), f);
  27.     fscanf(f, "%d", &brojProizvoda);
  28.      fgets(tekst, sizeof(tekst), f);
  29.     novi.artikli = (Artikl*) malloc(brojProizvoda*sizeof(Artikl));
  30.    
  31.     for(i=0; i<brojProizvoda; i++){
  32.         Artikl current = novi.artikli[i];
  33.         fgets(tekst, sizeof(tekst), f);
  34.         fscanf(f, "%f", &current.cijena);
  35.         fscanf(f, "%d", &current.kolicina);
  36.         fgets(tekst, sizeof(tekst), f);
  37.  
  38.         printf("Naziv : %s Cijena: %f, kolicina %d\n", tekst, current.cijena, current.kolicina);
  39.         suma +=(current.cijena * current.kolicina);
  40.     }
  41.     printf("REZULTATI:\n");
  42.     printf("Ukupan iznos racuna: %.2f.", suma);
  43.     fclose(f);
  44.     }
  45.     return 0;
  46. }
  47.  
  48. //HEADER
  49. #ifndef MYHEADER_H
  50. #define MYHEADER_H
  51.  
  52. typedef struct artikl {
  53.   char *naziv;
  54.   float cijena;
  55.   int kolicina;
  56. } Artikl;
  57. typedef struct racun {
  58.   char *prodavac;
  59.   char *kupac;
  60.   Artikl *artikli;
  61.   int  broj_artikala;
  62.   float ukupan_iznos;
  63. } Racun;
  64.  
  65. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement