|
A nagy testvér figyel téged! #10
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 írja a standard kimenetre a dolgozók neveit azok hossza szerint növekvő
sorrendben! Ha kettő vagy több dolgozónak is ugyanolyan hosszú lenne a neve, akkor az ő
neveiket lexikografikusan növekvő sorrendben nyomtassa a kimenetre! Ügyeljen rá, hogy a
kimeneten minden dolgozó neve pontosan egyszer szerepeljen!
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
Molly Peter George
letöltés szöveges állományként
|
|