|
A nagy testvér figyel téged! #6
Adott a következő fejlécállomány:
myheader.h
#ifndef _MYHEADER_H #define _MYHEADER_H 1
struct element { char name[20]; int hour; int minute; };
#endif /* myheader.h */
letöltés szöveges állományként
Írjon programot, amelynek egyetlen parancssori argumentuma van, egy bináris állomány neve! A
bináris állomány struct element típusú rekordjaiban dolgozóknak egy épületbe
történő be- és kilépési idejei találhatók. A dolgozókat a nevükkel azonosítjuk, nincs két
azonos nevű dolgozó. Az adatokat az épület nyitásától gyűjtjük, és feltételezhetjük, hogy az
épület a nyitáskor üres volt. Amikor egy dolgozó be- vagy kilép az épületből, egy-egy újabb
rekord kerül rögzítésre ebbe az állományba.
A programja határozza meg és írja a standard kimenetre a példa kimenetben megadott módon,
hogy mekkora volt a forgalom az egyes órákban a nap folyamán! Az időpontokat (az órákat)
növekvő sorrendben sorolja fel, de csak azok az időpontok jelenjenek meg a felsorolásban,
amelyekben történt tényleges ki- vagy befelé történő mozgás!
Egy employees.bin bináris állományt generáló példaprogram
#include <stdio.h> #include <stdlib.h>
#include "myheader.h"
int main() { struct element t[] = { {"Peter", 8, 0}, {"Molly", 8, 5}, {"George", 8, 10}, {"Peter", 9, 0}, {"George", 10, 15} }; FILE *f = fopen("employees.bin", "wb"); fwrite(t, sizeof(t), 1, f); fclose(f); return EXIT_SUCCESS; }
letöltés szöveges állományként
Parancssori argumentumok
employees.bin
letöltés szöveges állományként
A futtatás eredménye a standard kimeneten
8: 3 9: 1 10: 1
letöltés szöveges állományként
|
|