Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Header
- #ifndef HEADER_H
- #define HEADER_H
- typedef struct Datum {
- int dan;
- int mjesec;
- int godina;
- }DATUM;
- typedef struct Igrac {
- char ime[15];
- char prezime[15];
- DATUM rodjenje;
- int level;
- float novac;
- }IGRAC;
- IGRAC* Alokacija(int);
- void Upis(FILE*, IGRAC*, int);
- void Ispis(FILE*, IGRAC*, int);
- #endif
- Funkcije
- #define _CRT_SECURE_NO_WARNINGS
- #include <stdio.h>
- #include <stdlib.h>
- #include "Header.h"
- IGRAC *Alokacija(int n) {
- return (IGRAC*)calloc(n, sizeof(IGRAC));
- }
- void Upis(FILE *dat, IGRAC *igr, int n) {
- dat = fopen("Igraci.bin", "wb");
- for (int i = 0; i < n; i++) {
- getchar();
- fprintf(dat, "Igrac %d [", i + 1);
- printf("Unesite ime igraca:\n");
- scanf("%s", (igr + i)->ime);
- printf("Unesite prezime igraca:\n");
- scanf("%s", (igr + i)->prezime);
- printf("Unesite datum rodjenja igraca:\n");
- scanf("%d%d%d", &(igr + i)->rodjenje.dan, &(igr + i)->rodjenje.mjesec, &(igr + i)->rodjenje.godina);
- printf("Unesite level igraca:\n");
- scanf("%d", &(igr + i)->level);
- printf("Unesite novac igraca:\n");
- scanf("%f", &(igr + i)->novac);
- fprintf(dat, "%s, %s, %d.%d.%d., %d, %.2f]\n", (igr + i)->ime, (igr + i)->prezime, (igr + i)->rodjenje.dan, (igr + i)->rodjenje.mjesec, (igr + i)->rodjenje.godina, (igr + i)->level, (igr + i)->novac);
- }
- fclose(dat);
- }
- void Ispis(FILE *dat, IGRAC *igr, int n) {
- dat = fopen("Igraci.bin", "rb");
- fread(igr, sizeof(IGRAC), sizeof(igr)/sizeof(IGRAC), dat);
- fprintf(stdout, "Spremljeno %d igraca.\n", n);
- for (int i = 0; i < n; i++) {
- fprintf(stdout, "Ime: %s\nPrezime: %s\nDatum rodjenja: %d.%d.%d.\nLevel: %d\nNovac: %.2fkn\n", (igr + i)->ime, (igr + i)->prezime, (igr + i)->rodjenje.dan, (igr + i)->rodjenje.mjesec, (igr + i)->rodjenje.godina, (igr + i)->level, (igr + i)->novac);
- }
- fclose(dat);
- free(igr);
- }
- Main
- #define _CRT_SECURE_NO_WARNINGS
- #include <stdio.h>
- #include <stdlib.h>
- #include "Header.h"
- int main() {
- int n = 0, broj = 0;
- IGRAC *igraci = NULL;
- FILE *datoteka = NULL;
- while (n != 3) {
- printf("Izaberite radnju:\n");
- printf("1: Upisivanje u datoteku\n2: Citanje iz datoteke\n3: Kraj programa\n");
- scanf("%d", &n);
- switch (n) {
- case 1:
- {
- printf("Unesite broj igraca:\n");
- scanf("%d", &broj);
- igraci = Alokacija(broj);
- Upis(datoteka, igraci, broj);
- break;
- }
- case 2:
- {
- Ispis(datoteka, igraci, broj);
- break;
- }
- case 3:
- {
- printf("Kraj programa.\n");
- break;
- }
- default:
- printf("Pogresan unos.\n");
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement